X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fgeneric_midi%2Fmidifunction.cc;h=3ce447b799c980df7195ba038a9169992ea20761;hb=ac5bbf4b99635a71093f859e233ad5fe4b07453b;hp=609aca3bbc06f85ce99e64e4d5f7e45416b0fcda;hpb=e10d0339ccd3659e0de58db29131e528571bc8c4;p=ardour.git diff --git a/libs/surfaces/generic_midi/midifunction.cc b/libs/surfaces/generic_midi/midifunction.cc index 609aca3bbc..3ce447b799 100644 --- a/libs/surfaces/generic_midi/midifunction.cc +++ b/libs/surfaces/generic_midi/midifunction.cc @@ -21,7 +21,7 @@ #include "midi++/port.h" #include "midifunction.h" -#include "control_protocol/basic_ui.h" +#include "generic_midi_control_protocol.h" using namespace MIDI; @@ -34,11 +34,11 @@ MIDIFunction::MIDIFunction (MIDI::Port& p) MIDIFunction::~MIDIFunction () { - delete sysex; + delete [] sysex; } int -MIDIFunction::init (BasicUI& ui, const std::string& function_name, MIDI::byte* sysex_data, size_t sysex_sz) +MIDIFunction::init (GenericMidiControlProtocol& ui, const std::string& function_name, MIDI::byte* sysex_data, size_t sysex_sz) { if (strcasecmp (function_name.c_str(), "transport-stop") == 0) { _function = TransportStop; @@ -56,6 +56,10 @@ MIDIFunction::init (BasicUI& ui, const std::string& function_name, MIDI::byte* s _function = TransportRecordEnable; } else if (strcasecmp (function_name.c_str(), "rec-disable") == 0) { _function = TransportRecordDisable; + } else if (strcasecmp (function_name.c_str(), "next-bank") == 0) { + _function = NextBank; + } else if (strcasecmp (function_name.c_str(), "prev-bank") == 0) { + _function = PrevBank; } else { return -1; } @@ -75,6 +79,14 @@ void MIDIFunction::execute () { switch (_function) { + case NextBank: + _ui->next_bank(); + break; + + case PrevBank: + _ui->prev_bank(); + break; + case TransportStop: _ui->transport_stop (); break;