Faust plugin builder - cv in/out?

Is CV working in the Faust plugin builder (MOD Cloud Builder)? Control Voltage isn’t listed in the Plugin Category list. Just thought it worth asking since I’m not having much luck getting CV outputs with a signal analysis → CV plugin I’m trying to write. If Faust CV should work, I’ll keep trying. (Any hints are welcome - could it be to do with not having a full Mod gui? None of the “sardine can” CV plugins I’ve tried from the beta store so far work).

hey @flump, I believe that @dreamer can give us a hand and can act as a “truth source” here.

I don’t know anything about Faust though …

But basically these are just audio ports that have some additional information tagged on to them.
We have CV ports in the Heavy compiler DPF/LV2 target that work similarly.

According to @falkTX he believes that it’s possible to make it support, but the support is not yet available (he also told me that you maintain that part @dreamer :slight_smile: )

Thanks for your answers. I found a simple fix. In case it’s useful for anyone, here’s what works for me:

  • build and install the plugin with mod online builder
  • copy the built lv2 from mod device to your computer (pw is mod)…

scp -r root@192.168.51.1:/root/.lv2/your_plugin.lv2 ./

  • generate the mod interface with modsdk
  • edit the generated your_plugin.ttl file to make the cv port visible…
    change the line for your port:
    a lv2:OutputPort, lv2:ControlPort ;
    to:
    a lv2:CVPort, lv2:OutputPort, mod:CVPort ;
  • reinstall the modified plugin…

tar cz your_plugin.lv2 | base64 | curl -F ‘package=@-’ http://192.168.51.1/sdk/install

4 Likes

That’s quite a smart workaround @flump :slight_smile:
Now I’m excited to try what you are “cooking” :wink:

Yes, to put it briefly, Faust CV seems broken since it isn’t yet really “first-class” in the MOD Cloud Builder.

CV in MOD is still essentially simply audio-rate ports with additional information added. Although Faust is delighted to spew out signals, they are either ignored or handled as ordinary control/audio since the builder/UI layer does not immediately mark them as CV ports. This is also the reason why the beta “sardine can” CV plugins seem inconsistent—different toolchain, same constraint.

Your intuition about the GUI is correct, however the LV2 port typing—not the GUI—is what prevents it. MOD will not route the port as CV, regardless of how accurate the DSP is, unless it is specifically stated as lv2:CVPort (and mod:CVPort).

In terms of DSP, what you’re doing with signal analysis → CV is OK. That TTL information step is the precise component that is lacking. After the port is retyped, MOD handles it properly, and all of a sudden, everything “works.” This is unpleasant, but it makes sense with the builder’s present level of Faust support.

Yes, Faust CV is capable of working on MOD, however it is currently limited to manual LV2 surgery. This kind of workaround is really the only option till the builder offers CV as a category or auto-tags those ports. Not attractive, but completely true.

1 Like