faderport: add footswitch combos to GUI to allow user control over what the switch...
[ardour.git] / libs / surfaces / generic_midi / midifunction.h
index aafa739f20df01c9a2c3a4b19764449a58f5c0ef..12340174d40f1ef649aac36209a21fb1ca1fb420 100644 (file)
@@ -1,6 +1,6 @@
 /*
     Copyright (C) 2009 Paul Davis
+
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
@@ -33,7 +33,6 @@
 
 namespace MIDI {
        class Channel;
-       class Port;
        class Parser;
 }
 
@@ -42,7 +41,7 @@ class GenericMidiControlProtocol;
 class MIDIFunction : public MIDIInvokable
 {
   public:
-       enum Function { 
+       enum Function {
                NextBank,
                PrevBank,
                TransportRoll,
@@ -51,12 +50,21 @@ class MIDIFunction : public MIDIInvokable
                TransportStart,
                TransportEnd,
                TransportLoopToggle,
+               TransportRecordToggle,
                TransportRecordEnable,
                TransportRecordDisable,
+               /* 1 argument functions: RID */
                Select,
+               SetBank,
+               /* 2 argument functions: RID, value */
+               TrackSetSolo,
+               TrackSetMute,
+               TrackSetGain,
+               TrackSetRecordEnable,
+               TrackSetSoloIsolate,
        };
 
-       MIDIFunction (MIDI::Port&);
+       MIDIFunction (MIDI::Parser&);
        virtual ~MIDIFunction ();
 
        int setup (GenericMidiControlProtocol&, const std::string& function_name, const std::string& argument, MIDI::byte* sysex = 0, size_t ssize = 0);