This involved passing the EffectValue resulting from the resolution of
an VALUE_TYPE_EXTRA to map_xml_value() and some more careful range
checking.
Also, the delay repeats effect needed an xml_label for the special
'repeat forever' value 100, which maps to the string RHold.
For now, this is just for rp355, though the code should work for other
devices with minimal modification.
1) The EffectValues for values_*_assign need to be VALUE_TYPE_POSID.
2) Disabmiguate "Delay Tape" for a couple of EffectSettings. This fixed
some bugs in the creation of the global modifier group.
3) Remove #if 0's around the definition of the lfo2_settings.
4) Define proper lfo1 and lfo2 groups arrays.
5) Define the lfo2_effect[] array.
6) Add the lfo1 and lfo2 effects to the rp355_effects array.
7) Disambiguate "EQ B" from "Eq" for some effedts in the modifiers array.
8) In push_message(), after we receive the RECEIVE_MODIFIER_LINKABLE_LIST
message, kick off the creation of the EXP, LFO1, and LFO2 effects.
9) Generalize the function used for the pedal1_assign effect and make it work
for lfo1 and lfo2 as well. Convert printf's to debug_msg().
10) Since we're destroying the association of the grid with the placeholder
combo box entry, steal the data so the child widget isn't destroyed.
11) Silence warning on exit about 0 unread messages in queue.
A number of EffectValues of type label had invalid ranges. Make
them less invalid.
Also add SYNTH_TALK id's to xml settings.
Make format_ipv warn instead of crashing if an xml setting is not
found.
Leverage the code that writes a preset to XML so that messages
can be displayed in a human readable format.
E.g.,
(6, 2432, 1280) Distortion: Dist Type: Screamer
The 3-tuple is position, id, value, which is followed by the
colon separated decode of the position, id, and the mapped value.
1) Make logging conditional on debug flags.
2) Add command line option for setting these flags.
3) Emit warnings with g_warning() instead of g_message().
4) Added note about how FX_LIB_LEVEL_MAX[1-3] is used.
Add a global settings settings to the xml settings array.
Start adding label strings to the debug messages. This
needs cleaning up, but it should help.
Change AMP_POSITION to AMP_A_POSITION.
Add AMP_B_POSITION to the modifier array.
Add AMP_PRESENCE to the modifier array and move it to follow Treble
in the Equalizer effect.
Add EQ_B_POSITION settings to the modifier array.
Change the formatting of the debug messages to print more
readable columns.
2) In effects.c, some EffectsValues are changed to better reflect the
strings used in the XML.
3) New EffectSettings are added for use when writing out effects to XML.
4) Added an XmlLabel structure for mapping a value to a string. Generally,
these are the union of the set of all values over the set of supported
devices.
5) There's a large array of XmlSettings used to derive the translation of
a preset to XML.
6) Add an enum for product_id and use it to set a filter for file suffix.
7) Minor cleanup in push_message() that suppresses spurious error messages.
8) Fixed a bad memset in read_data_thread().
9) In gdigi.h, a few changes in names to be consistent with XML.
There are some new definitions of LFO and VSWITCH parameters that
need to be computed.
10) In gui.c, fixed up a compiler warning.
Added a map from device id to file type and code to set a default filter
in the read dialog.
Wired up the 'save to XML' callback and reorganized the menue entries to
better distinguish between 'save to file' and 'store to device'.
In preset.c, sort the params so that what we write as XML more closely
matches what is generated on the windows side.