add RP255 support

This commit is contained in:
Miklos Aubert
2010-03-04 18:54:58 +01:00
parent ff0be8230e
commit 59753a61dc
2 changed files with 92 additions and 0 deletions

View File

@@ -1578,6 +1578,29 @@ static EffectGroup rp250_chorusfx_group[] = {
{CHORUS_TYPE_IPS, "IPS", chorusfx_ips_settings, G_N_ELEMENTS(chorusfx_ips_settings)}, {CHORUS_TYPE_IPS, "IPS", chorusfx_ips_settings, G_N_ELEMENTS(chorusfx_ips_settings)},
}; };
/* same as rp250, with IPS renamed to Harmony Pitch */
static EffectGroup rp255_chorusfx_group[] = {
{CHORUS_TYPE_CE, "CE Chorus", chorusfx_ce_settings, G_N_ELEMENTS(chorusfx_ce_settings)},
{CHORUS_TYPE_DUAL, "Dual Chorus", chorusfx_dual_settings, G_N_ELEMENTS(chorusfx_dual_settings)},
{CHORUS_TYPE_MULTI, "Multi Chorus", chorusfx_multi_settings, G_N_ELEMENTS(chorusfx_multi_settings)},
{CHORUS_TYPE_FLANGER, "Flanger", chorusfx_flanger_settings, G_N_ELEMENTS(chorusfx_flanger_settings)},
{CHORUS_TYPE_MXR_FLANGER, "MXR FLANGER", chorusfx_mxr_flanger_settings, G_N_ELEMENTS(chorusfx_mxr_flanger_settings)},
{CHORUS_TYPE_PHASER, "Phaser", chorusfx_phaser_settings, G_N_ELEMENTS(chorusfx_phaser_settings)},
{CHORUS_TYPE_VIBRATO, "Vibrato", chorusfx_vibrato_settings, G_N_ELEMENTS(chorusfx_vibrato_settings)},
{CHORUS_TYPE_ROTARY, "Rotary", chorusfx_rotary_settings, G_N_ELEMENTS(chorusfx_rotary_settings)},
{CHORUS_TYPE_VIBROPAN, "Vibropan", chorusfx_vibropan_settings, G_N_ELEMENTS(chorusfx_vibropan_settings)},
{CHORUS_TYPE_TREMOLO, "Tremolo", chorusfx_tremolo_settings, G_N_ELEMENTS(chorusfx_tremolo_settings)},
{CHORUS_TYPE_PANNER, "Panner", chorusfx_panner_settings, G_N_ELEMENTS(chorusfx_panner_settings)},
{CHORUS_TYPE_ENVELOPE, "Envelope", chorusfx_envelope_settings, G_N_ELEMENTS(chorusfx_envelope_settings)},
{CHORUS_TYPE_AUTOYA, "AutoYa", chorusfx_autoya_settings, G_N_ELEMENTS(chorusfx_autoya_settings)},
{CHORUS_TYPE_YAYA, "YaYa", chorusfx_yaya_settings, G_N_ELEMENTS(chorusfx_yaya_settings)},
{CHORUS_TYPE_STEP_FILTER, "Step Filter", chorusfx_step_filter_settings, G_N_ELEMENTS(chorusfx_step_filter_settings)},
{CHORUS_TYPE_WHAMMY, "Whammy", chorusfx_whammy_settings, G_N_ELEMENTS(chorusfx_whammy_settings)},
{CHORUS_TYPE_PITCH_SHIFT, "Pitch Shift", chorusfx_pitch_shift_settings, G_N_ELEMENTS(chorusfx_pitch_shift_settings)},
{CHORUS_TYPE_DETUNE, "Detune", chorusfx_detune_settings, G_N_ELEMENTS(chorusfx_detune_settings)},
{CHORUS_TYPE_IPS, "Harmony Pitch", chorusfx_ips_settings, G_N_ELEMENTS(chorusfx_ips_settings)},
};
static EffectGroup rp355_chorusfx_group[] = { static EffectGroup rp355_chorusfx_group[] = {
{CHORUS_TYPE_CE, "CE Chorus", chorusfx_ce_settings, G_N_ELEMENTS(chorusfx_ce_settings)}, {CHORUS_TYPE_CE, "CE Chorus", chorusfx_ce_settings, G_N_ELEMENTS(chorusfx_ce_settings)},
{CHORUS_TYPE_TC, "TC Chorus", chorusfx_tc_settings, G_N_ELEMENTS(chorusfx_tc_settings)}, {CHORUS_TYPE_TC, "TC Chorus", chorusfx_tc_settings, G_N_ELEMENTS(chorusfx_tc_settings)},
@@ -1734,6 +1757,35 @@ static EffectGroup rp250_amp_group[] = {
{AMP_TYPE_DIRECT, "Direct", rp250_amp_settings2, G_N_ELEMENTS(rp250_amp_settings2)}, {AMP_TYPE_DIRECT, "Direct", rp250_amp_settings2, G_N_ELEMENTS(rp250_amp_settings2)},
}; };
/* same as RP250, with added 45 JTM, JMPPNL and SOLDNO */
static EffectGroup rp255_amp_group[] = {
{AMP_TYPE_TWEED_CHAMP, "Tweed Champ", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_TWEED_DELUXE, "Tweed Deluxe", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_TWEED_BASSMAN, "Tweed Bassman", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_BLACKFACE_TWIN, "Blackface Twin", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_BLACKFACE_DELUXE, "Blackface Deluxe", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_SUPER_LEAD_PLEXI, "Super Lead Plexi", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_PLEXI_JTM_45, "Plexi JTM-45", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_PLEXI_JUMP_PANEL, "Plexi Jump Panel", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_MASTER_VOLUME, "Master Volume", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_JCM800, "JCM800", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_JCM900, "JCM900", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_AC15, "AC15", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_AC30TB, "AC30TB", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_HIWATT_100, "Hiwatt 100", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_BOOGIE_MARK_II, "Boogie Mark II", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_DUAL_RECTIFIER, "Dual Rectifier", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_MATCHLESS_HC30, "Matchless HC30", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_SOLDANO_100, "Soldano 100", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_SOLO, "Solo", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_METAL, "Metal", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_BRIGHT, "Bright", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_CLEAN, "Clean", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_HIGH_GAIN, "High Gain", rp250_amp_settings, G_N_ELEMENTS(rp250_amp_settings)},
{AMP_TYPE_ACOUSTIC, "Acoustic", rp250_amp_settings2, G_N_ELEMENTS(rp250_amp_settings2)},
{AMP_TYPE_DIRECT, "Direct", rp250_amp_settings2, G_N_ELEMENTS(rp250_amp_settings2)},
};
static EffectGroup rp355_amp_select_group[] = { static EffectGroup rp355_amp_select_group[] = {
{AMP_CHANNEL_A, "A", NULL, -1}, {AMP_CHANNEL_A, "A", NULL, -1},
{AMP_CHANNEL_B, "B", NULL, -1}, {AMP_CHANNEL_B, "B", NULL, -1},
@@ -2214,6 +2266,10 @@ static Effect rp250_chorusfx_effect[] = {
{NULL, CHORUSFX_ON_OFF, CHORUSFX_TYPE, CHORUSFX_POSITION, rp250_chorusfx_group, G_N_ELEMENTS(rp250_chorusfx_group)}, {NULL, CHORUSFX_ON_OFF, CHORUSFX_TYPE, CHORUSFX_POSITION, rp250_chorusfx_group, G_N_ELEMENTS(rp250_chorusfx_group)},
}; };
static Effect rp255_chorusfx_effect[] = {
{NULL, CHORUSFX_ON_OFF, CHORUSFX_TYPE, CHORUSFX_POSITION, rp255_chorusfx_group, G_N_ELEMENTS(rp255_chorusfx_group)},
};
static Effect rp355_chorusfx_effect[] = { static Effect rp355_chorusfx_effect[] = {
{"Position",-1, CHORUSFX_PRE_POST,CHORUSFX_POSITION, pre_post_group,G_N_ELEMENTS(pre_post_group)}, {"Position",-1, CHORUSFX_PRE_POST,CHORUSFX_POSITION, pre_post_group,G_N_ELEMENTS(pre_post_group)},
{NULL, CHORUSFX_ON_OFF,CHORUSFX_TYPE, CHORUSFX_POSITION, rp355_chorusfx_group, G_N_ELEMENTS(rp355_chorusfx_group)}, {NULL, CHORUSFX_ON_OFF,CHORUSFX_TYPE, CHORUSFX_POSITION, rp355_chorusfx_group, G_N_ELEMENTS(rp355_chorusfx_group)},
@@ -2252,6 +2308,12 @@ static Effect rp250_amp_effect[] = {
{"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp250_amp_cab_group, G_N_ELEMENTS(rp250_amp_cab_group)}, {"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp250_amp_cab_group, G_N_ELEMENTS(rp250_amp_cab_group)},
}; };
/* same cabs as rp250, but 3 new amp models */
static Effect rp255_amp_effect[] = {
{NULL, AMP_ON_OFF, AMP_TYPE, AMP_POSITION, rp255_amp_group, G_N_ELEMENTS(rp255_amp_group)},
{"Cabinet", -1, AMP_CAB_TYPE, AMP_CAB_POSITION, rp250_amp_cab_group, G_N_ELEMENTS(rp250_amp_cab_group)},
};
static Effect rp355_select_amp_effect[] = { static Effect rp355_select_amp_effect[] = {
{"Select Amp", -1, AMP_SELECT, AMP_SELECT_POSITION, rp355_amp_select_group, G_N_ELEMENTS(rp355_amp_select_group)}, {"Select Amp", -1, AMP_SELECT, AMP_SELECT_POSITION, rp355_amp_select_group, G_N_ELEMENTS(rp355_amp_select_group)},
}; };
@@ -2327,6 +2389,20 @@ static EffectList rp250_effects[] = {
{"Pickup/Misc", pickup_misc_effect, G_N_ELEMENTS(pickup_misc_effect)}, {"Pickup/Misc", pickup_misc_effect, G_N_ELEMENTS(pickup_misc_effect)},
}; };
/* Almost like rp250, except for Amplifier and Chorus/FX */
static EffectList rp255_effects[] = {
{"Wah", wah_effect, G_N_ELEMENTS(wah_effect)},
{"Amplifier", rp255_amp_effect, G_N_ELEMENTS(rp255_amp_effect)},
{"Equalizer", rp250_eq_effect, G_N_ELEMENTS(rp250_eq_effect)},
{"Compressor", rp250_comp_effect, G_N_ELEMENTS(rp250_comp_effect)},
{"Distortion", rp250_dist_effect, G_N_ELEMENTS(rp250_dist_effect)},
{"Noisegate", noisegate_effect, G_N_ELEMENTS(noisegate_effect)},
{"Chorus/FX", rp255_chorusfx_effect, G_N_ELEMENTS(rp255_chorusfx_effect)},
{"Delay", rp250_delay_effect, G_N_ELEMENTS(rp250_delay_effect)},
{"Reverb", reverb_effect, G_N_ELEMENTS(reverb_effect)},
{"Pickup/Misc", pickup_misc_effect, G_N_ELEMENTS(pickup_misc_effect)},
};
static EffectList rp355_effects[] = { static EffectList rp355_effects[] = {
{"Pickup/Misc", pickup_misc_effect, G_N_ELEMENTS(pickup_misc_effect)}, {"Pickup/Misc", pickup_misc_effect, G_N_ELEMENTS(pickup_misc_effect)},
{"Wah", wah_effect, G_N_ELEMENTS(wah_effect)}, {"Wah", wah_effect, G_N_ELEMENTS(wah_effect)},
@@ -2407,6 +2483,10 @@ static EffectPage rp250_pages[] = {
{"Effects", rp250_effects, G_N_ELEMENTS(rp250_effects), 2}, {"Effects", rp250_effects, G_N_ELEMENTS(rp250_effects), 2},
}; };
static EffectPage rp255_pages[] = {
{"Effects", rp255_effects, G_N_ELEMENTS(rp255_effects), 2},
};
static EffectPage rp355_pages[] = { static EffectPage rp355_pages[] = {
{"Effects", rp355_effects, G_N_ELEMENTS(rp355_effects), 2}, {"Effects", rp355_effects, G_N_ELEMENTS(rp355_effects), 2},
}; };
@@ -2434,6 +2514,16 @@ static Device rp250 = {
.n_banks = G_N_ELEMENTS(rp_banks), .n_banks = G_N_ELEMENTS(rp_banks),
}; };
static Device rp255 = {
.name = "DigiTech RP255",
.family_id = 0x5E,
.product_id = 0x08,
.pages = rp255_pages,
.n_pages = G_N_ELEMENTS(rp255_pages),
.banks = rp_banks,
.n_banks = G_N_ELEMENTS(rp_banks),
};
static Device rp355 = { static Device rp355 = {
.name = "DigiTech RP355", .name = "DigiTech RP355",
.family_id = 0x5E, .family_id = 0x5E,
@@ -2476,6 +2566,7 @@ static Device gnx3000 = {
Device* supported_devices[] = { Device* supported_devices[] = {
&rp250, &rp250,
&rp255,
&rp355, &rp355,
&rp500, &rp500,
&gnx4, &gnx4,

1
gui.c
View File

@@ -858,6 +858,7 @@ typedef struct {
static SupportedFileTypes file_types[] = { static SupportedFileTypes file_types[] = {
{"RP250Preset", "*.rp250p"}, {"RP250Preset", "*.rp250p"},
{"RP255Preset", "*.rp255p"},
{"RP355Preset", "*.rp355p"}, {"RP355Preset", "*.rp355p"},
{"RP500Preset", "*.rp500p"}, {"RP500Preset", "*.rp500p"},
}; };