diff --git a/effects.c b/effects.c index e448684..31acfc3 100644 --- a/effects.c +++ b/effects.c @@ -95,6 +95,16 @@ static gchar *on_off_labels[] = { "On", }; +static gchar *odd_even_labels[] = { + "Odd", + "Even", +}; + +static gchar *chorus_vibrato_labels[] = { + "Chorus", + "Vibrato", +}; + static gchar *pickup_type_labels[] = { "SC>HB", "HB>SC", @@ -228,6 +238,10 @@ static EffectValues values_0_to_99 = { 0.0, 99.0, NULL, }; +static EffectValues values_1_to_4 = { + 0.0, 3.0, NULL, +}; + static EffectValues values_0_to_49 = { 0.0, 49.0, NULL, }; @@ -280,6 +294,11 @@ static EffectValues values_waveform = { 0.0, 2.0, wave_labels, }; +static EffectValues values_synth_talk_balance = { + /** \todo make this display propertly */ + 0.0, 198.0, NULL, +}; + static EffectValues values_whammy_amount = { 0.0, 15.0, whammy_labels, }; @@ -335,6 +354,14 @@ static EffectValues values_on_off = { 0.0, 1.0, on_off_labels, }; +static EffectValues values_odd_even = { + 0.0, 1.0, odd_even_labels, +}; + +static EffectValues values_chorus_vibrato = { + 0.0, 1.0, chorus_vibrato_labels, +}; + static EffectValues values_pickup_type = { 0.0, 1.0, pickup_type_labels, }; @@ -515,6 +542,12 @@ static EffectSettings chorusfx_ce_settings[] = { {"Depth", CE_CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, }; +static EffectSettings chorusfx_tc_settings[] = { + {"Speed", CE_CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Width", CHORUS_WIDTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Intensity", CHORUS_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_dual_settings[] = { {"Speed", DUAL_CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Depth", DUAL_CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, @@ -522,6 +555,12 @@ static EffectSettings chorusfx_dual_settings[] = { {"Wave", DUAL_CHORUS_WAVE, CHORUSFX_POSITION, &values_waveform}, }; +static EffectSettings chorusfx_glisten_settings[] = { + {"Speed", CE_CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Depth", DUAL_CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, + {"Level", DUAL_CHORUS_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_multi_settings[] = { {"Speed", MULTI_CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Depth", MULTI_CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, @@ -537,6 +576,13 @@ static EffectSettings chorusfx_flanger_settings[] = { {"Wave", FLANGER_WAVE, CHORUSFX_POSITION, &values_waveform}, }; +static EffectSettings chorusfx_trig_flanger_settings[] = { + {"Speed", TRIG_FLANGER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Sens", TRIG_FLANGER_SENS, CHORUSFX_POSITION, &values_0_to_99}, + {"Lfo Start", TRIG_FLANGER_LFO_START, CHORUSFX_POSITION, &values_0_to_99}, + {"Level", TRIG_FLANGER_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_mxr_flanger_settings[] = { {"Speed", MXR_FLANGER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Width", MXR_FLANGER_WIDTH, CHORUSFX_POSITION, &values_0_to_99}, @@ -544,6 +590,20 @@ static EffectSettings chorusfx_mxr_flanger_settings[] = { {"Manual", MXR_FLANGER_MANUAL, CHORUSFX_POSITION, &values_0_to_99}, }; +static EffectSettings chorusfx_eh_flanger_settings[] = { + {"Rate", EH_FLANGER_RATE, CHORUSFX_POSITION, &values_0_to_99}, + {"Range", EH_FLANGER_RANGE, CHORUSFX_POSITION, &values_0_to_99}, + {"Color", EH_FLANGER_COLOR, CHORUSFX_POSITION, &values_0_to_99}, +}; + +static EffectSettings chorusfx_ad_flanger_settings[] = { + {"Speed", MXR_FLANGER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Enhance", AD_FLANGER_ENHANCE, CHORUSFX_POSITION, &values_0_to_99}, + {"Range", EH_FLANGER_RANGE, CHORUSFX_POSITION, &values_0_to_99}, + {"Harmonics", AD_FLANGER_HARMONICS, CHORUSFX_POSITION, &values_odd_even}, + {"Manual", MXR_FLANGER_MANUAL, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_phaser_settings[] = { {"Speed", PHASER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Depth", PHASER_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, @@ -552,6 +612,23 @@ static EffectSettings chorusfx_phaser_settings[] = { {"Wave", PHASER_WAVE, CHORUSFX_POSITION, &values_waveform}, }; +static EffectSettings chorusfx_trig_phaser_settings[] = { + {"Speed", TRIG_PHASER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Sens", TRIG_PHASER_SENS, CHORUSFX_POSITION, &values_0_to_99}, + {"Lfo Start", TRIG_PHASER_LFO_START, CHORUSFX_POSITION, &values_0_to_99}, + {"Level", TRIG_PHASER_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, +}; + +static EffectSettings chorusfx_mx_phaser_settings[] = { + {"Speed", PHASER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Intensity", MX_PHASER_INTENSITY, CHORUSFX_POSITION, &values_1_to_4}, +}; + +static EffectSettings chorusfx_eh_phaser_settings[] = { + {"Rate", EH_PHASER_RATE, CHORUSFX_POSITION, &values_0_to_99}, + {"Color", EH_PHASER_COLOR, CHORUSFX_POSITION, &values_on_off}, +}; + static EffectSettings chorusfx_vibrato_settings[] = { {"Speed", VIBRATO_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Depth", VIBRATO_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, @@ -571,12 +648,24 @@ static EffectSettings chorusfx_vibropan_settings[] = { {"Wave", VIBROPAN_WAVE, CHORUSFX_POSITION, &values_waveform}, }; +static EffectSettings chorusfx_unovibe_settings[] = { + {"Pedal Speed", UNOVIBE_PEDAL_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Intensity", UNOVIBE_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, + {"Chorus/Vibrato", UNOVIBE_CHORUS_VIBRATO, CHORUSFX_POSITION, &values_chorus_vibrato}, + {"Volume", UNOVIBE_VOLUME, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_tremolo_settings[] = { {"Speed", TREMOLO_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Depth", TREMOLO_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, {"Wave", TREMOLO_WAVE, CHORUSFX_POSITION, &values_waveform}, }; +static EffectSettings chorusfx_trem_settings[] = { + {"Speed", TREMOLO_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Depth", TREMOLO_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_panner_settings[] = { {"Speed", PANNER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Depth", PANNER_DEPTH, CHORUSFX_POSITION, &values_0_to_99}, @@ -588,6 +677,12 @@ static EffectSettings chorusfx_envelope_settings[] = { {"Range", ENVELOPE_RANGE, CHORUSFX_POSITION, &values_0_to_99}, }; +static EffectSettings chorusfx_fx25_settings[] = { + {"Sensitivity", ENVELOPE_SENSITIVITY, CHORUSFX_POSITION, &values_0_to_99}, + {"Range", ENVELOPE_RANGE, CHORUSFX_POSITION, &values_0_to_99}, + {"Blend", ENVELOPE_BLEND, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_autoya_settings[] = { {"Speed", AUTOYA_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Intensity", AUTOYA_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, @@ -600,11 +695,24 @@ static EffectSettings chorusfx_yaya_settings[] = { {"Range", YAYA_RANGE, CHORUSFX_POSITION, &values_0_to_49}, }; +static EffectSettings chorusfx_synth_talk_settings[] = { + {"Attack", SYNTH_TALK_ATTACK, CHORUSFX_POSITION, &values_0_to_99}, + {"Release", SYNTH_TALK_RELEASE, CHORUSFX_POSITION, &values_0_to_99}, + {"Sens", SYNTH_TALK_SENS, CHORUSFX_POSITION, &values_0_to_99}, + {"Vox", SYNTH_TALK_VOX, CHORUSFX_POSITION, &values_0_to_99}, + {"Balance", SYNTH_TALK_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance}, +}; + static EffectSettings chorusfx_step_filter_settings[] = { {"Speed", STEP_FILTER_SPEED, CHORUSFX_POSITION, &values_0_to_99}, {"Intensity", STEP_FILTER_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, }; +static EffectSettings chorusfx_sample_hold_settings[] = { + {"Speed", SAMPLE_HOLD_SPEED, CHORUSFX_POSITION, &values_0_to_99}, + {"Intensity", SAMPLE_HOLD_INTENSITY, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings chorusfx_whammy_settings[] = { {"Pedal", WHAMMY_PEDAL, CHORUSFX_POSITION, &values_0_to_99}, {"Mix", WHAMMY_MIX, CHORUSFX_POSITION, &values_0_to_99}, @@ -628,6 +736,12 @@ static EffectSettings chorusfx_ips_settings[] = { {"Level", IPS_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, }; +static EffectSettings chorusfx_octaver_settings[] = { + {"Octave 1", OCTAVER_OCTAVE1, CHORUSFX_POSITION, &values_0_to_99}, + {"Octave 2", OCTAVER_OCTAVE2, CHORUSFX_POSITION, &values_0_to_99}, + {"Dry Level", OCTAVER_DRY_LEVEL, CHORUSFX_POSITION, &values_0_to_99}, +}; + static EffectSettings delay_analog_settings[] = { {"Time", DELAY_TIME, DELAY_POSITION, &values_delay_time}, {"Level", ANALOG_LEVEL, DELAY_POSITION, &values_0_to_99}, @@ -797,7 +911,7 @@ static EffectGroup noisegate_group[] = { {NOISEGATE_SWELL, "Swell", NOISEGATE_TYPE, NOISEGATE_POSITION, noisegate_swell_settings, G_N_ELEMENTS(noisegate_swell_settings)}, }; -static EffectGroup chorusfx_group[] = { +static EffectGroup rp250_chorusfx_group[] = { {CHORUS_TYPE_CE, "CE Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ce_settings, G_N_ELEMENTS(chorusfx_ce_settings)}, {CHORUS_TYPE_DUAL, "Dual Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_dual_settings, G_N_ELEMENTS(chorusfx_dual_settings)}, {CHORUS_TYPE_MULTI, "Multi Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_multi_settings, G_N_ELEMENTS(chorusfx_multi_settings)}, @@ -819,6 +933,44 @@ static EffectGroup chorusfx_group[] = { {CHORUS_TYPE_IPS, "IPS", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ips_settings, G_N_ELEMENTS(chorusfx_ips_settings)}, }; +static EffectGroup rp500_chorusfx_group[] = { + {CHORUS_TYPE_CE, "CE Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ce_settings, G_N_ELEMENTS(chorusfx_ce_settings)}, + {CHORUS_TYPE_TC, "TC Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_tc_settings, G_N_ELEMENTS(chorusfx_tc_settings)}, + {CHORUS_TYPE_DUAL, "Dual Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_dual_settings, G_N_ELEMENTS(chorusfx_dual_settings)}, + {CHORUS_TYPE_GLISTEN, "Glisten Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_glisten_settings, G_N_ELEMENTS(chorusfx_glisten_settings)}, + {CHORUS_TYPE_MULTI, "Multi Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_multi_settings, G_N_ELEMENTS(chorusfx_multi_settings)}, + {CHORUS_TYPE_FLANGER, "Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_flanger_settings, G_N_ELEMENTS(chorusfx_flanger_settings)}, + {CHORUS_TYPE_TRIGGERED_FLANGER, "Triggered Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_trig_flanger_settings, G_N_ELEMENTS(chorusfx_trig_flanger_settings)}, + {CHORUS_TYPE_MXR_FLANGER, "MXR FLANGER", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_mxr_flanger_settings, G_N_ELEMENTS(chorusfx_mxr_flanger_settings)}, + {CHORUS_TYPE_EH_FLANGER, "EH Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_eh_flanger_settings, G_N_ELEMENTS(chorusfx_eh_flanger_settings)}, + {CHORUS_TYPE_AD_FLANGER, "AD Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ad_flanger_settings, G_N_ELEMENTS(chorusfx_ad_flanger_settings)}, + {CHORUS_TYPE_PHASER, "Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_phaser_settings, G_N_ELEMENTS(chorusfx_phaser_settings)}, + {CHORUS_TYPE_TRIGGERED_PHASER, "Triggered Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_trig_phaser_settings, G_N_ELEMENTS(chorusfx_trig_phaser_settings)}, + {CHORUS_TYPE_MX_PHASER, "MX Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_mx_phaser_settings, G_N_ELEMENTS(chorusfx_mx_phaser_settings)}, + {CHORUS_TYPE_EH_PHASER, "EH Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_eh_phaser_settings, G_N_ELEMENTS(chorusfx_eh_phaser_settings)}, + {CHORUS_TYPE_VIBRATO, "Vibrato", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_vibrato_settings, G_N_ELEMENTS(chorusfx_vibrato_settings)}, + {CHORUS_TYPE_ROTARY, "Rotary", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_rotary_settings, G_N_ELEMENTS(chorusfx_rotary_settings)}, + {CHORUS_TYPE_VIBROPAN, "Vibropan", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_vibropan_settings, G_N_ELEMENTS(chorusfx_vibropan_settings)}, + {CHORUS_TYPE_UNOVIBE, "Unovibe", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_unovibe_settings, G_N_ELEMENTS(chorusfx_unovibe_settings)}, + {CHORUS_TYPE_TREMOLO, "Tremolo", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_tremolo_settings, G_N_ELEMENTS(chorusfx_tremolo_settings)}, + {CHORUS_TYPE_SCATTER_TREM, "ScatterTrem", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_trem_settings, G_N_ELEMENTS(chorusfx_trem_settings)}, + {CHORUS_TYPE_OPTO_TREMOLO, "Opto Tremolo", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_trem_settings, G_N_ELEMENTS(chorusfx_trem_settings)}, + {CHORUS_TYPE_BIAS_TREMOLO, "Bias Tremolo", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_trem_settings, G_N_ELEMENTS(chorusfx_trem_settings)}, + {CHORUS_TYPE_PANNER, "Panner", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_panner_settings, G_N_ELEMENTS(chorusfx_panner_settings)}, + {CHORUS_TYPE_ENVELOPE, "Envelope", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_envelope_settings, G_N_ELEMENTS(chorusfx_envelope_settings)}, + {CHORUS_TYPE_FX25, "FX25", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_fx25_settings, G_N_ELEMENTS(chorusfx_fx25_settings)}, + {CHORUS_TYPE_AUTOYA, "AutoYa", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_autoya_settings, G_N_ELEMENTS(chorusfx_autoya_settings)}, + {CHORUS_TYPE_YAYA, "YaYa", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_yaya_settings, G_N_ELEMENTS(chorusfx_yaya_settings)}, + {CHORUS_TYPE_SYNTH_TALK, "Synth Talk", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_synth_talk_settings, G_N_ELEMENTS(chorusfx_synth_talk_settings)}, + {CHORUS_TYPE_STEP_FILTER, "Step Filter", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_step_filter_settings, G_N_ELEMENTS(chorusfx_step_filter_settings)}, + {CHORUS_TYPE_SAMPLE_HOLD, "Sample/Hold", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_sample_hold_settings, G_N_ELEMENTS(chorusfx_sample_hold_settings)}, + {CHORUS_TYPE_WHAMMY, "Whammy", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_whammy_settings, G_N_ELEMENTS(chorusfx_whammy_settings)}, + {CHORUS_TYPE_PITCH_SHIFT, "Pitch", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_pitch_shift_settings, G_N_ELEMENTS(chorusfx_pitch_shift_settings)}, + {CHORUS_TYPE_DETUNE, "Detune", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_detune_settings, G_N_ELEMENTS(chorusfx_detune_settings)}, + {CHORUS_TYPE_IPS, "Harmony Pitch", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_ips_settings, G_N_ELEMENTS(chorusfx_ips_settings)}, + {CHORUS_TYPE_OCTAVER, "Octaver", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_octaver_settings, G_N_ELEMENTS(chorusfx_octaver_settings)}, +}; + static EffectGroup rp250_delay_group[] = { {DELAY_TYPE_ANALOG, "Analog", DELAY_TYPE, DELAY_POSITION, delay_analog_settings, G_N_ELEMENTS(delay_analog_settings)}, {DELAY_TYPE_DIGITAL, "Digital", DELAY_TYPE, DELAY_POSITION, delay_digital_settings, G_N_ELEMENTS(delay_digital_settings)}, @@ -1072,8 +1224,12 @@ static Effect noisegate_effect[] = { {NULL, NOISEGATE_ON_OFF, NOISEGATE_POSITION, noisegate_group, G_N_ELEMENTS(noisegate_group)}, }; -static Effect chorusfx_effect[] = { - {NULL, CHORUSFX_ON_OFF, CHORUSFX_POSITION, chorusfx_group, G_N_ELEMENTS(chorusfx_group)}, +static Effect rp250_chorusfx_effect[] = { + {NULL, CHORUSFX_ON_OFF, CHORUSFX_POSITION, rp250_chorusfx_group, G_N_ELEMENTS(rp250_chorusfx_group)}, +}; + +static Effect rp500_chorusfx_effect[] = { + {NULL, CHORUSFX_ON_OFF, CHORUSFX_POSITION, rp500_chorusfx_group, G_N_ELEMENTS(rp500_chorusfx_group)}, }; static Effect rp250_delay_effect[] = { @@ -1113,7 +1269,7 @@ EffectList rp250_effects[] = { {"Compressor", rp250_comp_effect, G_N_ELEMENTS(rp250_comp_effect)}, {"Distortion", dist_effect, G_N_ELEMENTS(dist_effect)}, {"Noisegate", noisegate_effect, G_N_ELEMENTS(noisegate_effect)}, - {"Chorus/FX", chorusfx_effect, G_N_ELEMENTS(chorusfx_effect)}, + {"Chorus/FX", rp250_chorusfx_effect, G_N_ELEMENTS(rp250_chorusfx_effect)}, {"Delay", rp250_delay_effect, G_N_ELEMENTS(rp250_delay_effect)}, {"Reverb", reverb_effect, G_N_ELEMENTS(reverb_effect)}, }; @@ -1127,7 +1283,7 @@ EffectList rp500_effects[] = { {"Compressor", rp500_comp_effect, G_N_ELEMENTS(rp500_comp_effect)}, {"Distortion", dist_effect, G_N_ELEMENTS(dist_effect)}, {"Noisegate", noisegate_effect, G_N_ELEMENTS(noisegate_effect)}, - {"Chorus/FX", chorusfx_effect, G_N_ELEMENTS(chorusfx_effect)}, + {"Chorus/FX", rp500_chorusfx_effect, G_N_ELEMENTS(rp500_chorusfx_effect)}, {"Delay", rp500_delay_effect, G_N_ELEMENTS(rp500_delay_effect)}, {"Reverb", reverb_effect, G_N_ELEMENTS(reverb_effect)}, }; diff --git a/gdigi.h b/gdigi.h index 1c0d217..2f5794d 100644 --- a/gdigi.h +++ b/gdigi.h @@ -273,24 +273,40 @@ enum { enum { CHORUS_TYPE_CE = 0x37B, + CHORUS_TYPE_TC = 0x37C, CHORUS_TYPE_DUAL = 0x379, + CHORUS_TYPE_GLISTEN = 0x392, CHORUS_TYPE_MULTI = 0x37a, CHORUS_TYPE_FLANGER = 0x37d, + CHORUS_TYPE_TRIGGERED_FLANGER = 0x37e, CHORUS_TYPE_MXR_FLANGER = 0x37f, + CHORUS_TYPE_EH_FLANGER = 0x380, + CHORUS_TYPE_AD_FLANGER = 0x393, CHORUS_TYPE_PHASER = 0x381, + CHORUS_TYPE_TRIGGERED_PHASER = 0x382, + CHORUS_TYPE_MX_PHASER = 0x383, + CHORUS_TYPE_EH_PHASER = 0x384, CHORUS_TYPE_VIBRATO = 0x360, CHORUS_TYPE_ROTARY = 0x361, CHORUS_TYPE_VIBROPAN = 0x38f, + CHORUS_TYPE_UNOVIBE = 0x390, CHORUS_TYPE_TREMOLO = 0x35e, + CHORUS_TYPE_SCATTER_TREM = 0x394, + CHORUS_TYPE_OPTO_TREMOLO = 0x388, + CHORUS_TYPE_BIAS_TREMOLO = 0x389, CHORUS_TYPE_PANNER = 0x35f, CHORUS_TYPE_ENVELOPE = 0x38a, + CHORUS_TYPE_FX25 = 0x38e, CHORUS_TYPE_AUTOYA = 0x38b, CHORUS_TYPE_YAYA = 0x38c, + CHORUS_TYPE_SYNTH_TALK = 0x391, CHORUS_TYPE_STEP_FILTER = 0x38d, + CHORUS_TYPE_SAMPLE_HOLD = 0x395, CHORUS_TYPE_WHAMMY = 0x540, CHORUS_TYPE_PITCH_SHIFT = 0x543, CHORUS_TYPE_DETUNE = 0x542, - CHORUS_TYPE_IPS = 0x541 + CHORUS_TYPE_IPS = 0x541, + CHORUS_TYPE_OCTAVER = 0x385, }; #define CHORUSFX_TYPE 768 @@ -300,6 +316,9 @@ enum { #define CE_CHORUS_SPEED 837 #define CE_CHORUS_DEPTH 838 +#define CHORUS_WIDTH 848 +#define CHORUS_INTENSITY 849 + #define DUAL_CHORUS_SPEED 837 #define DUAL_CHORUS_DEPTH 838 #define DUAL_CHORUS_LEVEL 836 @@ -316,17 +335,39 @@ enum { #define FLANGER_LEVEL 901 #define FLANGER_WAVE 905 +#define TRIG_FLANGER_SPEED 1030 +#define TRIG_FLANGER_SENS 1031 +#define TRIG_FLANGER_LFO_START 1028 +#define TRIG_FLANGER_LEVEL 1032 + #define MXR_FLANGER_SPEED 902 #define MXR_FLANGER_WIDTH 914 #define MXR_FLANGER_REGEN 904 #define MXR_FLANGER_MANUAL 917 +#define EH_FLANGER_RATE 918 +#define EH_FLANGER_RANGE 919 +#define EH_FLANGER_COLOR 916 + +#define AD_FLANGER_ENHANCE 920 +#define AD_FLANGER_HARMONICS 921 + #define PHASER_SPEED 962 #define PHASER_DEPTH 963 #define PHASER_REGEN 966 #define PHASER_LEVEL 965 #define PHASER_WAVE 967 +#define TRIG_PHASER_SPEED 1094 +#define TRIG_PHASER_SENS 1095 +#define TRIG_PHASER_LFO_START 1092 +#define TRIG_PHASER_LEVEL 1096 + +#define MX_PHASER_INTENSITY 976 + +#define EH_PHASER_RATE 979 +#define EH_PHASER_COLOR 977 + #define VIBRATO_SPEED 1284 #define VIBRATO_DEPTH 1285 @@ -340,6 +381,11 @@ enum { #define VIBROPAN_VIBRA 1316 #define VIBROPAN_WAVE 1317 +#define UNOVIBE_PEDAL_SPEED 2884 +#define UNOVIBE_INTENSITY 2883 +#define UNOVIBE_CHORUS_VIBRATO 2882 +#define UNOVIBE_VOLUME 2885 + #define TREMOLO_SPEED 1156 #define TREMOLO_DEPTH 1155 #define TREMOLO_WAVE 1157 @@ -350,6 +396,7 @@ enum { #define ENVELOPE_SENSITIVITY 1606 #define ENVELOPE_RANGE 1605 +#define ENVELOPE_BLEND 1608 #define AUTOYA_SPEED 1478 #define AUTOYA_INTENSITY 1482 @@ -359,9 +406,18 @@ enum { #define YAYA_INTENSITY 1417 #define YAYA_RANGE 1418 +#define SYNTH_TALK_ATTACK 1542 +#define SYNTH_TALK_RELEASE 1547 +#define SYNTH_TALK_SENS 1544 +#define SYNTH_TALK_VOX 1540 +#define SYNTH_TALK_BALANCE 1545 + #define STEP_FILTER_SPEED 3010 #define STEP_FILTER_INTENSITY 3011 +#define SAMPLE_HOLD_SPEED 3012 +#define SAMPLE_HOLD_INTENSITY 3013 + #define WHAMMY_AMOUNT 1797 #define WHAMMY_PEDAL 1795 #define WHAMMY_MIX 1796 @@ -377,6 +433,10 @@ enum { #define IPS_SCALE 2755 #define IPS_LEVEL 2757 +#define OCTAVER_OCTAVE1 1746 +#define OCTAVER_OCTAVE2 1747 +#define OCTAVER_DRY_LEVEL 1748 + /* DUAL_CHORUS_WAVE, MULTI_CHORUS_WAVE, FLANGER_WAVE, PHASER_WAVE, VIBROPAN_WAVE, TREMOLO_WAVE, PANNER_WAVE valid values */ #define WAVE_TRI 0x00