how does the LCD send OSC? What are the inputs to the UI?
It seems like FAUST can dump the GUI over OSC :
here it seems that you can send to the FAUST OSC server a get
request and get a dump:
oscsend localhost 5510 /\* s "get"
# /cubic_distortion//SINE_WAVE_OSCILLATOR_oscrs//Amplitude fff -38.299999 -120.000000 10.000000
# /cubic_distortion//SINE_WAVE_OSCILLATOR_oscrs//Frequency fff 37.599998 1.000000 88.000000
# /cubic_distortion//SINE_WAVE_OSCILLATOR_oscrs//Portamento fff 0.846000 0.000000 1.000000
# /cubic_distortion//CUBIC_NONLINEARITY_cubicnl//Bypass fff 0.000000 0.000000 1.000000
# /cubic_distortion//CUBIC_NONLINEARITY_cubicnl//Drive fff 0.630000 0.000000 1.000000
# /cubic_distortion//CUBIC_NONLINEARITY_cubicnl//Offset fff 0.000000 0.000000 1.000000
# /cubic_distortion//SPECTRUM_ANALYZER_CONTROLS/Level_Averaging_Time fff 0.510000 0.000000 1.000000
# /cubic_distortion//SPECTRUM_ANALYZER_CONTROLS/Level_dB_Offset fff 18.000000 0.000000 100.000000
I think the most maintainable way is to have a stand-alone program that receives the UI description from FAUST via OSC and then renders it. If this is developed as a stand-alone program, it does not have to interconnect with faust2bela
or the Bela build system, which will make it easier to maintain over time, and it can also be used with any Bela program that provides a compatible OSC interface.