From f827f86a25572a05db3e86372b78c30a5b5d03b5 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 5 Apr 2021 00:39:10 +0200 Subject: [PATCH] Generate LV2 MIDI binding for CC 0 to 127 --- cmake/LV2Config.cmake | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake/LV2Config.cmake b/cmake/LV2Config.cmake index b9bd2791..11330812 100644 --- a/cmake/LV2Config.cmake +++ b/cmake/LV2Config.cmake @@ -47,6 +47,7 @@ function(sfizz_lv2_generate_controllers_ttl FILE) file(WRITE "${FILE}" "# LV2 parameters for SFZ controllers @prefix atom: . @prefix lv2: . +@prefix midi: . @prefix patch: . @prefix rdfs: . @prefix sfizz: <${LV2PLUGIN_URI}#> . @@ -58,8 +59,20 @@ function(sfizz_lv2_generate_controllers_ttl FILE) sfizz:cc${_i} a lv2:Parameter ; rdfs:label \"Controller ${_i}\" ; - rdfs:range atom:Float . + rdfs:range atom:Float") + + if(_i LESS 128) + math(EXPR _digit1 "${_i}>>4") + math(EXPR _digit2 "${_i}&15") + string(SUBSTRING "0123456789ABCDEF" "${_digit1}" 1 _digit1) + string(SUBSTRING "0123456789ABCDEF" "${_digit2}" 1 _digit2) + file(APPEND "${FILE}" " ; + midi:binding \"B0${_digit1}${_digit2}00\"^^midi:MidiEvent . ") + else() + file(APPEND "${FILE}" " . +") + endif() endforeach() file(APPEND "${FILE}" "