|
|
@ -593,6 +593,7 @@ void setup() |
|
|
|
|
|
|
|
|
|
|
|
// Setup EPiano
|
|
|
|
// Setup EPiano
|
|
|
|
#if defined(USE_FX) |
|
|
|
#if defined(USE_FX) |
|
|
|
|
|
|
|
#if defined(USE_EPIANO) |
|
|
|
// EP_CHORUS
|
|
|
|
// EP_CHORUS
|
|
|
|
switch (configuration.fx.ep_chorus_waveform) |
|
|
|
switch (configuration.fx.ep_chorus_waveform) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -633,6 +634,7 @@ void setup() |
|
|
|
ep_delay_fb_mixer_r.gain(0, 1.0); |
|
|
|
ep_delay_fb_mixer_r.gain(0, 1.0); |
|
|
|
ep_delay_fb_mixer_l.gain(1, midi_volume_transform(map(configuration.fx.ep_delay_feedback, EP_DELAY_FEEDBACK_MIN, EP_DELAY_FEEDBACK_MAX, 0, 127))); |
|
|
|
ep_delay_fb_mixer_l.gain(1, midi_volume_transform(map(configuration.fx.ep_delay_feedback, EP_DELAY_FEEDBACK_MIN, EP_DELAY_FEEDBACK_MAX, 0, 127))); |
|
|
|
ep_delay_fb_mixer_l.gain(1, midi_volume_transform(map(configuration.fx.ep_delay_feedback, EP_DELAY_FEEDBACK_MIN, EP_DELAY_FEEDBACK_MAX, 0, 127))); |
|
|
|
ep_delay_fb_mixer_l.gain(1, midi_volume_transform(map(configuration.fx.ep_delay_feedback, EP_DELAY_FEEDBACK_MIN, EP_DELAY_FEEDBACK_MAX, 0, 127))); |
|
|
|
|
|
|
|
#endif |
|
|
|
#else |
|
|
|
#else |
|
|
|
master_mixer_r.gain(3, 1.0); |
|
|
|
master_mixer_r.gain(3, 1.0); |
|
|
|
master_mixer_l.gain(3, 1.0); |
|
|
|
master_mixer_l.gain(3, 1.0); |
|
|
@ -2152,6 +2154,18 @@ void check_configuration_fx(void) |
|
|
|
configuration.fx.eq_5 = constrain(configuration.fx.eq_5, EQ_5_MIN, EQ_5_MAX); |
|
|
|
configuration.fx.eq_5 = constrain(configuration.fx.eq_5, EQ_5_MIN, EQ_5_MAX); |
|
|
|
configuration.fx.eq_6 = constrain(configuration.fx.eq_6, EQ_6_MIN, EQ_6_MAX); |
|
|
|
configuration.fx.eq_6 = constrain(configuration.fx.eq_6, EQ_6_MIN, EQ_6_MAX); |
|
|
|
configuration.fx.eq_7 = constrain(configuration.fx.eq_7, EQ_7_MIN, EQ_7_MAX); |
|
|
|
configuration.fx.eq_7 = constrain(configuration.fx.eq_7, EQ_7_MIN, EQ_7_MAX); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(USE_EPIANO) |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_frequency = constrain(configuration.fx.ep_chorus_frequency, EP_CHORUS_FREQUENCY_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_waveform = constrain(configuration.fx.ep_chorus_waveform, EP_CHORUS_WAVEFORM_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_depth = constrain(configuration.fx.ep_chorus_depth, EP_CHORUS_DEPTH_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_level = constrain(configuration.fx.ep_chorus_level, EP_CHORUS_LEVEL_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_delay_time = constrain(configuration.fx.ep_delay_time / 10, EP_DELAY_TIME_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_delay_feedback = constrain(configuration.fx.ep_delay_feedback, EP_DELAY_FEEDBACK_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_delay_level = constrain(configuration.fx.ep_delay_level, EP_DELAY_LEVEL_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_delay_sync = constrain(configuration.fx.ep_delay_sync, EP_DELAY_SYNC_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
configuration.fx.ep_reverb_send = constrain(configuration.fx.ep_reverb_send, EP_REVERB_SEND_MIN, EP_CHORUS_FREQUENCY_MAX); |
|
|
|
|
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void check_configuration_dexed(uint8_t instance_id) |
|
|
|
void check_configuration_dexed(uint8_t instance_id) |
|
|
@ -2213,6 +2227,18 @@ void init_configuration(void) |
|
|
|
configuration.fx.reverb_roomsize = REVERB_ROOMSIZE_DEFAULT; |
|
|
|
configuration.fx.reverb_roomsize = REVERB_ROOMSIZE_DEFAULT; |
|
|
|
configuration.fx.reverb_level = REVERB_LEVEL_DEFAULT; |
|
|
|
configuration.fx.reverb_level = REVERB_LEVEL_DEFAULT; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(USE_EPIANO) |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_frequency = EP_CHORUS_FREQUENCY_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_waveform = EP_CHORUS_WAVEFORM_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_depth = EP_CHORUS_DEPTH_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_chorus_level = EP_CHORUS_LEVEL_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_delay_time = EP_DELAY_TIME_DEFAULT / 10; |
|
|
|
|
|
|
|
configuration.fx.ep_delay_feedback = EP_DELAY_FEEDBACK_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_delay_level = EP_DELAY_LEVEL_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_delay_sync = EP_DELAY_SYNC_DEFAULT; |
|
|
|
|
|
|
|
configuration.fx.ep_reverb_send = EP_REVERB_SEND_DEFAULT; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
for (uint8_t instance_id = 0; instance_id < NUM_DEXED; instance_id++) |
|
|
|
for (uint8_t instance_id = 0; instance_id < NUM_DEXED; instance_id++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
configuration.dexed[instance_id].bank = SYSEXBANK_DEFAULT; |
|
|
|
configuration.dexed[instance_id].bank = SYSEXBANK_DEFAULT; |
|
|
|