diff --git a/effects.c b/effects.c index 894e9e0..479cf34 100644 --- a/effects.c +++ b/effects.c @@ -88,6 +88,16 @@ static gchar *ips_scale_labels[] = { NULL, }; +static gchar *on_off_labels[] = { + "Off", + "On", +}; + +static gchar *pickup_type_labels[] = { + "SC>HB", + "HB>SC", +}; + static EffectValues values_0_to_99 = { 0.0, 99.0, NULL, }; @@ -154,6 +164,14 @@ static EffectValues values_delay_repeats = { 0.0, 100.0, NULL, }; +static EffectValues values_on_off = { + 0.0, 1.0, on_off_labels, +}; + +static EffectValues values_pickup_type = { + 0.0, 1.0, pickup_type_labels, +}; + static EffectSettings wah_settings[] = { {"Wah min", WAH_MIN, WAH_POSITION_MIN_MAX, &values_0_to_99}, {"Wah max", WAH_MAX, WAH_POSITION_MIN_MAX, &values_0_to_99}, @@ -720,142 +738,143 @@ typedef struct { const gchar *label; guint id; guint position; + EffectValues *values; } Modifiers; static Modifiers modifiers[] = { - {"None", 0, 0}, - {"Pickup Enable", PICKUP_ON_OFF, PICKUP_POSITION}, - {"Pickup Type", PICKUP_TYPE, PICKUP_POSITION}, - {"Compressor Enable", COMP_ON_OFF, COMP_POSITION}, - {"Compressor Sustain", COMP_SUSTAIN, COMP_POSITION}, - {"Compressor Tone", COMP_TONE, COMP_POSITION}, - {"Compressor Level", COMP_LEVEL, COMP_POSITION}, - {"Compressor Attack", COMP_ATTACK, COMP_POSITION}, - {"Dist Enable", DIST_ON_OFF, DIST_POSITION}, - {"Dist Drive", DIST_SCREAMER_DRIVE, DIST_POSITION}, - {"Dist Tone", DIST_SCREAMER_TONE, DIST_POSITION}, - {"Dist Level", DIST_SCREAMER_LVL, DIST_POSITION}, - {"Dist Overdrive", DIST_808_OVERDRIVE, DIST_POSITION}, - {"Dist Tone", DIST_808_TONE, DIST_POSITION}, - {"Dist Level", DIST_808_LVL, DIST_POSITION}, - {"Dist Drive", DIST_GUYOD_DRIVE, DIST_POSITION}, - {"Dist Level", DIST_GUYOD_LVL, DIST_POSITION}, - {"Dist Gain", DIST_DOD250_GAIN, DIST_POSITION}, - {"Dist Level", DIST_DOD250_LVL, DIST_POSITION}, - {"Dist Distortion", DIST_RODENT_DIST, DIST_POSITION}, - {"Dist Filter", DIST_RODENT_FILTER, DIST_POSITION}, - {"Dist Volume", DIST_RODENT_LVL, DIST_POSITION}, - {"Dist Distortion", DIST_MX_DIST, DIST_POSITION}, - {"Dist Output", DIST_MX_OUTPUT, DIST_POSITION}, - {"Dist Distortion", DIST_DS_GAIN, DIST_POSITION}, - {"Dist Tone", DIST_DS_TONE, DIST_POSITION}, - {"Dist Level", DIST_DS_LVL, DIST_POSITION}, - {"Dist Gain", DIST_GRUNGE_GRUNGE, DIST_POSITION}, - {"Dist Face", DIST_GRUNGE_FACE, DIST_POSITION}, - {"Dist Loud", DIST_GRUNGE_LOUD, DIST_POSITION}, - {"Dist Butt", DIST_GRUNGE_BUTT, DIST_POSITION}, - {"Dist Gain", DIST_ZONE_GAIN, DIST_POSITION}, - {"Dist Mid Level", DIST_ZONE_MID_LVL, DIST_POSITION}, - {"Dist Level", DIST_ZONE_LEVEL, DIST_POSITION}, - {"Dist Low", DIST_ZONE_LOW, DIST_POSITION}, - {"Dist Mid Freq", DIST_ZONE_MID_FREQ, DIST_POSITION}, - {"Dist High", DIST_ZONE_HIGH, DIST_POSITION}, - {"Dist Low", DIST_DEATH_LOW, DIST_POSITION}, - {"Dist Mid", DIST_DEATH_MID, DIST_POSITION}, - {"Dist Level", DIST_DEATH_LVL, DIST_POSITION}, - {"Dist High", DIST_DEATH_HIGH, DIST_POSITION}, - {"Dist Gunk", DIST_GONK_GONK, DIST_POSITION}, - {"Dist Smear", DIST_GONK_SMEAR, DIST_POSITION}, - {"Dist Suck", DIST_GONK_SUCK, DIST_POSITION}, - {"Dist Heave", DIST_GONK_HEAVE, DIST_POSITION}, - {"Dist Fuzz", DIST_FUZZY_FUZZ, DIST_POSITION}, - {"Dist Volume", DIST_FUZZY_VOLUME, DIST_POSITION}, - {"Dist Sustain", DIST_MP_SUSTAIN, DIST_POSITION}, - {"Dist Tone", DIST_MP_TONE, DIST_POSITION}, - {"Dist Volume", DIST_MP_VOLUME, DIST_POSITION}, - {"Amp Channel Enable", AMP_ON_OFF, AMP_POSITION}, - {"Amp Gain", AMP_GAIN, AMP_POSITION}, - {"Amp Level", AMP_LEVEL, AMP_POSITION}, - {"EQ Enable", EQ_ON_OFF, EQ_POSITION}, - {"EQ Bass", EQ_BASS, EQ_POSITION}, - {"EQ Mid", EQ_MID, EQ_POSITION}, - {"EQ Treb", EQ_TREBLE, EQ_POSITION}, - {"Gate Enable", NOISEGATE_ON_OFF, NOISEGATE_POSITION}, - {"Gate Pluck Sens", NOISEGATE_SWELL_SENS, NOISEGATE_POSITION}, - {"Gate Threshold", NOISEGATE_GATE_TRESHOLD, NOISEGATE_POSITION}, - {"Gate Attack", NOISEGATE_ATTACK, NOISEGATE_POSITION}, - {"Gate Release", NOISEGATE_RELEASE, NOISEGATE_POSITION}, - {"Gate Attenuation", NOISEGATE_ATTN, NOISEGATE_POSITION}, - {"Chorus/FX Enable", CHORUSFX_ON_OFF, CHORUSFX_POSITION}, - {"Phaser Speed", PHASER_SPEED, CHORUSFX_POSITION}, - {"Phaser Depth", PHASER_DEPTH, CHORUSFX_POSITION}, - {"Phaser Regen", PHASER_REGEN, CHORUSFX_POSITION}, - {"Phaser Waveform", PHASER_WAVE, CHORUSFX_POSITION}, - {"Phaser Level", PHASER_LEVEL, CHORUSFX_POSITION}, - {"Chorus Speed", CE_CHORUS_SPEED, CHORUSFX_POSITION}, - {"Chorus Depth", CE_CHORUS_DEPTH, CHORUSFX_POSITION}, - {"Chorus Level", DUAL_CHORUS_LEVEL, CHORUSFX_POSITION}, - {"Chorus Waveform", DUAL_CHORUS_WAVE, CHORUSFX_POSITION}, - {"Flanger Speed", FLANGER_SPEED, CHORUSFX_POSITION}, - {"Flanger Depth", FLANGER_DEPTH, CHORUSFX_POSITION}, - {"Flanger Regen", FLANGER_REGEN, CHORUSFX_POSITION}, - {"Flanger Waveform", FLANGER_WAVE, CHORUSFX_POSITION}, - {"Flanger Level", FLANGER_LEVEL, CHORUSFX_POSITION}, - {"Flanger Width", MXR_FLANGER_WIDTH, CHORUSFX_POSITION}, - {"Flanger Manual", MXR_FLANGER_MANUAL, CHORUSFX_POSITION}, - {"Vibrato Speed", VIBRATO_SPEED, CHORUSFX_POSITION}, - {"Vibrato Depth", VIBRATO_DEPTH, CHORUSFX_POSITION}, - {"Rotary Speed", ROTARY_SPEED, CHORUSFX_POSITION}, - {"Rotary Intensity", ROTARY_INTENSITY, CHORUSFX_POSITION}, - {"Rotary Doppler", ROTARY_DOPPLER, CHORUSFX_POSITION}, - {"Rotary Crossover", ROTARY_CROSSOVER, CHORUSFX_POSITION}, - {"VibroPan Speed", VIBROPAN_SPEED, CHORUSFX_POSITION}, - {"VibroPan Depth", VIBROPAN_DEPTH, CHORUSFX_POSITION}, - {"VibroPan VibratoPan", VIBROPAN_VIBRA, CHORUSFX_POSITION}, - {"VibroPan Waveform", VIBROPAN_WAVE, CHORUSFX_POSITION}, - {"Tremolo Speed", TREMOLO_SPEED, CHORUSFX_POSITION}, - {"Tremolo Depth", TREMOLO_DEPTH, CHORUSFX_POSITION}, - {"Tremolo Waveform", TREMOLO_WAVE, CHORUSFX_POSITION}, - {"Panner Speed", PANNER_SPEED, CHORUSFX_POSITION}, - {"Panner Depth", PANNER_DEPTH, CHORUSFX_POSITION}, - {"Panner Waveform", PANNER_WAVE, CHORUSFX_POSITION}, - {"Envelope Sens.", ENVELOPE_SENSITIVITY, CHORUSFX_POSITION}, - {"Envelope Range", ENVELOPE_RANGE, CHORUSFX_POSITION}, - {"AutoYa Speed", AUTOYA_SPEED, CHORUSFX_POSITION}, - {"AutoYa Intensity", AUTOYA_INTENSITY, CHORUSFX_POSITION}, - {"AutoYa Range", AUTOYA_RANGE, CHORUSFX_POSITION}, - {"YaYa Pedal", YAYA_PEDAL, CHORUSFX_POSITION}, - {"YaYa Intensity", YAYA_INTENSITY, CHORUSFX_POSITION}, - {"YaYa Range", YAYA_RANGE, CHORUSFX_POSITION}, - {"Step Filter Speed", STEP_FILTER_SPEED, CHORUSFX_POSITION}, - {"Step Filter Intensity", STEP_FILTER_INTENSITY, CHORUSFX_POSITION}, - {"Whammy Amount", WHAMMY_AMOUNT, CHORUSFX_POSITION}, - {"Whammy Pedal", WHAMMY_PEDAL, CHORUSFX_POSITION}, - {"Whammy Mix", WHAMMY_MIX, CHORUSFX_POSITION}, - {"Pitch Shift Amount", PITCH_AMOUNT, CHORUSFX_POSITION}, - {"Pitch Shift Mix", PITCH_MIX, CHORUSFX_POSITION}, - {"Detune Amount", DETUNE_AMOUNT, CHORUSFX_POSITION}, - {"Detune Level", DETUNE_LEVEL, CHORUSFX_POSITION}, - {"IPS Amount", IPS_SHIFT_AMOUNT, CHORUSFX_POSITION}, - {"IPS Key", IPS_KEY, CHORUSFX_POSITION}, - {"IPS Scale", IPS_SCALE, CHORUSFX_POSITION}, - {"IPS Level", IPS_LEVEL, CHORUSFX_POSITION}, - {"Delay Enable", DELAY_ON_OFF, DELAY_POSITION}, - {"Delay Time", DELAY_TIME, DELAY_POSITION}, - {"Delay Repeats", ANALOG_REPEATS, DELAY_POSITION}, - {"Delay Level", ANALOG_LEVEL, DELAY_POSITION}, - {"Delay Duck Thresh", DIGITAL_DUCKER_THRESH, DELAY_POSITION}, - {"Delay Duck Level", DIGITAL_DUCKER_LEVEL, DELAY_POSITION}, - {"Delay Mod Depth", MODULATED_DEPTH, DELAY_POSITION}, - {"Delay Tape Wow", TAPE_WOW, DELAY_POSITION}, - {"Delay Tape Flut", TAPE_FLUTTER, DELAY_POSITION}, - {"Reverb Enable", REVERB_ON_OFF, REVERB_POSITION}, - {"Reverb Decay", LEX_AMBIENCE_DECAY, REVERB_POSITION}, - {"Reverb Liveliness", LEX_STUDIO_LIVELINESS, REVERB_POSITION}, - {"Reverb Level", LEX_STUDIO_LEVEL, REVERB_POSITION}, - {"Reverb Predelay", LEX_STUDIO_PREDELAY, REVERB_POSITION}, - {"Volume Pre FX", 2626, 13}, - {"Volume Post FX", 2626, 17}, + {"None", 0, 0, NULL}, + {"Pickup Enable", PICKUP_ON_OFF, PICKUP_POSITION, &values_on_off}, + {"Pickup Type", PICKUP_TYPE, PICKUP_POSITION, &values_pickup_type}, + {"Compressor Enable", COMP_ON_OFF, COMP_POSITION, &values_on_off}, + {"Compressor Sustain", COMP_SUSTAIN, COMP_POSITION, &values_0_to_99}, + {"Compressor Tone", COMP_TONE, COMP_POSITION, &values_0_to_99}, + {"Compressor Level", COMP_LEVEL, COMP_POSITION, &values_0_to_99}, + {"Compressor Attack", COMP_ATTACK, COMP_POSITION, &values_0_to_99}, + {"Dist Enable", DIST_ON_OFF, DIST_POSITION, &values_on_off}, + {"Dist Drive", DIST_SCREAMER_DRIVE, DIST_POSITION, &values_0_to_99}, + {"Dist Tone", DIST_SCREAMER_TONE, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_SCREAMER_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Overdrive", DIST_808_OVERDRIVE, DIST_POSITION, &values_0_to_99}, + {"Dist Tone", DIST_808_TONE, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_808_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Drive", DIST_GUYOD_DRIVE, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_GUYOD_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Gain", DIST_DOD250_GAIN, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_DOD250_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Distortion", DIST_RODENT_DIST, DIST_POSITION, &values_0_to_99}, + {"Dist Filter", DIST_RODENT_FILTER, DIST_POSITION, &values_0_to_99}, + {"Dist Volume", DIST_RODENT_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Distortion", DIST_MX_DIST, DIST_POSITION, &values_0_to_99}, + {"Dist Output", DIST_MX_OUTPUT, DIST_POSITION, &values_0_to_99}, + {"Dist Distortion", DIST_DS_GAIN, DIST_POSITION, &values_0_to_99}, + {"Dist Tone", DIST_DS_TONE, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_DS_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Gain", DIST_GRUNGE_GRUNGE, DIST_POSITION, &values_0_to_99}, + {"Dist Face", DIST_GRUNGE_FACE, DIST_POSITION, &values_0_to_99}, + {"Dist Loud", DIST_GRUNGE_LOUD, DIST_POSITION, &values_0_to_99}, + {"Dist Butt", DIST_GRUNGE_BUTT, DIST_POSITION, &values_0_to_99}, + {"Dist Gain", DIST_ZONE_GAIN, DIST_POSITION, &values_0_to_99}, + {"Dist Mid Level", DIST_ZONE_MID_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_ZONE_LEVEL, DIST_POSITION, &values_0_to_99}, + {"Dist Low", DIST_ZONE_LOW, DIST_POSITION, &values_0_to_99}, + {"Dist Mid Freq", DIST_ZONE_MID_FREQ, DIST_POSITION, &values_0_to_99}, + {"Dist High", DIST_ZONE_HIGH, DIST_POSITION, &values_0_to_99}, + {"Dist Low", DIST_DEATH_LOW, DIST_POSITION, &values_0_to_99}, + {"Dist Mid", DIST_DEATH_MID, DIST_POSITION, &values_0_to_99}, + {"Dist Level", DIST_DEATH_LVL, DIST_POSITION, &values_0_to_99}, + {"Dist High", DIST_DEATH_HIGH, DIST_POSITION, &values_0_to_99}, + {"Dist Gunk", DIST_GONK_GONK, DIST_POSITION, &values_0_to_99}, + {"Dist Smear", DIST_GONK_SMEAR, DIST_POSITION, &values_0_to_99}, + {"Dist Suck", DIST_GONK_SUCK, DIST_POSITION, &values_0_to_99}, + {"Dist Heave", DIST_GONK_HEAVE, DIST_POSITION, &values_0_to_99}, + {"Dist Fuzz", DIST_FUZZY_FUZZ, DIST_POSITION, &values_0_to_99}, + {"Dist Volume", DIST_FUZZY_VOLUME, DIST_POSITION, &values_0_to_99}, + {"Dist Sustain", DIST_MP_SUSTAIN, DIST_POSITION, &values_0_to_99}, + {"Dist Tone", DIST_MP_TONE, DIST_POSITION, &values_0_to_99}, + {"Dist Volume", DIST_MP_VOLUME, DIST_POSITION, &values_0_to_99}, + {"Amp Channel Enable", AMP_ON_OFF, AMP_POSITION, &values_on_off}, + {"Amp Gain", AMP_GAIN, AMP_POSITION, &values_0_to_99}, + {"Amp Level", AMP_LEVEL, AMP_POSITION, &values_0_to_99}, + {"EQ Enable", EQ_ON_OFF, EQ_POSITION, &values_on_off}, + {"EQ Bass", EQ_BASS, EQ_POSITION, &values_eq_db}, + {"EQ Mid", EQ_MID, EQ_POSITION, &values_eq_db}, + {"EQ Treb", EQ_TREBLE, EQ_POSITION, &values_eq_db}, + {"Gate Enable", NOISEGATE_ON_OFF, NOISEGATE_POSITION, &values_on_off}, + {"Gate Pluck Sens", NOISEGATE_SWELL_SENS, NOISEGATE_POSITION, &values_0_to_99}, + {"Gate Threshold", NOISEGATE_GATE_TRESHOLD, NOISEGATE_POSITION, &values_0_to_99}, + {"Gate Attack", NOISEGATE_ATTACK, NOISEGATE_POSITION, &values_0_to_99}, + {"Gate Release", NOISEGATE_RELEASE, NOISEGATE_POSITION, &values_0_to_99}, + {"Gate Attenuation", NOISEGATE_ATTN, NOISEGATE_POSITION, &values_0_to_99}, + {"Chorus/FX Enable", CHORUSFX_ON_OFF, CHORUSFX_POSITION, &values_on_off}, + {"Phaser Speed", PHASER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Phaser Depth", PHASER_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Phaser Regen", PHASER_REGEN, CHORUSFX_POSITION, &values_0_to_99}, + {"Phaser Waveform", PHASER_WAVE, CHORUSFX_POSITION, &values_waveform}, + {"Phaser Level", PHASER_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, + {"Chorus Speed", CE_CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Chorus Depth", CE_CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Chorus Level", DUAL_CHORUS_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, + {"Chorus Waveform", DUAL_CHORUS_WAVE, CHORUSFX_POSITION, &values_waveform}, + {"Flanger Speed", FLANGER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Flanger Depth", FLANGER_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Flanger Regen", FLANGER_REGEN, CHORUSFX_POSITION, &values_0_to_99}, + {"Flanger Waveform", FLANGER_WAVE, CHORUSFX_POSITION, &values_waveform}, + {"Flanger Level", FLANGER_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, + {"Flanger Width", MXR_FLANGER_WIDTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Flanger Manual", MXR_FLANGER_MANUAL, CHORUSFX_POSITION, &values_0_to_99}, + {"Vibrato Speed", VIBRATO_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Vibrato Depth", VIBRATO_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Rotary Speed", ROTARY_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Rotary Intensity", ROTARY_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, + {"Rotary Doppler", ROTARY_DOPPLER, CHORUSFX_POSITION, &values_0_to_99}, + {"Rotary Crossover", ROTARY_CROSSOVER, CHORUSFX_POSITION, &values_0_to_99}, + {"VibroPan Speed", VIBROPAN_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"VibroPan Depth", VIBROPAN_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"VibroPan VibratoPan", VIBROPAN_VIBRA, CHORUSFX_POSITION, &values_0_to_99}, + {"VibroPan Waveform", VIBROPAN_WAVE, CHORUSFX_POSITION, &values_waveform}, + {"Tremolo Speed", TREMOLO_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Tremolo Depth", TREMOLO_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Tremolo Waveform", TREMOLO_WAVE, CHORUSFX_POSITION, &values_waveform}, + {"Panner Speed", PANNER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Panner Depth", PANNER_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Panner Waveform", PANNER_WAVE, CHORUSFX_POSITION, &values_waveform}, + {"Envelope Sens.", ENVELOPE_SENSITIVITY, CHORUSFX_POSITION, &values_0_to_99}, + {"Envelope Range", ENVELOPE_RANGE, CHORUSFX_POSITION, &values_0_to_99}, + {"AutoYa Speed", AUTOYA_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"AutoYa Intensity", AUTOYA_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, + {"AutoYa Range", AUTOYA_RANGE, CHORUSFX_POSITION, &values_0_to_49}, + {"YaYa Pedal", YAYA_PEDAL, CHORUSFX_POSITION, &values_0_to_99}, + {"YaYa Intensity", YAYA_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, + {"YaYa Range", YAYA_RANGE, CHORUSFX_POSITION, &values_0_to_49}, + {"Step Filter Speed", STEP_FILTER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Step Filter Intensity", STEP_FILTER_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, + {"Whammy Amount", WHAMMY_AMOUNT, CHORUSFX_POSITION, &values_whammy_amount}, + {"Whammy Pedal", WHAMMY_PEDAL, CHORUSFX_POSITION, &values_0_to_99}, + {"Whammy Mix", WHAMMY_MIX, CHORUSFX_POSITION, &values_0_to_99}, + {"Pitch Shift Amount", PITCH_AMOUNT, CHORUSFX_POSITION, &values_m24_to_24}, + {"Pitch Shift Mix", PITCH_MIX, CHORUSFX_POSITION, &values_0_to_99}, + {"Detune Amount", DETUNE_AMOUNT, CHORUSFX_POSITION, &values_m24_to_24}, + {"Detune Level", DETUNE_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, + {"IPS Amount", IPS_SHIFT_AMOUNT, CHORUSFX_POSITION, &values_ips_shift}, + {"IPS Key", IPS_KEY, CHORUSFX_POSITION, &values_ips_key}, + {"IPS Scale", IPS_SCALE, CHORUSFX_POSITION, &values_ips_scale}, + {"IPS Level", IPS_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, + {"Delay Enable", DELAY_ON_OFF, DELAY_POSITION, &values_on_off}, + {"Delay Time", DELAY_TIME, DELAY_POSITION, &values_delay_time}, + {"Delay Repeats", ANALOG_REPEATS, DELAY_POSITION, &values_delay_repeats}, + {"Delay Level", ANALOG_LEVEL, DELAY_POSITION, &values_0_to_99}, + {"Delay Duck Thresh", DIGITAL_DUCKER_THRESH, DELAY_POSITION, &values_0_to_99}, + {"Delay Duck Level", DIGITAL_DUCKER_LEVEL, DELAY_POSITION, &values_0_to_99}, + {"Delay Mod Depth", MODULATED_DEPTH, DELAY_POSITION, &values_0_to_99}, + {"Delay Tape Wow", TAPE_WOW, DELAY_POSITION, &values_0_to_99}, + {"Delay Tape Flut", TAPE_FLUTTER, DELAY_POSITION, &values_0_to_99}, + {"Reverb Enable", REVERB_ON_OFF, REVERB_POSITION, &values_on_off}, + {"Reverb Decay", LEX_AMBIENCE_DECAY, REVERB_POSITION, &values_0_to_99}, + {"Reverb Liveliness", LEX_STUDIO_LIVELINESS, REVERB_POSITION, &values_0_to_99}, + {"Reverb Level", LEX_STUDIO_LEVEL, REVERB_POSITION, &values_0_to_99}, + {"Reverb Predelay", LEX_STUDIO_PREDELAY, REVERB_POSITION, &values_0_to_15}, + {"Volume Pre FX", 2626, 13, &values_0_to_99}, + {"Volume Post FX", 2626, 17, &values_0_to_99}, }; int n_modifiers = G_N_ELEMENTS(modifiers);