grame-cncm / faust

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

Faust 2.7.4 stopped working with HISE #1032

Closed christoph-hart closed 2 months ago

christoph-hart commented 2 months ago

I've received a few reports of users not being able to use the latest Faust release with HISE. Apparently the 2.7.4 update broke something and now the processing stopped working altogether when loading any faust node in HISE. I debugged the wrapper code and everything looks OK on the HISE side, but no matter what faust code I throw at it, it will not process anything. A few remarks:

Has something changed in the API between 2.7.2 and 2.7.4 that could cause this? I can crawl through the commits between the versions to try to find the culprit, but if you have any clues it would save me a boring afternoon staring at the compiler :)

sletz commented 2 months ago

2.7.2 and 2.7.4 are probably wrong: the latest release is 2.74.6, so ?

sletz commented 2 months ago

See https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/dsp/dsp.h#L87

christoph-hart commented 2 months ago

Sorry, I meant 2.74.6. 2.72.14 (and every release before) is working.

sletz commented 2 months ago

The dsp class has changed. I remember HISE maintains its own version ? Which has to be updated I guess.

christoph-hart commented 2 months ago

Ah yes, perfect, updating the dsp.h file in HISE fixed it. Thanks for the fast reply!

One question about the new control() function: from the comment I would assume that it needs to be called before every compute() call, but if I omit it, the parameters are still updated.

BTW, is there a document where you list the changes to the API?

sletz commented 2 months ago

control() is only generated with the -ec option, so nothing special to do if you keep the default options.