Added midi_soft_thru enable/disable functionality.

Small fixes.
master
Holger Wirtz 6 years ago
parent c98c929cf5
commit 379a7006ae
  1. 25
      MicroMDAEPiano.ino
  2. 50
      UI.hpp
  3. 6
      config.h
  4. 171
      midi_devices.hpp

@ -146,14 +146,13 @@ elapsedMillis cpu_mem_millis;
void setup()
{
Serial.begin(SERIAL_SPEED);
pinMode(BUT_L_PIN, INPUT_PULLUP);
pinMode(BUT_R_PIN, INPUT_PULLUP);
init_menus();
Serial.begin(SERIAL_SPEED);
delay(500);
// Debug output
Serial.println(F("MicroMDAEPiano based on https://sourceforge.net/projects/mda-vst"));
Serial.println(F("(c)2018/2019 H. Wirtz <wirtz@parasitstudio.de>"));
@ -227,25 +226,7 @@ void setup()
Serial.print(F(" (Time per block="));
Serial.print(audio_block_time_us);
Serial.println(F("ms)"));
/*^
ep->setParameter(MDA_EP_DECAY, 0.5);
ep->setParameter(MDA_EP_RELEASE, 0.5);
ep->setParameter(MDA_EP_HARDNESS, 0.7);
ep->setParameter(MDA_EP_TREBLE, 0.85);
ep->setParameter(MDA_EP_DETUNE, 0.1);
ep->setParameter(MDA_EP_VELOCITY_SENSE, 1.0);
ep->setParameter(MDA_EP_STEREO, 0.7);
ep->setParameter(MDA_EP_OVERDRIVE, 0.3);
freeverb_r.roomsize(0.2);
freeverb_l.roomsize(0.2);
freeverb_r.damping(0.5);
freeverb_l.damping(0.5);
mixer_r.gain(0, 0.7);
mixer_l.gain(0, 0.7);
mixer_r.gain(1, 0.3);
mixer_l.gain(1, 0.3);
*/
set_complete_configuration();
AudioInterrupts();

@ -92,7 +92,6 @@ int8_t menu_position[NUM_MENUS];
#define LEFT_ENCODER 0
#define RIGHT_ENCODER 1
extern mdaEPiano* ep;
extern void set_master_volume(uint8_t value);
extern AudioControlSGTL5000 sgtl5000_1;
extern AudioEffectFreeverb freeverb_r;
@ -101,6 +100,8 @@ extern AudioMixer4 mixer_r;
extern AudioMixer4 mixer_l;
extern AudioAmplifier volume_r;
extern AudioAmplifier volume_l;
extern void eeprom_write(void);
extern mdaEPiano* ep;
extern float _loudness;
/******************************************
@ -200,6 +201,29 @@ char* get_tune_value_text(void)
return (tune_value_text1);
}
char midi_channel_value_text1[] = " ";
char* get_midi_channel_value_text(void)
{
if (configuration.midi_channel == 0)
sprintf(midi_channel_value_text1, "OMNI");
else
sprintf(midi_channel_value_text1, "%02d", configuration.midi_channel);
return (midi_channel_value_text1);
}
char midi_soft_thru_value_text1[] = " ";
char* get_midi_soft_thru_value_text(void)
{
if (configuration.midi_soft_thru == false)
sprintf(midi_soft_thru_value_text1, "Off");
else
sprintf(midi_soft_thru_value_text1, "On ");
return (midi_soft_thru_value_text1);
}
/******************************************
MAIN MENU
******************************************/
@ -627,7 +651,7 @@ LiquidMenu loudness_menu(lcd);
#define NUM_MIDI_CHANNEL_MENUS 1
const char midi_channel_text1[] PROGMEM = "MIDI Channel";
LiquidLine midi_channel_line1(1, 0, midi_channel_text1);
LiquidLine midi_channel_line2(1, 1, configuration.midi_channel);
LiquidLine midi_channel_line2(1, 1, get_midi_channel_value_text);
LiquidScreen midi_channel_screen;
LiquidMenu midi_channel_menu(lcd);
@ -637,7 +661,7 @@ LiquidMenu midi_channel_menu(lcd);
#define NUM_MIDI_SOFT_THRU_MENUS 1
const char midi_soft_thru_text1[] PROGMEM = "MIDI Soft Thru";
LiquidLine midi_soft_thru_line1(1, 0, midi_soft_thru_text1);
LiquidLine midi_soft_thru_line2(1, 1, configuration.midi_soft_thru);
LiquidLine midi_soft_thru_line2(1, 1, get_midi_soft_thru_value_text);
LiquidScreen midi_soft_thru_screen;
LiquidMenu midi_soft_thru_menu(lcd);
@ -1156,7 +1180,9 @@ void callback_midi_soft_thru_function()
menu_system.change_menu(midi_soft_thru_menu);
menu_position[SYSTEM] = encoder_value[RIGHT_ENCODER];
encoder_value[RIGHT_ENCODER] = configuration.midi_soft_thru;
Serial.print("XXXXXX");Serial.println(configuration.midi_soft_thru,DEC);
enc[RIGHT_ENCODER].write(configuration.midi_soft_thru, ENC_MIDI_SOFT_THRU_MIN, ENC_MIDI_SOFT_THRU_MAX);
Serial.print("YYYYYYYY");Serial.println(configuration.midi_soft_thru,DEC);
menu_system.update();
}
@ -1255,7 +1281,12 @@ void init_menus(void)
lcd.blink_off();
lcd.cursor_off();
lcd.backlight();
//lcd.noAutoscroll();
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("MicroMDAEPiano");
lcd.setCursor(0, 1);
lcd.print("(c)parasiTstudio");
delay(1000);
// setup main menu
main_screen.add_line(main_line1);
@ -1643,7 +1674,7 @@ void save_sound(uint8_t value)
Serial.print(F("Save sound "));
Serial.println(value);
#endif
;
eeprom_write();
}
void set_decay(uint8_t value)
@ -1874,8 +1905,10 @@ void set_reverb_level(uint8_t value)
Serial.println(value);
#endif
float tmp = mapfloat(float(value), ENC_REVERB_DAMPING_MIN, ENC_REVERB_DAMPING_MAX, 0.0, 1.0);
mixer_r.gain(0, 1.0 - tmp);
mixer_l.gain(0, 1.0 - tmp);
//mixer_r.gain(0, 1.0 - tmp);
//mixer_l.gain(0, 1.0 - tmp);
mixer_r.gain(0, 1.0);
mixer_l.gain(0, 1.0);
mixer_r.gain(1, tmp);
mixer_l.gain(1, tmp);
configuration.reverb_level = value;
@ -2028,6 +2061,9 @@ void set_complete_configuration(void)
set_eq_bass(configuration.eq_bass);
set_eq_treble(configuration.eq_treble);
set_loudness(configuration.loudness);
set_midi_channel(configuration.midi_channel);
set_midi_soft_thru(configuration.midi_soft_thru);
set_max_poly(configuration.max_poly);
}
//********************************************************************************************+

@ -234,11 +234,11 @@
//
#define ENC_BASS_LR_LEVEL_MIN 0
#define ENC_BASS_LR_LEVEL_MAX 99
#define ENC_BASS_LR_LEVEL_DEFAULT 50
#define ENC_BASS_LR_LEVEL_DEFAULT 99
//
#define ENC_BASS_MONO_LEVEL_MIN 0
#define ENC_BASS_MONO_LEVEL_MAX 99
#define ENC_BASS_MONO_LEVEL_DEFAULT 50
#define ENC_BASS_MONO_LEVEL_DEFAULT 0
//
#define ENC_EQ_BASS_MIN 0
#define ENC_EQ_BASS_MAX 99
@ -339,7 +339,7 @@ struct config_t {
uint8_t eq_treble;
uint8_t loudness;
uint8_t midi_channel;
bool midi_soft_thru;
uint8_t midi_soft_thru;
uint8_t max_poly;
int8_t pan;
};

@ -78,6 +78,8 @@ void handleNoteOn_MIDI_DEVICE_DIN(byte inChannel, byte inNumber, byte inVelocity
Serial.print(F("[MIDI_DIN] NoteOn"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendNoteOn(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -90,6 +92,7 @@ void handleNoteOn_MIDI_DEVICE_DIN(byte inChannel, byte inNumber, byte inVelocity
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -103,6 +106,8 @@ void handleNoteOff_MIDI_DEVICE_DIN(byte inChannel, byte inNumber, byte inVelocit
Serial.print(F("[MIDI_DIN] NoteOff"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendNoteOff(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -115,6 +120,7 @@ void handleNoteOff_MIDI_DEVICE_DIN(byte inChannel, byte inNumber, byte inVelocit
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -128,6 +134,8 @@ void handleControlChange_MIDI_DEVICE_DIN(byte inChannel, byte inData1, byte inDa
Serial.print(F("[MIDI_DIN] CC"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendControlChange(inData1, inData2, inChannel);
#ifdef DEBUG
@ -140,6 +148,7 @@ void handleControlChange_MIDI_DEVICE_DIN(byte inChannel, byte inData1, byte inDa
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -153,6 +162,8 @@ void handleAfterTouch_MIDI_DEVICE_DIN(byte inChannel, byte inPressure)
Serial.print(F("[MIDI_DIN] AT"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendAfterTouch(inPressure, inChannel);
#ifdef DEBUG
@ -165,6 +176,7 @@ void handleAfterTouch_MIDI_DEVICE_DIN(byte inChannel, byte inPressure)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -178,6 +190,8 @@ void handlePitchBend_MIDI_DEVICE_DIN(byte inChannel, int inPitch)
Serial.print(F("[MIDI_DIN] PB"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendPitchBend(inPitch, inChannel);
#ifdef DEBUG
@ -190,6 +204,7 @@ void handlePitchBend_MIDI_DEVICE_DIN(byte inChannel, int inPitch)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -203,6 +218,8 @@ void handleProgramChange_MIDI_DEVICE_DIN(byte inChannel, byte inProgram)
Serial.print(F("[MIDI_DIN] PC"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendProgramChange(inProgram, inChannel);
#ifdef DEBUG
@ -215,6 +232,7 @@ void handleProgramChange_MIDI_DEVICE_DIN(byte inChannel, byte inProgram)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -228,6 +246,8 @@ void handleSystemExclusive_MIDI_DEVICE_DIN(byte *data, uint len)
Serial.print(F("[MIDI_DIN] SysEx"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendSysEx(len, data);
#ifdef DEBUG
@ -240,6 +260,7 @@ void handleSystemExclusive_MIDI_DEVICE_DIN(byte *data, uint len)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -253,6 +274,8 @@ void handleSystemExclusive_MIDI_DEVICE_DIN(byte *data, uint len)
Serial.print(F("[MIDI_DIN] SysExChunk"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendSysEx(len, data, last);
#ifdef DEBUG
@ -265,6 +288,7 @@ void handleSystemExclusive_MIDI_DEVICE_DIN(byte *data, uint len)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -278,6 +302,8 @@ void handleTimeCodeQuarterFrame_MIDI_DEVICE_DIN(byte data)
Serial.print(F("[MIDI_DIN] TimeCodeQuarterFrame"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendTimeCodeQuarterFrame(0xF1, data);
#ifdef DEBUG
@ -290,6 +316,7 @@ void handleTimeCodeQuarterFrame_MIDI_DEVICE_DIN(byte data)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -304,6 +331,8 @@ void handleAfterTouchPoly_MIDI_DEVICE_DIN(byte inChannel, byte inNumber, byte in
#endif
#ifdef MIDI_MERGE_THRU
#ifdef MIDI_DEVICE_USB_HOST
if (configuration.midi_soft_thru == true)
{
midi_usb.sendAfterTouch(inNumber, inVelocity, inChannel);
#ifdef DEBUG
Serial.print(F(" THRU->MIDI_USB_HOST"));
@ -315,6 +344,7 @@ void handleAfterTouchPoly_MIDI_DEVICE_DIN(byte inChannel, byte inNumber, byte in
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -328,6 +358,8 @@ void handleSongSelect_MIDI_DEVICE_DIN(byte inSong)
Serial.print(F("[MIDI_DIN] SongSelect"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendSongSelect(inSong);
#ifdef DEBUG
@ -340,6 +372,7 @@ void handleSongSelect_MIDI_DEVICE_DIN(byte inSong)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -353,6 +386,8 @@ void handleTuneRequest_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] TuneRequest"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendTuneRequest();
#ifdef DEBUG
@ -365,6 +400,7 @@ void handleTuneRequest_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -378,6 +414,8 @@ void handleClock_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] Clock"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(midi::Clock);
#ifdef DEBUG
@ -390,6 +428,7 @@ void handleClock_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -403,6 +442,8 @@ void handleStart_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] Start"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(midi::Start);
#ifdef DEBUG
@ -415,6 +456,7 @@ void handleStart_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -428,6 +470,8 @@ void handleContinue_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] Continue"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(midi::Continue);
#ifdef DEBUG
@ -440,6 +484,7 @@ void handleContinue_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -453,6 +498,8 @@ void handleStop_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] Stop"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(midi::Stop);
#ifdef DEBUG
@ -465,6 +512,7 @@ void handleStop_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -478,6 +526,8 @@ void handleActiveSensing_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] ActiveSensing"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(midi::ActiveSensing);
#ifdef DEBUG
@ -490,6 +540,7 @@ void handleActiveSensing_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -503,6 +554,8 @@ void handleSystemReset_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] SystemReset"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(midi::SystemReset);
#ifdef DEBUG
@ -515,6 +568,7 @@ void handleSystemReset_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -528,6 +582,8 @@ void handleSystemReset_MIDI_DEVICE_DIN(void)
Serial.print(F("[MIDI_DIN] RealTimeSystem"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendRealTime(inRealTime);
#ifdef DEBUG
@ -540,6 +596,7 @@ void handleSystemReset_MIDI_DEVICE_DIN(void)
Serial.print(F(" THRU->MIDI_USB[NOTSUPPORTED]"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -558,6 +615,8 @@ void handleNoteOn_MIDI_DEVICE_USB_HOST(byte inChannel, byte inNumber, byte inVel
Serial.print(F("[MIDI_USB_HOST] NoteOn"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendNoteOn(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -570,6 +629,7 @@ void handleNoteOn_MIDI_DEVICE_USB_HOST(byte inChannel, byte inNumber, byte inVel
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -583,6 +643,8 @@ void handleNoteOff_MIDI_DEVICE_USB_HOST(byte inChannel, byte inNumber, byte inVe
Serial.print(F("[MIDI_USB_HOST] NoteOff"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendNoteOff(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -595,6 +657,7 @@ void handleNoteOff_MIDI_DEVICE_USB_HOST(byte inChannel, byte inNumber, byte inVe
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -608,6 +671,8 @@ void handleControlChange_MIDI_DEVICE_USB_HOST(byte inChannel, byte inData1, byte
Serial.print(F("[MIDI_USB_HOST] CC"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendControlChange(inData1, inData2, inChannel);
#ifdef DEBUG
@ -620,6 +685,7 @@ void handleControlChange_MIDI_DEVICE_USB_HOST(byte inChannel, byte inData1, byte
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -633,6 +699,8 @@ void handleAfterTouch_MIDI_DEVICE_USB_HOST(byte inChannel, byte inPressure)
Serial.print(F("[MIDI_USB_HOST] AT"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendAfterTouch(inPressure, inChannel);
#ifdef DEBUG
@ -645,6 +713,7 @@ void handleAfterTouch_MIDI_DEVICE_USB_HOST(byte inChannel, byte inPressure)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -658,6 +727,8 @@ void handlePitchBend_MIDI_DEVICE_USB_HOST(byte inChannel, int inPitch)
Serial.print(F("[MIDI_USB_HOST] PB"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendPitchBend(inPitch, inChannel);
#ifdef DEBUG
@ -670,6 +741,7 @@ void handlePitchBend_MIDI_DEVICE_USB_HOST(byte inChannel, int inPitch)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -683,6 +755,8 @@ void handleProgramChange_MIDI_DEVICE_USB_HOST(byte inChannel, byte inProgram)
Serial.print(F("[MIDI_USB_HOST] PC"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendProgramChange(inProgram, inChannel);
#ifdef DEBUG
@ -695,6 +769,7 @@ void handleProgramChange_MIDI_DEVICE_USB_HOST(byte inChannel, byte inProgram)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -708,6 +783,8 @@ void handleSystemExclusive_MIDI_DEVICE_USB_HOST(byte *data, uint len)
Serial.print(F("[MIDI_USB_HOST] SysEx"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendSysEx(len, data);
#ifdef DEBUG
@ -720,6 +797,7 @@ void handleSystemExclusive_MIDI_DEVICE_USB_HOST(byte *data, uint len)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -733,6 +811,8 @@ void handleSystemExclusive_MIDI_DEVICE_USB_HOST(byte *data, uint len)
Serial.print(F("[MIDI_USB_HOST] SysExChunk"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendSysEx(len, data, last);
#ifdef DEBUG
@ -745,6 +825,7 @@ void handleSystemExclusive_MIDI_DEVICE_USB_HOST(byte *data, uint len)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -758,6 +839,8 @@ void handleTimeCodeQuarterFrame_MIDI_DEVICE_USB_HOST(midi::DataByte data)
Serial.print(F("[MIDI_USB_HOST] TimeCodeQuarterFrame"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendTimeCodeQuarterFrame(data);
#ifdef DEBUG
@ -770,6 +853,7 @@ void handleTimeCodeQuarterFrame_MIDI_DEVICE_USB_HOST(midi::DataByte data)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -783,6 +867,8 @@ void handleAfterTouchPoly_MIDI_DEVICE_USB_HOST(byte inChannel, byte inNumber, by
Serial.print(F("[MIDI_USB_HOST] AT-Poly"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendAfterTouch(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -795,6 +881,7 @@ void handleAfterTouchPoly_MIDI_DEVICE_USB_HOST(byte inChannel, byte inNumber, by
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -808,6 +895,8 @@ void handleSongSelect_MIDI_DEVICE_USB_HOST(byte inSong)
Serial.print(F("[MIDI_USB_HOST] SongSelect"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendSongSelect(inSong);
#ifdef DEBUG
@ -820,6 +909,7 @@ void handleSongSelect_MIDI_DEVICE_USB_HOST(byte inSong)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -833,6 +923,8 @@ void handleTuneRequest_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] TuneRequest"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendTuneRequest();
#ifdef DEBUG
@ -845,6 +937,7 @@ void handleTuneRequest_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -858,6 +951,8 @@ void handleClock_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] Clock"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Clock);
#ifdef DEBUG
@ -870,6 +965,7 @@ void handleClock_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -883,6 +979,8 @@ void handleStart_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] Start"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Start);
#ifdef DEBUG
@ -895,6 +993,7 @@ void handleStart_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -908,6 +1007,8 @@ void handleContinue_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] Continue"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Continue);
#ifdef DEBUG
@ -920,6 +1021,7 @@ void handleContinue_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -933,6 +1035,8 @@ void handleStop_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] Stop"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Stop);
#ifdef DEBUG
@ -945,6 +1049,7 @@ void handleStop_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -958,6 +1063,8 @@ void handleActiveSensing_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] ActiveSensing"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::ActiveSensing);
#ifdef DEBUG
@ -970,6 +1077,7 @@ void handleActiveSensing_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -983,6 +1091,8 @@ void handleSystemReset_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] SystemReset"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::SystemReset);
#ifdef DEBUG
@ -995,6 +1105,7 @@ void handleSystemReset_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1008,6 +1119,8 @@ void handleSystemReset_MIDI_DEVICE_USB_HOST(void)
Serial.print(F("[MIDI_USB_HOST] RealTimeSystem"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(inRealTime);
#ifdef DEBUG
@ -1020,6 +1133,7 @@ void handleSystemReset_MIDI_DEVICE_USB_HOST(void)
Serial.print(F(" THRU->MIDI_USB"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1038,6 +1152,8 @@ void handleNoteOn_MIDI_DEVICE_USB(byte inChannel, byte inNumber, byte inVelocity
Serial.print(F("[MIDI_USB] NoteOn"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendNoteOn(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -1050,6 +1166,7 @@ void handleNoteOn_MIDI_DEVICE_USB(byte inChannel, byte inNumber, byte inVelocity
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1063,6 +1180,8 @@ void handleNoteOff_MIDI_DEVICE_USB(byte inChannel, byte inNumber, byte inVelocit
Serial.print(F("[MIDI_USB] NoteOff"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendNoteOff(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -1075,6 +1194,7 @@ void handleNoteOff_MIDI_DEVICE_USB(byte inChannel, byte inNumber, byte inVelocit
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1088,6 +1208,8 @@ void handleControlChange_MIDI_DEVICE_USB(byte inChannel, byte inData1, byte inDa
Serial.print(F("[MIDI_USB] CC"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendControlChange(inData1, inData2, inChannel);
#ifdef DEBUG
@ -1100,6 +1222,7 @@ void handleControlChange_MIDI_DEVICE_USB(byte inChannel, byte inData1, byte inDa
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1113,6 +1236,8 @@ void handleAfterTouch_MIDI_DEVICE_USB(byte inChannel, byte inPressure)
Serial.print(F("[MIDI_USB] AT"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendAfterTouch(inPressure, inChannel);
#ifdef DEBUG
@ -1125,6 +1250,7 @@ void handleAfterTouch_MIDI_DEVICE_USB(byte inChannel, byte inPressure)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1138,6 +1264,8 @@ void handlePitchBend_MIDI_DEVICE_USB(byte inChannel, int inPitch)
Serial.print(F("[MIDI_USB] PB"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendPitchBend(inPitch, inChannel);
#ifdef DEBUG
@ -1150,6 +1278,7 @@ void handlePitchBend_MIDI_DEVICE_USB(byte inChannel, int inPitch)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1163,6 +1292,8 @@ void handleProgramChange_MIDI_DEVICE_USB(byte inChannel, byte inProgram)
Serial.print(F("[MIDI_USB] PC"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendProgramChange(inProgram, inChannel);
#ifdef DEBUG
@ -1175,6 +1306,7 @@ void handleProgramChange_MIDI_DEVICE_USB(byte inChannel, byte inProgram)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1188,6 +1320,8 @@ void handleSystemExclusive_MIDI_DEVICE_USB(byte *data, uint len)
Serial.print(F("[MIDI_USB] SysEx"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendSysEx(len, data);
#ifdef DEBUG
@ -1200,6 +1334,7 @@ void handleSystemExclusive_MIDI_DEVICE_USB(byte *data, uint len)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1213,6 +1348,8 @@ void handleSystemExclusive_MIDI_DEVICE_USB(byte *data, uint len)
Serial.print(F("[MIDI_USB] SysExChunk"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendSysEx(len, data, last);
#ifdef DEBUG
@ -1225,6 +1362,7 @@ void handleSystemExclusive_MIDI_DEVICE_USB(byte *data, uint len)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1238,6 +1376,8 @@ void handleTimeCodeQuarterFrame_MIDI_DEVICE_USB(midi::DataByte data)
Serial.print(F("[MIDI_USB] TimeCodeQuarterFrame"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendTimeCodeQuarterFrame(data);
#ifdef DEBUG
@ -1250,6 +1390,7 @@ void handleTimeCodeQuarterFrame_MIDI_DEVICE_USB(midi::DataByte data)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1263,6 +1404,8 @@ void handleAfterTouchPoly_MIDI_DEVICE_USB(byte inChannel, byte inNumber, byte in
Serial.print(F("[MIDI_USB] AT-Poly"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendAfterTouch(inNumber, inVelocity, inChannel);
#ifdef DEBUG
@ -1275,6 +1418,7 @@ void handleAfterTouchPoly_MIDI_DEVICE_USB(byte inChannel, byte inNumber, byte in
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1288,6 +1432,8 @@ void handleSongSelect_MIDI_DEVICE_USB(byte inSong)
Serial.print(F("[MIDI_USB] SongSelect"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendSongSelect(inSong);
#ifdef DEBUG
@ -1300,6 +1446,7 @@ void handleSongSelect_MIDI_DEVICE_USB(byte inSong)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1313,6 +1460,8 @@ void handleTuneRequest_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] TuneRequest"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendTuneRequest();
#ifdef DEBUG
@ -1325,6 +1474,7 @@ void handleTuneRequest_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1338,6 +1488,8 @@ void handleClock_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] Clock"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Clock);
#ifdef DEBUG
@ -1350,6 +1502,7 @@ void handleClock_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1363,6 +1516,8 @@ void handleStart_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] Start"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Start);
#ifdef DEBUG
@ -1375,6 +1530,7 @@ void handleStart_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1388,6 +1544,8 @@ void handleContinue_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] Continue"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Continue);
#ifdef DEBUG
@ -1400,6 +1558,7 @@ void handleContinue_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1413,6 +1572,8 @@ void handleStop_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] Stop"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::Stop);
#ifdef DEBUG
@ -1425,6 +1586,7 @@ void handleStop_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1438,6 +1600,8 @@ void handleActiveSensing_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] ActiveSensing"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::ActiveSensing);
#ifdef DEBUG
@ -1450,6 +1614,7 @@ void handleActiveSensing_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1463,6 +1628,8 @@ void handleSystemReset_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] SystemReset"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime(midi::SystemReset);
#ifdef DEBUG
@ -1475,6 +1642,7 @@ void handleSystemReset_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif
@ -1488,6 +1656,8 @@ void handleSystemReset_MIDI_DEVICE_USB(void)
Serial.print(F("[MIDI_USB] RealTimeSystem"));
#endif
#ifdef MIDI_MERGE_THRU
if (configuration.midi_soft_thru == true)
{
#ifdef MIDI_DEVICE_DIN
midi_serial.sendRealTime((midi::MidiType)inRealTime);
#ifdef DEBUG
@ -1500,6 +1670,7 @@ void handleSystemReset_MIDI_DEVICE_USB(void)
Serial.print(F(" THRU->MIDI_USB_HOST"));
#endif
#endif
}
#ifdef DEBUG
Serial.println();
#endif

Loading…
Cancel
Save