summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-25 19:26:00 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-25 19:26:00 +0000
commit0786ff15a005f6b56a93a5a9a3b486dde4cae725 (patch)
treeb995f6dd4380656c09b7bbe952e5a3b5f53ca5d5 /libs
parentc7ebac12b11ec186daa22910592dbea05f80499f (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.cc13
-rw-r--r--libs/surfaces/generic_midi/midifunction.h1
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,