Hi all,

We have revisited the generated DSP « init »  code to allow a finer control of 
the different init phases.

Up to now the Faust compiler generated the « init » method  has the following 
shape :

virtual void init(int samplingFreq) {
        classInit(samplingFreq);
        instanceInit(samplingFreq);
}

where « classInit » is initializing data (like readtables..) shared between all 
instances of the DSP class,
where « instanceInit » is initializing data for the given instance.

«  instanceInit » has been splitted in 3 new public methods:

        - instanceConstants(samplingFreq); that computes constants values, 
tables… for the instance

        - instanceResetUserInterface(); that reset user interface elements to 
their default values

        - instanceClear(); that clears internal delay lines..etc…
        
virtual void instanceInit(int samplingFreq) {
        instanceConstants(samplingFreq);
        instanceResetUserInterface();
        instanceClear();
}

This way architecture files may decide to use any of the new methods for finer 
control of the DSP internal state during it's life cycle. The new generated 
code does not change the current behavior of the init call, thus does not break 
any architecture file. 

The new generated code model has been done in both master and faust2 branches.

Stéphane
------------------------------------------------------------------------------
_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

Reply via email to