Started to add MIDI-CC send for changing local parameters.

pull/32/head
Holger Wirtz 4 years ago
parent 73a3a4020b
commit 3b77a35c2e
  1. 4
      MicroDexed.ino
  2. 8
      UI.hpp
  3. 4
      config.h
  4. 34
      midi_devices.hpp

@ -756,8 +756,8 @@ void handleControlChange(byte inChannel, byte inCtrl, byte inValue)
#ifdef DEBUG #ifdef DEBUG
Serial.println(F("VOLUME CC")); Serial.println(F("VOLUME CC"));
#endif #endif
//configuration.dexed[instance_id].sound_intensity = map(inValue, 0, 0x7f, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX); configuration.dexed[instance_id].sound_intensity = map(inValue, 0, 0x7f, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX);
MicroDexed[instance_id]->fx.Gain = pseudo_log_curve(mapfloat(map(inValue, 0, 0x7f, 0, configuration.dexed[instance_id].sound_intensity), SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX)); MicroDexed[instance_id]->fx.Gain = pseudo_log_curve(mapfloat(configuration.dexed[instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX));
if (LCDML.FUNC_getID() == LCDML.OTHER_getIDFromFunction(UI_func_sound_intensity)) if (LCDML.FUNC_getID() == LCDML.OTHER_getIDFromFunction(UI_func_sound_intensity))
{ {
LCDML.OTHER_updateFunc(); LCDML.OTHER_updateFunc();

@ -1868,9 +1868,16 @@ void UI_func_sound_intensity(uint8_t param)
encoderDir[ENC_R].reset(); encoderDir[ENC_R].reset();
if (LCDML.BT_checkDown()) if (LCDML.BT_checkDown())
{
configuration.dexed[selected_instance_id].sound_intensity = constrain(configuration.dexed[selected_instance_id].sound_intensity + ENCODER[ENC_R].speed(), SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX); configuration.dexed[selected_instance_id].sound_intensity = constrain(configuration.dexed[selected_instance_id].sound_intensity + ENCODER[ENC_R].speed(), SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX);
MD_sendControlChange(configuration.dexed[selected_instance_id].midi_channel, 7, configuration.dexed[selected_instance_id].sound_intensity);
}
else if (LCDML.BT_checkUp()) else if (LCDML.BT_checkUp())
{
configuration.dexed[selected_instance_id].sound_intensity = constrain(configuration.dexed[selected_instance_id].sound_intensity - ENCODER[ENC_R].speed(), SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX); configuration.dexed[selected_instance_id].sound_intensity = constrain(configuration.dexed[selected_instance_id].sound_intensity - ENCODER[ENC_R].speed(), SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX);
MD_sendControlChange(configuration.dexed[selected_instance_id].midi_channel, 7, configuration.dexed[selected_instance_id].sound_intensity);
}
#if NUM_DEXED > 1 #if NUM_DEXED > 1
else if (LCDML.BT_checkEnter()) else if (LCDML.BT_checkEnter())
{ {
@ -1885,7 +1892,6 @@ void UI_func_sound_intensity(uint8_t param)
} }
lcd_display_bar_int("Voice Level", configuration.dexed[selected_instance_id].sound_intensity, 1.0, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 3, false, false, false); lcd_display_bar_int("Voice Level", configuration.dexed[selected_instance_id].sound_intensity, 1.0, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 3, false, false, false);
MicroDexed[selected_instance_id]->fx.Gain = pseudo_log_curve(mapfloat(configuration.dexed[selected_instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX)); MicroDexed[selected_instance_id]->fx.Gain = pseudo_log_curve(mapfloat(configuration.dexed[selected_instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX));
} }

@ -56,7 +56,7 @@
// sed -i.orig 's/^#define USB_MIDI_SYSEX_MAX 290/#define USB_MIDI_SYSEX_MAX 4104/' /usr/local/arduino-teensy/hardware/teensy/avr/cores/teensy3/usb_midi.h // sed -i.orig 's/^#define USB_MIDI_SYSEX_MAX 290/#define USB_MIDI_SYSEX_MAX 4104/' /usr/local/arduino-teensy/hardware/teensy/avr/cores/teensy3/usb_midi.h
//#define USB_MIDI_SYSEX_MAX 4104 //#define USB_MIDI_SYSEX_MAX 4104
#define VERSION "1.0.8" #define VERSION "1.0.9"
//************************************************************************************************* //*************************************************************************************************
//* DEVICE SETTINGS //* DEVICE SETTINGS
@ -92,7 +92,7 @@
//************************************************************************************************* //*************************************************************************************************
//* DEBUG OUTPUT SETTINGS //* DEBUG OUTPUT SETTINGS
//************************************************************************************************* //*************************************************************************************************
//#define DEBUG 1 #define DEBUG 1
#define SERIAL_SPEED 230400 #define SERIAL_SPEED 230400
#define SHOW_XRUN 1 #define SHOW_XRUN 1
#define SHOW_CPU_LOAD_MSEC 5000 #define SHOW_CPU_LOAD_MSEC 5000

@ -74,6 +74,7 @@ void handleStop(void);
void handleActiveSensing(void); void handleActiveSensing(void);
void handleSystemReset(void); void handleSystemReset(void);
//void handleRealTimeSystem(void); //void handleRealTimeSystem(void);
void MD_sendControlChange(byte channel, byte cc, byte value);
/***************************************** /*****************************************
MIDI_DEVICE_DIN MIDI_DEVICE_DIN
@ -1570,6 +1571,39 @@ void handleSystemReset_MIDI_DEVICE_USB(void)
} */ } */
#endif // MIDI_DEVICE_USB #endif // MIDI_DEVICE_USB
void MD_sendControlChange(byte channel, byte cc, byte value)
{
#ifdef DEBUG
Serial.print(F("[MD] SendControlChange CH:"));
Serial.print(channel, DEC);
Serial.print(F(" CC:"));
Serial.print(cc);
Serial.print(F(" VAL:"));
Serial.print(value);
#endif
#ifdef MIDI_DEVICE_DIN
midi_serial.sendControlChange(cc, value, channel);
#ifdef DEBUG
Serial.print(F(" MIDI-DIN"));
#endif
#endif
#ifdef MIDI_DEVICE_USB_HOST
midi_usb.sendControlChange(cc, value, channel);
#ifdef DEBUG
Serial.print(F(" MIDI-USB-HOST"));
#endif
#endif
#ifdef MIDI_DEVICE_USB
usbMIDI.sendControlChange(cc, value, channel);
#ifdef DEBUG
Serial.print(F(" MIDI-USB"));
#endif
#endif
#ifdef DEBUG
Serial.println();
#endif
}
/***************************************** /*****************************************
HELPER FUCNTIONS HELPER FUCNTIONS
*****************************************/ *****************************************/

Loading…
Cancel
Save