grame-cncm / faust

Functional programming language for signal processing and sound synthesis
http://faust.grame.fr
Other
2.59k stars 325 forks source link

Cannot use a synth as lv2 instrument #1015

Open rubberplayer opened 6 months ago

rubberplayer commented 6 months ago
  1. I wrote a simple synth using faust.

faust2jack mysynth does compile a nice gtk2 app: midi input works, sound output works.

  1. Now if I want to use my synth as a lv2 instrument (here in Ardour)

faust2lv2 mysynth produces as expected

mysynth.so
mysynth.ttl
manifest.tll
  1. Once installed (in my case, on debian 12.5, copied to /usr/lib/lv2)

    • the plugin is listed by lv2ls
    • the plugin is listed in ardour effects, but not as an instrument.
  2. If I modify the lines in mysynth.ttl

<https://faustlv2.bitbucket.io/grosynth>
       a lv2:Plugin ;

to

<https://faustlv2.bitbucket.io/grosynth>
       a lv2:InstrumentPlugin ;

Now Ardour sees it as a LV2 instrument, but no sound is output (all other lv2 instruments work correctly in the same Ardour instance).

5.

Reading the faust2lv2 script, I do not see any related command switch. I see some mentions of "(For instruments, the lv2:InstrumentPlugin type will be added automatically)" but it's obviously not the case.

Am I missing something, or is this a limitation or bug of the lv2 production in faust ?

Thanks !


version : faust-master (2024.05.05) compiled from git on debian 12.5

sletz commented 6 months ago

Hoping @agraef who wrote the faust2lv2 tool can help here.

josmithiii commented 6 months ago

In the meantime, JUCE added lv2 support in JUCE 7, fyi, so faust2juce might be worth a try, even if just for analyzing the different outputs.