diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-25 19:26:00 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-25 19:26:00 +0000 |
commit | 0786ff15a005f6b56a93a5a9a3b486dde4cae725 (patch) | |
tree | b995f6dd4380656c09b7bbe952e5a3b5f53ca5d5 /libs | |
parent | c7ebac12b11ec186daa22910592dbea05f80499f (diff) |
Patch from royvegard to add a set-bank midi function
(#4949).
git-svn-id: svn://localhost/ardour2/branches/3.0@12927 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/generic_midi/midifunction.cc | 13 | ||||
-rw-r--r-- | libs/surfaces/generic_midi/midifunction.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libs/surfaces/generic_midi/midifunction.cc b/libs/surfaces/generic_midi/midifunction.cc index 302ed0b552..70e9337861 100644 --- a/libs/surfaces/generic_midi/midifunction.cc +++ b/libs/surfaces/generic_midi/midifunction.cc @@ -61,6 +61,11 @@ MIDIFunction::setup (GenericMidiControlProtocol& ui, const std::string& invokabl _function = NextBank; } else if (strcasecmp (_invokable_name.c_str(), "prev-bank") == 0) { _function = PrevBank; + } else if (strcasecmp (_invokable_name.c_str(), "set-bank") == 0) { + if (_argument.empty()) { + return -1; + } + _function = SetBank; } else if (strcasecmp (_invokable_name.c_str(), "select") == 0) { if (_argument.empty()) { return -1; @@ -95,6 +100,14 @@ MIDIFunction::execute () _ui->prev_bank(); break; + case SetBank: + if (!_argument.empty()) { + uint32_t bank; + sscanf (_argument.c_str(), "%d", &bank); + _ui->set_current_bank (bank); + } + break; + case TransportStop: _ui->transport_stop (); break; diff --git a/libs/surfaces/generic_midi/midifunction.h b/libs/surfaces/generic_midi/midifunction.h index 8b3a52df3c..8f0b0218d0 100644 --- a/libs/surfaces/generic_midi/midifunction.h +++ b/libs/surfaces/generic_midi/midifunction.h @@ -55,6 +55,7 @@ class MIDIFunction : public MIDIInvokable TransportRecordDisable, /* 1 argument functions: RID */ Select, + SetBank, /* 2 argument functions: RID, value */ TrackSetSolo, TrackSetMute, |