You should have a look at the « soundfile » primitive: 
https://faust.grame.fr/doc/manual/index.html#soundfile-primitive

This soundfile is designed first to read external audio files, but is can 
possibly by « hacked » to use externally filled buffers, have a look at :

https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/gui/SoundUI.h

https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/gui/Soundfile.h

Ans especially this :

https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/gui/MemoryReader.h

You will have to provide an implementation for this MemoryReader class, to « 
connect »  the SoundUI machinery to your memory buffers. Note that the current 
model assume that all soundfiles or memory buffers are loaded and ready 
*before* the DSP object starts to run. This is no atomic based system in the 
Faust generated DSP class  to change them on the fly while running. 

Note also that SoundUI/SoundfileReader/MemoryReader model used with externally 
provided buffers has not been tested in a real case yet. The code is still 
fresh, feel free to test it and (if needed...) suggest improvements. 

Stéphane 


> Le 16 déc. 2018 à 00:07, Joshua Peschke <j...@wavecasual.com> a écrit :
> 
> hey everyone,
> i’m currently looking into how to use a buffer for an rdtable/rwtable that is 
> generated outside of faust. 
> i had a look at the code generated when i implement a simple wavetable / 
> dynamic wavetable and it seems that the rwtable uses an int array as the 
> buffer. is that correct or am i missing something?
> can anybody clarify why that is? maybe int writes are atomic on some systems 
> where floats are not? how does the conversion happen?
> anybody has any tips on how to achieve an externally filled buffer for a 
> table used in a faust dsp module? normally i would use an atomic pointer swap 
> to update the buffer, but i want to make the least amount of changes possible 
> to the faust dsp so that i can easily automate the task generating and 
> building the code.. maybe this kind of thing has been done before?
> 
> thanks!
> best
> josh
> 
> _______________________________________________
> Faudiostream-users mailing list
> Faudiostream-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users



_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to