root@zynthian:/zynthian/zynthian-sw/plugins/surge# cmake --build build --config Release --target Surge-LV2-Packaged
-- Found Git: /usr/bin/git (found version "2.20.1")
-- Setting up surge version
-- git hash is 0db9dbe3 and branch is main
-- buildhost is zynthian.fritz.box
-- buildarch is armv7l
-- Developer Local Build
-- Using SURGE_VERSION=1.7.main.0db9dbe3
-- Configuring /zynthian/zynthian-sw/plugins/surge/build/geninclude/version.cpp
[ 0%] Built target git-info
[ 0%] Built target surge-shared
Scanning dependencies of target surge-lv2-dll
[ 0%] Building CXX object CMakeFiles/surge-lv2-dll.dir/geninclude/version.cpp.o
[ 0%] Linking CXX shared library libsurge-lv2-dll.so
[100%] Built target surge-lv2-dll
Packaging up LV2 component
Unable to load '/usr/share/Surge/paramdocumentation.xml'
Unable to parse
Error is:
Failed to open file at row=0 col=0
[100%] Built target Surge-LV2-Packaged
@jofemodo, I try the last image but surge is not compiled, instead there is a file Surge.lv2 in zynthian plugin directory.
When searching in the log, there is only this for Surge :
Package ‘surge’ is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Reading package lists…
Building dependency tree…
Reading state information…
libxcb-cursor-dev is already the newest version (0.1.1-4).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Cloning into ‘zynthian-surge.lv2’…
Checking out files: 93% (2266/2411)
Checking out files: 94% (2267/2411)
Checking out files: 95% (2291/2411)
Checking out files: 96% (2315/2411)
Checking out files: 97% (2339/2411)
Checking out files: 98% (2363/2411)
Checking out files: 99% (2387/2411)
Checking out files: 100% (2411/2411)
Checking out files: 100% (2411/2411), done.
Cloning into ‘mclk.lv2’…
Just FYI we released Surge 1.7.0 this morning on our website and it includes all the ARM changes discussed here. I’ve also let @falkTX know so he can update the kx repository accordingly. Thanks for your help all.
I think a problem is the lack of a conversion tool for the presets, or?
I took a look if I had a chance to write one in perl or python but I have some problems to match the values from the original data with one of the already converted (via jalv.gtk, I think) patches.
Converting in perl or python is gonna kill you. Each of the 600 parameters has a different scale to map from patch value to linear [0,1] value which you need to put out, and then you also need the base 64 encoded patch which is what really drives the synth anyway.
I think the way to convert the patches is to script the LV2 C++ with python to instantiate a synth, open a patch, and save it with the LV2 save path. In theory lilv should let you do this but I’m not an expect. Then you just do a simple loop in C++ like this one
which has an “LV2 save” in there - whatever an LV2 save looks like.
I tried to figure out how to do this quickly but I just don’t know the LV2 APIs well enough. If you can give me a bit of C++ which given an LV2 object will give you the LV2 patch back it is easy for me to bind that in a loop for you though.