I am trying to set some EQ parameters from Matlab to AWD.
In the MATLAB SCRIPTING API.pdf, there is an example of this for the scaler module.
GSYS = get_gsys('Example1.awd');
GSYS.SYS.Scaler1.gain = -6;
set_gsys(GSYS, 'Example1.awd');
Whilst this doesn't update the value in designer instantaneously, closing and opening the inspector/properties shows the change.
However for the BiquadSparseV6 object this does not seem to work. e.g.
GSYS.SYS.BiquadSparseV6.gain(1,1) = -6;
set_gsys(GSYS, 'Example1.awd');
I can hear the difference on the playback, but the properties in AWD never update automatically. Only if I change a different value, then select another module, it asks me to save the change, and then the value set appears.
Is it that the Biquad uses arrays so the set_gysy doesn't work in the same way as the scaler object? Or is there another command I might be able to call to refresh the displayed properties?
Many thanks,
Mike
6:50pm
Hi Mike,
In the case of both modules, when you set the new variable values using MATLAB the command is sent to AWE Server, which relays that set call to the target layout. As you observed, at this point the AWE Designer visuals are out of sync with the target layout's parameter settings. When you open the Scaler's inspector window, AWE Designer makes an implicit call to get the Scaler's parameter values from the target layout, and the visuals refresh to sync back with the target layout's settings. Since the BiquadSparse module doesn't have an inspector to open, that get call is never issued and the visual representation in AWE Designer stays out of sync.
Seeing that you are using the set_gsys() command and are also manually interacting with AWE Designer, you should be able to refresh the display after your set_gsys() call using the Propagate Changes button to resync with the target layout.
Thanks,
Michael