diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-24 19:29:45 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-24 19:29:45 -0400 |
commit | 9ac6bb9befa047a6c349bed02d40da84600b67cc (patch) | |
tree | 5b88f453b8f43d2a43b31cb15b0b50acd6f9eb4a /libs/midi++2/midi++ | |
parent | 3d95822716d2e52b54a5bdbe7be4478ab034f8db (diff) |
part-way through getting the audioengine changes to compile
Diffstat (limited to 'libs/midi++2/midi++')
-rw-r--r-- | libs/midi++2/midi++/jack_midi_port.h | 21 | ||||
-rw-r--r-- | libs/midi++2/midi++/manager.h | 10 | ||||
-rw-r--r-- | libs/midi++2/midi++/mmc.h | 8 |
3 files changed, 25 insertions, 14 deletions
diff --git a/libs/midi++2/midi++/jack_midi_port.h b/libs/midi++2/midi++/jack_midi_port.h index a8859387a4..492756067c 100644 --- a/libs/midi++2/midi++/jack_midi_port.h +++ b/libs/midi++2/midi++/jack_midi_port.h @@ -22,8 +22,6 @@ #include <string> #include <iostream> -#include <jack/types.h> - #include "pbd/xml++.h" #include "pbd/crossthread.h" #include "pbd/signals.h" @@ -36,6 +34,8 @@ #include "midi++/parser.h" #include "midi++/port.h" +#include "ardour/port_engine.h" + namespace MIDI { class Channel; @@ -43,8 +43,8 @@ class PortRequest; class JackMIDIPort : public Port { public: - JackMIDIPort (std::string const &, Port::Flags, jack_client_t *); - JackMIDIPort (const XMLNode&, jack_client_t *); + JackMIDIPort (std::string const &, Port::Flags, ARDOUR::PortEngine&); + JackMIDIPort (const XMLNode&, ARDOUR::PortEngine&); ~JackMIDIPort (); XMLNode& get_state () const; @@ -61,7 +61,7 @@ class JackMIDIPort : public Port { pframes_t nframes_this_cycle() const { return _nframes_this_cycle; } - void reestablish (jack_client_t *); + void reestablish (); void reconnect (); static void set_process_thread (pthread_t); @@ -69,13 +69,14 @@ class JackMIDIPort : public Port { static bool is_process_thread(); static PBD::Signal0<void> MakeConnections; - static PBD::Signal0<void> JackHalted; + static PBD::Signal0<void> EngineHalted; private: + ARDOUR::PortEngine& _port_engine; + ARDOUR::PortEngine::PortHandle _port_handle; + bool _currently_in_cycle; pframes_t _nframes_this_cycle; - jack_client_t* _jack_client; - jack_port_t* _jack_port; timestamp_t _last_write_timestamp; RingBuffer< Evoral::Event<double> > output_fifo; Evoral::EventRingBuffer<timestamp_t> input_fifo; @@ -89,8 +90,8 @@ private: std::string _connections; PBD::ScopedConnection connect_connection; PBD::ScopedConnection halt_connection; - void flush (void* jack_port_buffer); - void jack_halted (); + void flush (void* port_buffer); + void engine_halted (); void make_connections (); void init (std::string const &, Flags); diff --git a/libs/midi++2/midi++/manager.h b/libs/midi++2/midi++/manager.h index c37ba392b4..7f4df5c6c8 100644 --- a/libs/midi++2/midi++/manager.h +++ b/libs/midi++2/midi++/manager.h @@ -29,6 +29,10 @@ #include "midi++/types.h" #include "midi++/port.h" +namespace ARDOUR { + class PortEngine; +} + namespace MIDI { class MachineControl; @@ -69,14 +73,14 @@ class Manager { boost::shared_ptr<const PortList> get_midi_ports() const { return _ports.reader (); } - static void create (jack_client_t* jack); + static void create (ARDOUR::PortEngine&); static Manager *instance () { return theManager; } static void destroy (); - void reestablish (jack_client_t *); + void reestablish (); void reconnect (); PBD::Signal0<void> PortsChanged; @@ -84,7 +88,7 @@ class Manager { private: /* This is a SINGLETON pattern */ - Manager (jack_client_t *); + Manager (ARDOUR::PortEngine&); static Manager *theManager; MIDI::MachineControl* _mmc; diff --git a/libs/midi++2/midi++/mmc.h b/libs/midi++2/midi++/mmc.h index 18204e3fa8..0f362678ce 100644 --- a/libs/midi++2/midi++/mmc.h +++ b/libs/midi++2/midi++/mmc.h @@ -22,11 +22,17 @@ #include <jack/types.h> #include "timecode/time.h" + #include "pbd/signals.h" #include "pbd/ringbuffer.h" + #include "midi++/types.h" #include "midi++/parser.h" +namespace ARDOUR { + class PortEngine; +} + namespace MIDI { class Port; @@ -89,7 +95,7 @@ class MachineControl cmdResume = 0x7F }; - MachineControl (Manager *, jack_client_t *); + MachineControl (Manager *, ARDOUR::PortEngine&); Port* input_port() { return _input_port; } Port* output_port() { return _output_port; } |