/*
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
namespace MIDI {
class Channel;
- class Port;
class Parser;
}
class MIDIFunction : public MIDIInvokable
{
public:
- enum Function {
+ enum Function {
NextBank,
PrevBank,
TransportRoll,
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);