PlugnScript PERSISTENT_OBJECTS & persistent attribute

Official support for: bluecataudio.com
Post Reply New Topic
RELATED
PRODUCTS

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hey,

I have created polyphonic one oscillator synth and would like to add support for multiple oscillators. Problem is that it needs quite a large number of input knobs.

I tried to make custom KUIML interface by using own params and knobs and persistent="true" attribute to make it possible to save synth settings, but I could not make persistance to work?

Also I tried PERSISTENTS_OBJECT example code, but it does not save any data to a preset XML for me:

https://www.bluecataudio.com/Vault/Skin ... ement.html (https://www.bluecataudio.com/Vault/Skins/KUIML/ref_model_persistent_objects_element.html)

Other test was made with letitmix persistance example code ( gain param with persistent=true attribute), but could not got persistance to work with this either?

https://pns.letimix.com/kuiml/ref/param (https://pns.letimix.com/kuiml/ref/param)

So could anyone please give an advice how I could store own custom user data to a preset xml files?

I do got it work with custom_param0-47 and $script_input_string0-16$ but is it possible to save own custom made params too somehow?

Best regards,
Jani / Frinet

Post

Can you maybe share some example ode with us? You should definitely be able to save any data marked as persistent in your GUI using either the persistent="true" attribute, or the PERSISTENT_OBJECTS tag.

Post

I am not sure if I understood correctly how persistent="true" works? Does it save and restore any parameter values from preset xml file? Just like custom params works?

I am creating a synth which has table for oscillators and for one row settings looks like this, persistent is set to TRUE for all parameters but I can't save them anywhere.

There will be 10x rows so 14x10 parameters is needed and I plan to transfer this sound data as a single text string to a DSP side.



<!-- waveform params -->
<TABLE v_spacing="8px" h_spacing="8px">
<TABLE_ROW>
<TEXT value="Type" font_size="13" font_weight="bold"/>
<TEXT value="Waveform" font_size="13" font_weight="bold"/>
<TEXT value="Pan" font_size="13" font_weight="bold"/>
<TEXT value="CoarseTune" font_size="13" font_weight="bold"/>
<TEXT value="FineTune" font_size="13" font_weight="bold"/>
<TEXT value="Amplitude" font_size="13" font_weight="bold"/>
<TEXT value="Attack" font_size="13" font_weight="bold"/>
<TEXT value="Decay" font_size="13" font_weight="bold"/>
<TEXT value="Sustain" font_size="13" font_weight="bold"/>
<TEXT value="Release" font_size="13" font_weight="bold"/>
<TEXT value="VelocityCurve" font_size="13" font_weight="bold"/>
<TEXT value="VelocitySensitivity" font_size="13" font_weight="bold"/>
<TEXT value="Feedback" font_size="13" font_weight="bold"/>
<TEXT value="TargetIndex" font_size="13" font_weight="bold"/>
</TABLE_ROW>
<TABLE_ROW spacing="0" h_margin="20" v_margin="20">
<PARAM id="type" type="enumeration" enum_values="CARRIER;MODULATOR;AM_MODULATOR;PM_MODULATOR" persistent="true"/>
<PARAM_TEXT_CONTROL param_id="type" cursor="system::size_v" />
<PARAM id="waveform" type="enumeration" enum_values="SINE;SQUARE;TRIANGLE;SAW;FMX_SINE_SAW;FMX_SQUARE_SINE;FMX_TRIANGLE_SAW;FMX_SAW_SQUARE;LINEAR;NOISE;BROWN_NOISE;REVERSE_SAW;RANDOM" persistent="true"/>
<PARAM_TEXT_CONTROL param_id="waveform" cursor="system::size_v" />
<PARAM id="pan" min="-1" max="1" default="0" persistent="true" />
<PARAM_TEXT_CONTROL param_id="pan" cursor="system::size_v" />
<PARAM id="coarse_tune" min="0" max="10" default="1" persistent="true" />
<PARAM_TEXT_CONTROL param_id="coarse_tune" cursor="system::size_v" />
<PARAM id="fine_tune" min="0" max="10" default="1" persistent="true" />
<PARAM_TEXT_CONTROL param_id="fine_tune" cursor="system::size_v" />
<PARAM id="amplitude" min="0" max="1" default="0.5" persistent="true" />
<PARAM_TEXT_CONTROL param_id="amplitude" cursor="system::size_v" />
<PARAM id="attack" min="0" max="1" default="0" persistent="true" />
<PARAM_TEXT_CONTROL param_id="attack" cursor="system::size_v" />
<PARAM id="decay" min="0" max="1" default="0" persistent="true" />
<PARAM_TEXT_CONTROL param_id="decay" cursor="system::size_v" />
<PARAM id="sustain" min="0" max="1" default="1" persistent="true" />
<PARAM_TEXT_CONTROL param_id="sustain" cursor="system::size_v" />
<PARAM id="release" min="0" max="1" default="0" persistent="true" />
<PARAM_TEXT_CONTROL param_id="release" cursor="system::size_v" />
<PARAM id="velocity_curve" min="0" max="3" default="1" persistent="true" />
<PARAM_TEXT_CONTROL param_id="velocity_curve" cursor="system::size_v" />
<PARAM id="velocity_sensitivity" min="0" max="1" default="1" persistent="true" />
<PARAM_TEXT_CONTROL param_id="velocity_sensitivity" cursor="system::size_v" />
<PARAM id="feedback" min="0" max="1" default="0" persistent="true" />
<PARAM_TEXT_CONTROL param_id="feedback" cursor="system::size_v" />
<PARAM id="target_index" min="-1" max="10" default="-1" type="integer" persistent="true" />
<PARAM_TEXT_CONTROL param_id="target_index" cursor="system::size_v" />
</TABLE_ROW>
</TABLE>

Post Reply

Return to “Blue Cat Audio”