add GNX3000 chorus settings

This commit is contained in:
Stephen Rigler
2009-05-09 07:47:22 +02:00
parent ebc603143e
commit e820ce0cc4
2 changed files with 191 additions and 2 deletions

149
effects.c
View File

@@ -293,6 +293,11 @@ static EffectValues values_m24_to_24 = {
0.0, 48.0, NULL,
};
static EffectValues values_m12_to_24 = {
/** \todo make this display properly (display range -12 to 24) */
0.0, 36.0, NULL,
};
static EffectValues values_comp_ratio = {
0.0, 11.0, comp_ratio_labels,
};
@@ -332,6 +337,11 @@ static EffectValues values_eq_high_freq = {
0.0, 24.0, eq_high_freq_labels,
};
static EffectValues values_200hz_to_1_5khz = {
/** \todo make this display propertly (display range 200 Hz to 1.5 kHz) */
0.0, 130.0, NULL,
};
static EffectValues values_waveform = {
0.0, 2.0, wave_labels,
};
@@ -341,6 +351,11 @@ static EffectValues values_synth_talk_balance = {
0.0, 198.0, NULL,
};
static EffectValues values_synth_talk_release = {
/** \todo make last value display propertly */
0.0, 100.0, NULL,
};
static EffectValues values_whammy_amount = {
0.0, 15.0, whammy_labels,
};
@@ -357,6 +372,11 @@ static EffectValues values_ips_scale = {
0.0, 5.0, ips_scale_labels,
};
static EffectValues values_predelay_time = {
/** \todo make this display propertly (1ms to 20ms) */
0.0, 19.0, NULL,
};
static EffectValues values_delay_time = {
/** \todo make this display propertly (10 msec to 5 sec) */
0.0, 139.0, NULL,
@@ -669,6 +689,111 @@ static EffectSettings noisegate_swell_settings[] = {
{"Attn", NOISEGATE_ATTN, NOISEGATE_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_chorus_settings[] = {
{"Speed", CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
{"Predelay", CHORUS_PREDELAY, CHORUSFX_POSITION, &values_predelay_time},
{"Wave", CHORUS_WAVE, CHORUSFX_POSITION, &values_waveform},
{"Balance", CHORUS_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Level", CHORUS_LEVEL, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_flanger_settings[] = {
{"Speed", FLANGER_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", FLANGER_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
{"Regen", FLANGER_REGEN, CHORUSFX_POSITION, &values_0_to_99},
{"Waveform", FLANGER_WAVE, CHORUSFX_POSITION, &values_waveform},
{"Balance", FLANGER_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Mix", FLANGER_LEVEL, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_phaser_settings[] = {
{"Speed", PHASER_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", PHASER_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
{"Regen", PHASER_REGEN, CHORUSFX_POSITION, &values_0_to_99},
{"Waveform", PHASER_WAVE, CHORUSFX_POSITION, &values_waveform},
{"Balance", PHASER_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Level", PHASER_LEVEL, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_trigflanger_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},
{"Mix", TRIG_FLANGER_MIX, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_trigphaser_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},
{"Mix", TRIG_FLANGER_MIX, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_unovibe_settings[] = {
{"Chorus/Vibrato", UNOVIBE_CHORUS_VIBRATO, CHORUSFX_POSITION, &values_chorus_vibrato},
{"Intensity", UNOVIBE_INTENSITY, CHORUSFX_POSITION, &values_0_to_99},
{"Pedal Speed", UNOVIBE_PEDAL_SPEED, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_vibrato_settings[] = {
{"Speed", VIBRATO_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", VIBRATO_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
{"Waveform", VIBRATO_WAVEFORM, CHORUSFX_POSITION, &values_waveform},
};
static EffectSettings gnx3k_rotary_settings[] = {
{"Speed", ROTARY_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", ROTARY_INTENSITY, CHORUSFX_POSITION, &values_0_to_99},
{"Doppler", ROTARY_DOPPLER, CHORUSFX_POSITION, &values_0_to_99},
{"X-Over", ROTARY_CROSSOVER, CHORUSFX_POSITION, &values_200hz_to_1_5khz},
{"Balance", ROTARY_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Mix", ROTARY_MIX, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_autoya_settings[] = {
{"Speed", AUTOYA_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", AUTOYA_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
{"Range", GNX3K_AUTOYA_RANGE, CHORUSFX_POSITION, &values_0_to_49},
{"Balance", AUTOYA_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Mix", AUTOYA_MIX, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_yaya_settings[] = {
{"Pedal", YAYA_PEDAL, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", YAYA_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
{"Range", GNX3K_YAYA_RANGE, CHORUSFX_POSITION, &values_0_to_49},
{"Balance", YAYA_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Mix", YAYA_MIX, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_synthtalk_settings[] = {
{"Attack", SYNTH_TALK_ATTACK, CHORUSFX_POSITION, &values_0_to_99},
{"Release", GNX3K_SYNTH_TALK_RELEASE, CHORUSFX_POSITION, &values_synth_talk_release},
{"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 gnx3k_envelope_settings[] = {
{"Sensitivity", ENVELOPE_SENSITIVITY, CHORUSFX_POSITION, &values_0_to_99},
{"Range", ENVELOPE_RANGE, CHORUSFX_POSITION, &values_0_to_99},
{"Balance", ENVELOPE_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Mix", ENVELOPE_MIX, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_mod_detune_settings[] = {
{"Shift Amount", DETUNE_AMOUNT, CHORUSFX_POSITION, &values_m24_to_24},
{"Balance", DETUNE_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Level", DETUNE_LEVEL, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings gnx3k_mod_pitch_settings[] = {
{"Shift Amount", PITCH_AMOUNT, CHORUSFX_POSITION, &values_m12_to_24},
{"Balance", PITCH_BALANCE, CHORUSFX_POSITION, &values_synth_talk_balance},
{"Level", GNX3K_PITCH_LEVEL, CHORUSFX_POSITION, &values_0_to_99},
};
static EffectSettings chorusfx_ce_settings[] = {
{"Speed", CHORUS_SPEED, CHORUSFX_POSITION, &values_0_to_99},
{"Depth", CHORUS_DEPTH, CHORUSFX_POSITION, &values_0_to_99},
@@ -1081,6 +1206,25 @@ static EffectGroup noisegate_group[] = {
{NOISEGATE_SWELL, "Swell", NOISEGATE_TYPE, NOISEGATE_POSITION, noisegate_swell_settings, G_N_ELEMENTS(noisegate_swell_settings)},
};
static EffectGroup gnx3k_chorusfx_group[] = {
{GNX3K_MOD_TYPE_CHORUS, "Chorus", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_chorus_settings, G_N_ELEMENTS(gnx3k_chorus_settings)},
{GNX3K_MOD_TYPE_FLANGER, "Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_flanger_settings, G_N_ELEMENTS(gnx3k_flanger_settings)},
{GNX3K_MOD_TYPE_PHASER, "Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_phaser_settings, G_N_ELEMENTS(gnx3k_phaser_settings)},
{GNX3K_MOD_TYPE_TRIGFLANGER, "Triggered Flanger", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_trigflanger_settings, G_N_ELEMENTS(gnx3k_trigflanger_settings)},
{GNX3K_MOD_TYPE_TRIGPHASER, "Triggered Phaser", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_trigphaser_settings, G_N_ELEMENTS(gnx3k_trigphaser_settings)},
{GNX3K_MOD_TYPE_UNOVIBE, "Unovibe", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_unovibe_settings, G_N_ELEMENTS(gnx3k_unovibe_settings)},
{GNX3K_MOD_TYPE_TREMOLO, "Tremolo", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_tremolo_settings, G_N_ELEMENTS(chorusfx_tremolo_settings)},
{GNX3K_MOD_TYPE_PANNER, "Panner", CHORUSFX_TYPE, CHORUSFX_POSITION, chorusfx_panner_settings, G_N_ELEMENTS(chorusfx_panner_settings)},
{GNX3K_MOD_TYPE_VIBRATO, "Vibrato", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_vibrato_settings, G_N_ELEMENTS(gnx3k_vibrato_settings)},
{GNX3K_MOD_TYPE_ROTARY, "Rotary", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_rotary_settings, G_N_ELEMENTS(gnx3k_rotary_settings)},
{GNX3K_MOD_TYPE_AUTOYA, "Auto Ya", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_autoya_settings, G_N_ELEMENTS(gnx3k_autoya_settings)},
{GNX3K_MOD_TYPE_YAYA, "Ya Ya", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_yaya_settings, G_N_ELEMENTS(gnx3k_yaya_settings)},
{GNX3K_MOD_TYPE_SYNTHTALK, "Synthtalk", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_synthtalk_settings, G_N_ELEMENTS(gnx3k_synthtalk_settings)},
{GNX3K_MOD_TYPE_ENVELOPE, "Envelope", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_envelope_settings, G_N_ELEMENTS(gnx3k_envelope_settings)},
{GNX3K_MOD_TYPE_DETUNE, "Detune", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_mod_detune_settings, G_N_ELEMENTS(gnx3k_mod_detune_settings)},
{GNX3K_MOD_TYPE_PITCH, "Pitch", CHORUSFX_TYPE, CHORUSFX_POSITION, gnx3k_mod_pitch_settings, G_N_ELEMENTS(gnx3k_mod_pitch_settings)},
};
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)},
@@ -1427,6 +1571,10 @@ static Effect noisegate_effect[] = {
{NULL, NOISEGATE_ON_OFF, NOISEGATE_POSITION, noisegate_group, G_N_ELEMENTS(noisegate_group)},
};
static Effect gnx3k_chorusfx_effect[] = {
{NULL, CHORUSFX_ON_OFF, CHORUSFX_POSITION, gnx3k_chorusfx_group, G_N_ELEMENTS(gnx3k_chorusfx_group)},
};
static Effect rp250_chorusfx_effect[] = {
{NULL, CHORUSFX_ON_OFF, CHORUSFX_POSITION, rp250_chorusfx_group, G_N_ELEMENTS(rp250_chorusfx_group)},
};
@@ -1502,6 +1650,7 @@ static EffectList gnx3000_effects[] = {
{"Compressor", gnx3k_comp_effect, G_N_ELEMENTS(gnx3k_comp_effect)},
{"Stompbox", gnx3k_dist_effect, G_N_ELEMENTS(gnx3k_dist_effect)},
{"Noisegate", gnx3k_noisegate_effect, G_N_ELEMENTS(gnx3k_noisegate_effect)},
{"Chorus/Mod", gnx3k_chorusfx_effect, G_N_ELEMENTS(gnx3k_chorusfx_effect)},
};
static Banks rp_banks[] = {

44
gdigi.h
View File

@@ -52,7 +52,6 @@ enum {
#define GNX3K_WHAM_TYPE 768
#define GNX3K_WHAM_ENABLE 769
#define GNX3K_WHAM_POSITION 5
#define GNX3K_DETUNE_AMOUNT 1670
#define GNX3K_PITCH_AMOUNT 1732
#define GNX3K_PITCH_LEVEL 1731
@@ -342,6 +341,25 @@ enum {
#define NOISEGATE_RELEASE 713
#define NOISEGATE_ATTN 714
enum {
GNX3K_MOD_TYPE_CHORUS = 857,
GNX3K_MOD_TYPE_FLANGER = 858,
GNX3K_MOD_TYPE_TRIGFLANGER = 859,
GNX3K_MOD_TYPE_PHASER = 860,
GNX3K_MOD_TYPE_TRIGPHASER = 861,
GNX3K_MOD_TYPE_TREMOLO = 862,
GNX3K_MOD_TYPE_PANNER = 863,
GNX3K_MOD_TYPE_VIBRATO = 864,
GNX3K_MOD_TYPE_ROTARY = 865,
GNX3K_MOD_TYPE_AUTOYA = 866,
GNX3K_MOD_TYPE_YAYA = 867,
GNX3K_MOD_TYPE_SYNTHTALK = 868,
GNX3K_MOD_TYPE_ENVELOPE = 869,
GNX3K_MOD_TYPE_DETUNE = 870,
GNX3K_MOD_TYPE_PITCH = 871,
GNX3K_MOD_TYPE_UNOVIBE = 880,
};
enum {
CHORUS_TYPE_CE = 0x37B,
CHORUS_TYPE_TC = 0x37C,
@@ -386,22 +404,26 @@ enum {
#define CHORUS_SPEED 837
#define CHORUS_DEPTH 838
#define CHORUS_PREDELAY 839
#define CHORUS_WIDTH 848
#define CHORUS_INTENSITY 849
#define CHORUS_LEVEL 836
#define CHORUS_WAVE 840
#define CHORUS_BALANCE 841
#define FLANGER_SPEED 902
#define FLANGER_DEPTH 903
#define FLANGER_REGEN 904
#define FLANGER_LEVEL 901
#define FLANGER_WAVE 905
#define FLANGER_BALANCE 906
#define TRIG_FLANGER_SPEED 1030
#define TRIG_FLANGER_SENS 1031
#define TRIG_FLANGER_LFO_START 1028
#define TRIG_FLANGER_MIX 1029
#define TRIG_FLANGER_LEVEL 1032
#define MXR_FLANGER_WIDTH 914
@@ -419,10 +441,12 @@ enum {
#define PHASER_REGEN 966
#define PHASER_LEVEL 965
#define PHASER_WAVE 967
#define PHASER_BALANCE 968
#define TRIG_PHASER_SPEED 1094
#define TRIG_PHASER_SENS 1095
#define TRIG_PHASER_LFO_START 1092
#define TRIG_PHASER_MIX 1093
#define TRIG_PHASER_LEVEL 1096
#define MX_PHASER_INTENSITY 976
@@ -432,11 +456,14 @@ enum {
#define VIBRATO_SPEED 1284
#define VIBRATO_DEPTH 1285
#define VIBRATO_WAVEFORM 1286
#define ROTARY_SPEED 1346
#define ROTARY_INTENSITY 1348
#define ROTARY_MIX 1349
#define ROTARY_DOPPLER 1350
#define ROTARY_CROSSOVER 1351
#define ROTARY_BALANCE 1352
#define VIBROPAN_SPEED 1314
#define VIBROPAN_DEPTH 1315
@@ -456,19 +483,30 @@ enum {
#define PANNER_DEPTH 1219
#define PANNER_WAVE 1221
#define ENVELOPE_MIX 1604
#define ENVELOPE_SENSITIVITY 1606
#define ENVELOPE_RANGE 1605
#define ENVELOPE_BALANCE 1607
#define ENVELOPE_BLEND 1608
#define GNX3K_AUTOYA_RANGE 1476
#define AUTOYA_MIX 1477
#define AUTOYA_SPEED 1478
#define AUTOYA_DEPTH 1479
#define AUTOYA_BALANCE 1481
#define AUTOYA_INTENSITY 1482
#define AUTOYA_RANGE 1483
#define YAYA_PEDAL 1410
#define GNX3K_YAYA_RANGE 1412
#define YAYA_MIX 1413
#define YAYA_DEPTH 1414
#define YAYA_BALANCE 1416
#define YAYA_INTENSITY 1417
#define YAYA_RANGE 1418
#define SYNTH_TALK_ATTACK 1542
#define GNX3K_SYNTH_TALK_RELEASE 1543
#define SYNTH_TALK_RELEASE 1547
#define SYNTH_TALK_SENS 1544
#define SYNTH_TALK_VOX 1540
@@ -485,10 +523,12 @@ enum {
#define WHAMMY_MIX 1796
#define PITCH_AMOUNT 1730
#define PITCH_BALANCE 1733
#define PITCH_MIX 1745
#define DETUNE_AMOUNT 1668
#define DETUNE_LEVEL 1667
#define DETUNE_AMOUNT 1668
#define DETUNE_BALANCE 1669
#define IPS_SHIFT_AMOUNT 2754
#define IPS_KEY 2756