diff --git a/MicroDexed.ino b/MicroDexed.ino index e7af90a..b86cddf 100644 --- a/MicroDexed.ino +++ b/MicroDexed.ino @@ -297,16 +297,14 @@ void setup() sgtl5000_1.unmuteHeadphone(); sgtl5000_1.unmuteLineout(); sgtl5000_1.volume(SGTL5000_HEADPHONE_VOLUME, SGTL5000_HEADPHONE_VOLUME); // Headphone volume - //sgtl5000_1.audioPostProcessorEnable(); - //sgtl5000_1.autoVolumeControl(1, 1, 1, 0.9, 0.01, 0.05); - //sgtl5000_1.autoVolumeEnable(); - sgtl5000_1.autoVolumeDisable(); - //sgtl5000_1.surroundSoundEnable(); - sgtl5000_1.surroundSoundDisable(); - //sgtl5000_1.surroundSound(7, 2); // Configures virtual surround width from 0 (mono) to 7 (widest). select may be set to 1 (disable), 2 (mono input) or 3 (stereo input). - //sgtl5000_1.enhanceBassEnable(); - sgtl5000_1.enhanceBassDisable(); - //sgtl5000_1.enhanceBass(1.0, 0.2, 1, 2); // Configures the bass enhancement by setting the levels of the original stereo signal and the bass-enhanced mono level which will be mixed together. The high-pass filter may be enabled (0) or bypassed (1). +#ifdef SGTL5000_AUDIO_ENHANCE + sgtl5000_1.audioPostProcessorEnable(); + sgtl5000_1.enhanceBassEnable(); + sgtl5000_1.enhanceBass(1.0, 1.0); // enhanceBass(1.0, 1.0, 1, 2); // Configures the bass enhancement by setting the levels of the original stereo signal and the bass-enhanced mono level which will be mixed together. The high-pass filter may be enabled (0) or bypassed (1). + sgtl5000_1.surroundSound(7, 3); // Configures virtual surround width from 0 (mono) to 7 (widest). select may be set to 1 (disable), 2 (mono input) or 3 (stereo input). + sgtl5000_1.surroundSoundEnable(); + sgtl5000_1.autoVolumeControl(1, 1, 1, 0.9, 0.01, 0.05); + sgtl5000_1.autoVolumeEnable(); /* The cutoff frequency is specified as follows: value frequency 0 80Hz @@ -318,6 +316,11 @@ void setup() 6 225Hz */ //sgtl5000_1.eqBands(bass, mid_bass, midrange, mid_treble, treble); +#else + sgtl5000_1.autoVolumeDisable(); + sgtl5000_1.surroundSoundDisable(); + sgtl5000_1.enhanceBassDisable(); +#endif #ifdef DEBUG Serial.println(F("Teensy-Audio-Board enabled.")); #endif @@ -1355,7 +1358,7 @@ void initial_values_from_eeprom(bool init) #if defined(USE_FX) //chorus_mixer[instance_id]->gain(0, 1.0 - pseudo_log_curve(mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 1.0), true)); //chorus_mixer[instance_id]->gain(1, pseudo_log_curve(mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 1.0), true)); - chorus_mixer[instance_id]->gain(0, 1.0 - mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); + //chorus_mixer[instance_id]->gain(0, 1.0 - mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); chorus_mixer[instance_id]->gain(1, mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); delay_mixer[instance_id]->gain(0, 1.0); delay_mixer[instance_id]->gain(1, mapfloat(configuration.fx.delay_level[instance_id], DELAY_LEVEL_MIN, DELAY_LEVEL_MAX, 0.0, 1.0)); @@ -1370,8 +1373,14 @@ void initial_values_from_eeprom(bool init) MicroDexed[instance_id]->setOPs(configuration.dexed[instance_id].op_enabled); dexed_level[instance_id]->gain(mapfloat(configuration.dexed[instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX)); +#if NUM_DEXED >1 reverb_mixer_r.gain(instance_id, configuration.fx.reverb_send[instance_id] / 100.0); reverb_mixer_l.gain(instance_id, configuration.fx.reverb_send[instance_id] / 100.0); +#else + reverb_mixer_r.gain(instance_id, 1.0); + reverb_mixer_l.gain(instance_id, 1.0); +#endif + } set_volume(configuration.sys.vol, configuration.sys.mono); @@ -1657,7 +1666,7 @@ void set_fx_params(void) // CHORUS //chorus_mixer[instance_id]->gain(0, 1.0 - pseudo_log_curve(mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 1.0), true)); //chorus_mixer[instance_id]->gain(1, pseudo_log_curve(mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 1.0), true)); - chorus_mixer[instance_id]->gain(0, 1.0 - mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); + //chorus_mixer[instance_id]->gain(0, 1.0 - mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); chorus_mixer[instance_id]->gain(1, mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); switch (configuration.fx.chorus_waveform[instance_id]) { diff --git a/UI.hpp b/UI.hpp index b3047c4..a159bb6 100644 --- a/UI.hpp +++ b/UI.hpp @@ -1141,7 +1141,7 @@ void UI_func_chorus_level(uint8_t param) //chorus_mixer[instance_id]->gain(0, 1.0 - pseudo_log_curve(mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 1.0), true)); //chorus_mixer[instance_id]->gain(1, pseudo_log_curve(mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 1.0), true)); - chorus_mixer[instance_id]->gain(0, 1.0 - mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); + //chorus_mixer[instance_id]->gain(0, 1.0 - mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); chorus_mixer[instance_id]->gain(1, mapfloat(configuration.fx.chorus_level[instance_id], CHORUS_LEVEL_MIN, CHORUS_LEVEL_MAX, 0.0, 0.5)); } @@ -1287,6 +1287,7 @@ void UI_func_delay_level(uint8_t param) } } +#if NUM_DEXED > 1 void UI_func_reverb_send(uint8_t param) { uint8_t instance_id = 0; @@ -1330,6 +1331,7 @@ void UI_func_reverb_send(uint8_t param) #endif } } +#endif void UI_func_filter_cutoff(uint8_t param) { diff --git a/UI_1_FX.h b/UI_1_FX.h index ce49289..6247129 100644 --- a/UI_1_FX.h +++ b/UI_1_FX.h @@ -40,81 +40,80 @@ LCDML_add(11, LCDML_0_1_2_3, 2, "Delay", NULL); LCDML_add(12, LCDML_0_1_2_3_2, 1, "Time", UI_func_delay_time); LCDML_add(13, LCDML_0_1_2_3_2, 2, "Feedback", UI_func_delay_feedback); LCDML_add(14, LCDML_0_1_2_3_2, 3, "Level", UI_func_delay_level); -LCDML_add(15, LCDML_0_1_2_3, 3, "Reverb Send", UI_func_reverb_send); -LCDML_add(16, LCDML_0_1_2_3, 4, "Filter", NULL); -LCDML_add(17, LCDML_0_1_2_3_4, 1, "Cutoff", UI_func_filter_cutoff); -LCDML_add(18, LCDML_0_1_2_3_4, 2, "Resonance", UI_func_filter_resonance); -LCDML_add(19, LCDML_0_1, 3, "Controller", NULL); -LCDML_add(20, LCDML_0_1_3, 1, "Pitchbend", NULL); -LCDML_add(21, LCDML_0_1_3_1, 1, "PB Range", UI_func_pb_range); -LCDML_add(22, LCDML_0_1_3_1, 2, "PB Step", UI_func_pb_step); -LCDML_add(23, LCDML_0_1_3, 2, "Mod Wheel", NULL); -LCDML_add(24, LCDML_0_1_3_2, 1, "MW Range", UI_func_mw_range); -LCDML_add(25, LCDML_0_1_3_2, 2, "MW Assign", UI_func_mw_assign); -LCDML_add(26, LCDML_0_1_3_2, 3, "MW Mode", UI_func_mw_mode); -LCDML_add(27, LCDML_0_1_3, 3, "Aftertouch", NULL); -LCDML_add(28, LCDML_0_1_3_3, 1, "AT Range", UI_func_at_range); -LCDML_add(29, LCDML_0_1_3_3, 2, "AT Assign", UI_func_at_assign); -LCDML_add(30, LCDML_0_1_3_3, 3, "AT Mode", UI_func_at_mode); -LCDML_add(31, LCDML_0_1_3, 4, "Foot Ctrl", NULL); -LCDML_add(32, LCDML_0_1_3_4, 1, "FC Range", UI_func_fc_range); -LCDML_add(33, LCDML_0_1_3_4, 2, "FC Assign", UI_func_fc_assign); -LCDML_add(34, LCDML_0_1_3_4, 3, "FC Mode", UI_func_fc_mode); -LCDML_add(35, LCDML_0_1_3, 5, "Breath Ctrl", NULL); -LCDML_add(36, LCDML_0_1_3_5, 1, "BC Range", UI_func_bc_range); -LCDML_add(37, LCDML_0_1_3_5, 2, "BC Assign", UI_func_bc_assign); -LCDML_add(38, LCDML_0_1_3_5, 3, "BC Mode", UI_func_bc_mode); -LCDML_add(39, LCDML_0_1, 4, "MIDI", NULL); -LCDML_add(40, LCDML_0_1_4, 1, "MIDI Channel", UI_func_midi_channel); -LCDML_add(41, LCDML_0_1_4, 2, "Lowest Note", UI_func_lowest_note); -LCDML_add(42, LCDML_0_1_4, 3, "Highest Note", UI_func_highest_note); -LCDML_add(43, LCDML_0_1_4, 4, "Send Voice", UI_func_sysex_send_voice); -LCDML_add(44, LCDML_0_1_4, 5, "Receive Voice", UI_func_sysex_receive_voice); -LCDML_add(45, LCDML_0_1, 5, "Setup", NULL); -LCDML_add(46, LCDML_0_1_5, 1, "Portamento", NULL); -LCDML_add(47, LCDML_0_1_5_1, 1, "Port. Mode", UI_func_portamento_mode); -LCDML_add(48, LCDML_0_1_5_1, 2, "Port. Gliss", UI_func_portamento_glissando); -LCDML_add(49, LCDML_0_1_5_1, 3, "Port. Time", UI_func_portamento_time); -LCDML_add(50, LCDML_0_1_5, 2, "Polyphony", UI_func_polyphony); -LCDML_add(51, LCDML_0_1_5, 3, "Transpose", UI_func_transpose); -LCDML_add(52, LCDML_0_1_5, 4, "Fine Tune", UI_func_tune); -LCDML_add(53, LCDML_0_1_5, 5, "Mono/Poly", UI_func_mono_poly); -LCDML_add(54, LCDML_0_1, 6, "Internal", NULL); -LCDML_add(55, LCDML_0_1_6, 1, "Note Refresh", UI_func_note_refresh); -LCDML_add(56, LCDML_0_1_6, 2, "Velocity Lvl", UI_func_velocity_level); -LCDML_add(57, LCDML_0_1_6, 3, "Engine", UI_func_engine); -LCDML_add(58, LCDML_0_1, 7, "Operator", NULL); -LCDML_add(59, LCDML_0_1_7, 1, "OP1", UI_func_OP1); -LCDML_add(60, LCDML_0_1_7, 2, "OP2", UI_func_OP2); -LCDML_add(61, LCDML_0_1_7, 3, "OP3", UI_func_OP3); -LCDML_add(62, LCDML_0_1_7, 4, "OP4", UI_func_OP4); -LCDML_add(63, LCDML_0_1_7, 5, "OP5", UI_func_OP5); -LCDML_add(64, LCDML_0_1_7, 6, "OP6", UI_func_OP6); -LCDML_add(65, LCDML_0_1, 8, "Save Voice", UI_func_save_voice); -LCDML_add(66, LCDML_0, 2, "Master Effects", NULL); -LCDML_add(67, LCDML_0_2, 1, "Reverb", NULL); -LCDML_add(68, LCDML_0_2_1, 1, "Roomsize", UI_func_reverb_roomsize); -LCDML_add(69, LCDML_0_2_1, 2, "Damping", UI_func_reverb_damping); -LCDML_add(70, LCDML_0_2_1, 3, "Level", UI_func_reverb_level); -LCDML_add(71, LCDML_0, 3, "Load/Save", NULL); -LCDML_add(72, LCDML_0_3, 1, "Performance", NULL); -LCDML_add(73, LCDML_0_3_1, 1, "Load Perf.", UI_func_load_performance); -LCDML_add(74, LCDML_0_3_1, 2, "Save Perf.", UI_func_save_performance); -LCDML_add(75, LCDML_0_3, 2, "Voice Config", NULL); -LCDML_add(76, LCDML_0_3_2, 1, "Load Voice Cfg", UI_func_load_voiceconfig); -LCDML_add(77, LCDML_0_3_2, 2, "Save Voice Cfg", UI_func_save_voiceconfig); -LCDML_add(78, LCDML_0_3, 3, "Effects", NULL); -LCDML_add(79, LCDML_0_3_3, 1, "Load Effects", UI_func_load_fx); -LCDML_add(80, LCDML_0_3_3, 2, "Save Effects", UI_func_save_fx); -LCDML_add(81, LCDML_0_3, 5, "MIDI", NULL); -LCDML_add(82, LCDML_0_3_5, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank); -LCDML_add(83, LCDML_0_3_5, 2, "MIDI Send Bank", UI_func_sysex_send_bank); -LCDML_add(84, LCDML_0, 4, "System", NULL); -LCDML_add(85, LCDML_0_4, 1, "Volume", UI_func_volume); -LCDML_add(86, LCDML_0_4, 2, "Stereo/Mono", UI_func_stereo_mono); -LCDML_add(87, LCDML_0_4, 3, "MIDI Soft THRU", UI_func_midi_soft_thru); -LCDML_add(88, LCDML_0_4, 4, "EEPROM Reset", UI_func_eeprom_reset); -LCDML_add(89, LCDML_0, 6, "Info", UI_func_information); -#define _LCDML_DISP_cnt 89 +LCDML_add(15, LCDML_0_1_2_3, 3, "Filter", NULL); +LCDML_add(16, LCDML_0_1_2_3_3, 1, "Cutoff", UI_func_filter_cutoff); +LCDML_add(17, LCDML_0_1_2_3_3, 2, "Resonance", UI_func_filter_resonance); +LCDML_add(18, LCDML_0_1, 3, "Controller", NULL); +LCDML_add(19, LCDML_0_1_3, 1, "Pitchbend", NULL); +LCDML_add(20, LCDML_0_1_3_1, 1, "PB Range", UI_func_pb_range); +LCDML_add(21, LCDML_0_1_3_1, 2, "PB Step", UI_func_pb_step); +LCDML_add(22, LCDML_0_1_3, 2, "Mod Wheel", NULL); +LCDML_add(23, LCDML_0_1_3_2, 1, "MW Range", UI_func_mw_range); +LCDML_add(24, LCDML_0_1_3_2, 2, "MW Assign", UI_func_mw_assign); +LCDML_add(25, LCDML_0_1_3_2, 3, "MW Mode", UI_func_mw_mode); +LCDML_add(26, LCDML_0_1_3, 3, "Aftertouch", NULL); +LCDML_add(27, LCDML_0_1_3_3, 1, "AT Range", UI_func_at_range); +LCDML_add(28, LCDML_0_1_3_3, 2, "AT Assign", UI_func_at_assign); +LCDML_add(29, LCDML_0_1_3_3, 3, "AT Mode", UI_func_at_mode); +LCDML_add(30, LCDML_0_1_3, 4, "Foot Ctrl", NULL); +LCDML_add(31, LCDML_0_1_3_4, 1, "FC Range", UI_func_fc_range); +LCDML_add(32, LCDML_0_1_3_4, 2, "FC Assign", UI_func_fc_assign); +LCDML_add(33, LCDML_0_1_3_4, 3, "FC Mode", UI_func_fc_mode); +LCDML_add(34, LCDML_0_1_3, 5, "Breath Ctrl", NULL); +LCDML_add(35, LCDML_0_1_3_5, 1, "BC Range", UI_func_bc_range); +LCDML_add(36, LCDML_0_1_3_5, 2, "BC Assign", UI_func_bc_assign); +LCDML_add(37, LCDML_0_1_3_5, 3, "BC Mode", UI_func_bc_mode); +LCDML_add(38, LCDML_0_1, 4, "MIDI", NULL); +LCDML_add(39, LCDML_0_1_4, 1, "MIDI Channel", UI_func_midi_channel); +LCDML_add(40, LCDML_0_1_4, 2, "Lowest Note", UI_func_lowest_note); +LCDML_add(41, LCDML_0_1_4, 3, "Highest Note", UI_func_highest_note); +LCDML_add(42, LCDML_0_1_4, 4, "Send Voice", UI_func_sysex_send_voice); +LCDML_add(43, LCDML_0_1_4, 5, "Receive Voice", UI_func_sysex_receive_voice); +LCDML_add(44, LCDML_0_1, 5, "Setup", NULL); +LCDML_add(45, LCDML_0_1_5, 1, "Portamento", NULL); +LCDML_add(46, LCDML_0_1_5_1, 1, "Port. Mode", UI_func_portamento_mode); +LCDML_add(47, LCDML_0_1_5_1, 2, "Port. Gliss", UI_func_portamento_glissando); +LCDML_add(48, LCDML_0_1_5_1, 3, "Port. Time", UI_func_portamento_time); +LCDML_add(49, LCDML_0_1_5, 2, "Polyphony", UI_func_polyphony); +LCDML_add(50, LCDML_0_1_5, 3, "Transpose", UI_func_transpose); +LCDML_add(51, LCDML_0_1_5, 4, "Fine Tune", UI_func_tune); +LCDML_add(52, LCDML_0_1_5, 5, "Mono/Poly", UI_func_mono_poly); +LCDML_add(53, LCDML_0_1, 6, "Internal", NULL); +LCDML_add(54, LCDML_0_1_6, 1, "Note Refresh", UI_func_note_refresh); +LCDML_add(55, LCDML_0_1_6, 2, "Velocity Lvl", UI_func_velocity_level); +LCDML_add(56, LCDML_0_1_6, 3, "Engine", UI_func_engine); +LCDML_add(57, LCDML_0_1, 7, "Operator", NULL); +LCDML_add(58, LCDML_0_1_7, 1, "OP1", UI_func_OP1); +LCDML_add(59, LCDML_0_1_7, 2, "OP2", UI_func_OP2); +LCDML_add(60, LCDML_0_1_7, 3, "OP3", UI_func_OP3); +LCDML_add(61, LCDML_0_1_7, 4, "OP4", UI_func_OP4); +LCDML_add(62, LCDML_0_1_7, 5, "OP5", UI_func_OP5); +LCDML_add(63, LCDML_0_1_7, 6, "OP6", UI_func_OP6); +LCDML_add(64, LCDML_0_1, 8, "Save Voice", UI_func_save_voice); +LCDML_add(65, LCDML_0, 2, "Master Effects", NULL); +LCDML_add(66, LCDML_0_2, 1, "Reverb", NULL); +LCDML_add(67, LCDML_0_2_1, 1, "Roomsize", UI_func_reverb_roomsize); +LCDML_add(68, LCDML_0_2_1, 2, "Damping", UI_func_reverb_damping); +LCDML_add(69, LCDML_0_2_1, 3, "Level", UI_func_reverb_level); +LCDML_add(70, LCDML_0, 3, "Load/Save", NULL); +LCDML_add(71, LCDML_0_3, 1, "Performance", NULL); +LCDML_add(72, LCDML_0_3_1, 1, "Load Perf.", UI_func_load_performance); +LCDML_add(73, LCDML_0_3_1, 2, "Save Perf.", UI_func_save_performance); +LCDML_add(74, LCDML_0_3, 2, "Voice Config", NULL); +LCDML_add(75, LCDML_0_3_2, 1, "Load Voice Cfg", UI_func_load_voiceconfig); +LCDML_add(76, LCDML_0_3_2, 2, "Save Voice Cfg", UI_func_save_voiceconfig); +LCDML_add(77, LCDML_0_3, 3, "Effects", NULL); +LCDML_add(78, LCDML_0_3_3, 1, "Load Effects", UI_func_load_fx); +LCDML_add(79, LCDML_0_3_3, 2, "Save Effects", UI_func_save_fx); +LCDML_add(80, LCDML_0_3, 5, "MIDI", NULL); +LCDML_add(81, LCDML_0_3_5, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank); +LCDML_add(82, LCDML_0_3_5, 2, "MIDI Send Bank", UI_func_sysex_send_bank); +LCDML_add(83, LCDML_0, 4, "System", NULL); +LCDML_add(84, LCDML_0_4, 1, "Volume", UI_func_volume); +LCDML_add(85, LCDML_0_4, 2, "Stereo/Mono", UI_func_stereo_mono); +LCDML_add(86, LCDML_0_4, 3, "MIDI Soft THRU", UI_func_midi_soft_thru); +LCDML_add(87, LCDML_0_4, 4, "EEPROM Reset", UI_func_eeprom_reset); +LCDML_add(88, LCDML_0, 6, "Info", UI_func_information); +#define _LCDML_DISP_cnt 88 #define MENU_ID_OF_INSTANCE_2 65 #endif diff --git a/config.h b/config.h index 487b20a..3528082 100644 --- a/config.h +++ b/config.h @@ -93,10 +93,11 @@ // CHORUS parameters #define MOD_DELAY_SAMPLE_BUFFER int32_t(TIME_MS2SAMPLES(20.0)) // 20.0 ms delay buffer. #define MOD_WAVEFORM WAVEFORM_TRIANGLE // WAVEFORM_SINE WAVEFORM_TRIANGLE WAVEFORM_SAWTOOTH WAVEFORM_SAWTOOTH_REVERSE -#define MOD_FILTER_OUTPUT MOD_BUTTERWORTH_FILTER_OUTPUT // MOD_LINKWITZ_RILEY_FILTER_OUTPUT MOD_BUTTERWORTH_FILTER_OUTPUT MOD_NO_FILTER_OUTPUT +#define MOD_FILTER_OUTPUT MOD_LINKWITZ_RILEY_FILTER_OUTPUT // MOD_LINKWITZ_RILEY_FILTER_OUTPUT MOD_BUTTERWORTH_FILTER_OUTPUT MOD_NO_FILTER_OUTPUT #define MOD_FILTER_CUTOFF_HZ 15 // FX-CHAIN ENABLE/DISABLE #define USE_FX 1 +#define SGTL5000_AUDIO_ENHANCE 1 //************************************************************************************************* //* AUDIO SOFTWARE SETTINGS @@ -131,7 +132,7 @@ 30: 1.22 Volts p-p 31: 1.16 Volts p-p */ -#define SGTL5000_LINEOUT_LEVEL 16 +#define SGTL5000_LINEOUT_LEVEL 29 #if AUDIO_BLOCK_SAMPLES == 64 #define AUDIO_MEM 512 #else @@ -401,9 +402,9 @@ #define TUNE_DEFAULT 100 #define SOUND_INTENSITY_MIN 0 -#define SOUND_INTENSITY_MAX 100 +#define SOUND_INTENSITY_MAX 127 #define SOUND_INTENSITY_DEFAULT 100 -#define SOUND_INTENSITY_AMP_MAX 1.15 +#define SOUND_INTENSITY_AMP_MAX 1.27 #define POLYPHONY_MIN 1 #define POLYPHONY_MAX MAX_NOTES