editors for control protocols (generalized); editor for Generic MIDI that allows choosing a MIDI binding map (or none); support banking in binding URLs, and other miscellany related to generic MIDI; save+restore JACK_MidiPort connection state (but cause a crash at shutdown time)

git-svn-id: svn://localhost/ardour2/branches/3.0@6411 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2009-12-29 21:31:14 +00:00
parent e10d0339cc
commit 77cc0f7cc8
17 changed files with 658 additions and 95 deletions

View file

@ -35,12 +35,14 @@ namespace MIDI {
class Parser;
}
class BasicUI;
class GenericMidiControlProtocol;
class MIDIFunction : public PBD::Stateful
{
public:
enum Function {
NextBank,
PrevBank,
TransportRoll,
TransportStop,
TransportZero,
@ -54,7 +56,7 @@ class MIDIFunction : public PBD::Stateful
MIDIFunction (MIDI::Port&);
virtual ~MIDIFunction ();
int init (BasicUI&, const std::string& function_name, MIDI::byte* sysex = 0, size_t ssize = 0);
int init (GenericMidiControlProtocol&, const std::string& function_name, MIDI::byte* sysex = 0, size_t ssize = 0);
MIDI::Port& get_port() const { return _port; }
const std::string& function_name() const { return _function_name; }
@ -69,7 +71,7 @@ class MIDIFunction : public PBD::Stateful
private:
Function _function;
BasicUI* _ui;
GenericMidiControlProtocol* _ui;
std::string _function_name;
MIDI::Port& _port;
PBD::ScopedConnection midi_sense_connection[2];