summaryrefslogtreecommitdiff
path: root/libs/midi++2/midi++
diff options
context:
space:
mode:
Diffstat (limited to 'libs/midi++2/midi++')
-rw-r--r--libs/midi++2/midi++/manager.h30
-rw-r--r--libs/midi++2/midi++/mmc.h9
-rw-r--r--libs/midi++2/midi++/port.h4
3 files changed, 11 insertions, 32 deletions
diff --git a/libs/midi++2/midi++/manager.h b/libs/midi++2/midi++/manager.h
index 563062aaea..2193c1eb23 100644
--- a/libs/midi++2/midi++/manager.h
+++ b/libs/midi++2/midi++/manager.h
@@ -21,7 +21,6 @@
#define __midi_manager_h__
#include <list>
-#include <vector>
#include <string>
@@ -34,8 +33,6 @@ class Manager {
public:
~Manager ();
- void set_api_data(void* data) { api_data = data; }
-
/** Signal the start of an audio cycle.
* This MUST be called before any reading/writing for this cycle.
* Realtime safe.
@@ -49,26 +46,9 @@ class Manager {
*/
void cycle_end();
- Port *add_port (const XMLNode& node);
- int remove_port (Port*);
-
- Port *port (std::string name);
-
- size_t nports () const { return _ports.size(); }
-
- /* defaults for clients who are not picky */
-
- Port *inputPort;
- Port *outputPort;
- channel_t inputChannelNumber;
- channel_t outputChannelNumber;
-
- int set_input_port (std::string);
- int set_output_port (std::string);
- int set_input_channel (channel_t);
- int set_output_channel (channel_t);
+ Port* add_port (Port *);
- int foreach_port (int (*func)(const Port &, size_t n, void *), void *arg);
+ Port* port (std::string const &);
typedef std::list<Port *> PortList;
@@ -90,13 +70,9 @@ class Manager {
/* This is a SINGLETON pattern */
Manager ();
-
static Manager *theManager;
+
std::list<Port*> _ports;
-
- void* api_data;
-
- void close_ports ();
};
} // namespace MIDI
diff --git a/libs/midi++2/midi++/mmc.h b/libs/midi++2/midi++/mmc.h
index ec48527789..ec3eb8bbb1 100644
--- a/libs/midi++2/midi++/mmc.h
+++ b/libs/midi++2/midi++/mmc.h
@@ -20,6 +20,7 @@
#ifndef __midipp_mmc_h_h__
#define __midipp_mmc_h_h__
+#include <jack/types.h>
#include "control_protocol/timecode.h"
#include "pbd/signals.h"
#include "pbd/ringbuffer.h"
@@ -87,10 +88,9 @@ class MachineControl
cmdResume = 0x7F
};
- MachineControl ();
- void set_port (Port* p);
+ MachineControl (jack_client_t *);
- Port* port() { return _port; }
+ Port* output_port() { return _output_port; }
void set_receive_device_id (byte id);
void set_send_device_id (byte id);
@@ -255,7 +255,8 @@ class MachineControl
private:
byte _receive_device_id;
byte _send_device_id;
- Port* _port;
+ Port* _input_port;
+ Port* _output_port;
bool _enable_send; ///< true if MMC sending is enabled
void process_mmc_message (Parser &p, byte *, size_t len);
diff --git a/libs/midi++2/midi++/port.h b/libs/midi++2/midi++/port.h
index 8c875a6615..ca977fad2f 100644
--- a/libs/midi++2/midi++/port.h
+++ b/libs/midi++2/midi++/port.h
@@ -42,6 +42,7 @@ class PortRequest;
class Port {
public:
+ Port (std::string const &, int, jack_client_t *);
Port (const XMLNode&, jack_client_t *);
~Port ();
@@ -135,7 +136,7 @@ private:
static size_t nports;
- int create_ports(const XMLNode&);
+ void create_port_names ();
int create_ports ();
jack_client_t* _jack_client;
@@ -156,6 +157,7 @@ private:
void flush (void* jack_port_buffer);
void jack_halted ();
void make_connections();
+ void init (std::string const &, int);
static pthread_t _process_thread;