summaryrefslogtreecommitdiff
path: root/libs/midi++2/midi++
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-07-24 19:29:45 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-07-24 19:29:45 -0400
commit9ac6bb9befa047a6c349bed02d40da84600b67cc (patch)
tree5b88f453b8f43d2a43b31cb15b0b50acd6f9eb4a /libs/midi++2/midi++
parent3d95822716d2e52b54a5bdbe7be4478ab034f8db (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.h21
-rw-r--r--libs/midi++2/midi++/manager.h10
-rw-r--r--libs/midi++2/midi++/mmc.h8
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; }