Here Jofemodo, working on zynthian project.
We (dcoreman, baggypants, mheidt & me) have developed a little tool that can convert presets from native formats to LV2 banks. This is the list of currently supported native formats:
+ DX7 SysEX files (to Dexed LV2 => https://github.com/dcoredump/dexed/tree/native-lv2)
+ OBXD FXB files (to OBXd LV2 => https://github.com/DISTRHO/DISTRHO-Ports)
+ synthV1 (https://synthv1.sourceforge.io/)
+ padthv1 (https://padthv1.sourceforge.io/)
Other formats can be easily implemented, given that you understand enough of the the native format. We tried to make code simple and modular:
https://gitlab.com/Jofemodo/preset2lv2
Also it's available as a pip package:
https://pypi.org/project/preset2lv2/
You know, simply type:
Code: Select all
$ sudo pip3 install preset2lv2
Code: Select all
$ preset2lv2 --h
usage: preset2lv2 [-h] [-b BANK] [-m] format path
Convert native presets to LV2.
positional arguments:
format Source preset format: synthv1, padthv1, dx7syx,
obxdfxb
path Source preset dir or filepath
optional arguments:
-h, --help show this help message and exit
-b BANK, --bank BANK LV2 bank name
-m, --multibank Generate a multi-bank LV2-Bundle. By default, a
separated LV2-bundle is generated for each bank.
Code: Select all
$ preset2lv2 dx7syx my_precious_sounds.syx
Code: Select all
$ preset2lv2 dx7syx my_precious_library
Code: Select all
$ preset2lv2 -m obxdfxb my_obx_library
Generated LV2-bundles use the "bank" extension, as described in the specs:
http://lv2plug.in/ns/ext/presets/#Bank
I couldn't find any implementation example nor extra information apart the few lines from the specs, so i hope i understand correctly.
We have implemented the LV2 bank extension in the patched jalv version we use for zynthian. Also have integrated the preset2lv2 converter in zynthian's webconf tool, allowing to upload LV2 & native presets to your zynthian using a web browser.
I hope you enjoy it ...