Ciaramella to faust2xx machinery converter?

Started by sletz, Jan 18, 2023, 05:26 PM

sletz

A possible idea to "bridge" the tools would be to have a Ciaramella => Faust dsp subclass generator. Basically it means generating a C++ subclass of the dsp base class, then possibly using the faust2xx existing tools using the so-called -inj option to take benefit of them starting from Ciaramella code.

I did an almost working basic implementation before 2022 SMC. Are you Ciaramella guys interested by this kind of approach?

stefano

Yeah, that sounds like a good thing to have, absolutely.

I guess we haven't talked after the SMC, but essentially we were a bit scared that having to deal with the Faust signal API would quickly become unsustainable as we're trying to peek into multi-rate processing and true conditionals/loops, which would be problematic.

On the other hand this looks absolutely good, and it's just a matter of defining an output template. Plus, I think we should adopt it also for Brickworks (our C-coded library of DSP modules) at some point.

I remember you had the code somewhere on github, right?
Personal website: https://dangelo.audio/

sletz

Here: https://github.com/sletz/Zampogna
But behind your latest developments, and I remember the generated code was not completely correct. That is I moved your if (firstSample) {....} kind of code in the dsp::init(...) part but this is probably not correct and should stay in dsp::compute(...). I can have a look again.

stefano

Thanks!

Yeah, things have been moving, I'll leave this to @paolo (he's certainly very busy for a few weeks, but we'll take a look ASAP).
Personal website: https://dangelo.audio/