close network sockets on fork
[ardour.git] / libs / midi++2 / mmc.cc
index 406fd0ef196d936e14f1478566dff37ac3ce50a5..06eadb5b34adcead348030f8061b05d769cc5b02 100644 (file)
 #include <fcntl.h>
 #include <map>
 
-#include "control_protocol/timecode.h"
+#include "timecode/time.h"
 #include "pbd/error.h"
 #include "midi++/mmc.h"
 #include "midi++/port.h"
+#include "midi++/jack_midi_port.h"
 #include "midi++/parser.h"
 #include "midi++/manager.h"
 
@@ -195,20 +196,20 @@ static void build_mmc_cmd_map ()
 }
 
 
-MachineControl::MachineControl (jack_client_t* jack)
+MachineControl::MachineControl (Manager* m, jack_client_t* jack)
 {
        build_mmc_cmd_map ();
 
-       _receive_device_id = 0;
+       _receive_device_id = 0x7f;
        _send_device_id = 0x7f;
 
-       _input_port = Manager::instance()->add_port (new Port ("MMC", O_RDONLY, jack));
-       _output_port = Manager::instance()->add_port (new Port ("MMC", O_WRONLY, jack));
+       _input_port = m->add_port (new JackMIDIPort ("MMC in", Port::IsInput, jack));
+       _output_port = m->add_port (new JackMIDIPort ("MMC out", Port::IsOutput, jack));
 
-       _input_port->input()->mmc.connect_same_thread (port_connections, boost::bind (&MachineControl::process_mmc_message, this, _1, _2, _3));
-       _input_port->input()->start.connect_same_thread (port_connections, boost::bind (&MachineControl::spp_start, this, _1, _2));
-       _input_port->input()->contineu.connect_same_thread (port_connections, boost::bind (&MachineControl::spp_continue, this, _1, _2));
-       _input_port->input()->stop.connect_same_thread (port_connections, boost::bind (&MachineControl::spp_stop, this, _1, _2));
+       _input_port->parser()->mmc.connect_same_thread (port_connections, boost::bind (&MachineControl::process_mmc_message, this, _1, _2, _3));
+       _input_port->parser()->start.connect_same_thread (port_connections, boost::bind (&MachineControl::spp_start, this));
+       _input_port->parser()->contineu.connect_same_thread (port_connections, boost::bind (&MachineControl::spp_continue, this));
+       _input_port->parser()->stop.connect_same_thread (port_connections, boost::bind (&MachineControl::spp_stop, this));
 }
 
 void
@@ -649,21 +650,21 @@ MachineControl::send (MachineControlCommand const & c)
 }
 
 void
-MachineControl::spp_start (Parser& parser, nframes_t timestamp)
+MachineControl::spp_start ()
 {
-       SPPStart (parser, timestamp); /* EMIT SIGNAL */
+       SPPStart (); /* EMIT SIGNAL */
 }
 
 void
-MachineControl::spp_continue (Parser& parser, nframes_t timestamp)
+MachineControl::spp_continue ()
 {
-       SPPContinue (parser, timestamp); /* EMIT SIGNAL */
+       SPPContinue (); /* EMIT SIGNAL */
 }
 
 void
-MachineControl::spp_stop (Parser& parser, nframes_t timestamp)
+MachineControl::spp_stop ()
 {
-       SPPStop (parser, timestamp); /* EMIT SIGNAL */
+       SPPStop (); /* EMIT SIGNAL */
 }
 
 MachineControlCommand::MachineControlCommand (MachineControl::Command c)