- if (mmc) {
- mmc->set_device_id (device_id);
- }
-}
-
-int
-Session::set_mmc_port (string port_tag)
-{
-#if 0
- MIDI::byte old_device_id = 0;
- bool reset_id = false;
-
- if (port_tag.length() == 0) {
- if (_mmc_port == 0) {
- return 0;
- }
- _mmc_port = 0;
- goto out;
- }
-
- MIDI::Port* port;
-
- if ((port = MIDI::Manager::instance()->port (port_tag)) == 0) {
- return -1;
- }
-
- _mmc_port = port;
-
- if (mmc) {
- old_device_id = mmc->device_id();
- reset_id = true;
- delete mmc;
- }
-
- mmc = new MIDI::MachineControl (*_mmc_port, 1.0,
- MMC_CommandSignature,
- MMC_ResponseSignature);
-
- if (reset_id) {
- mmc->set_device_id (old_device_id);
- }
-
- mmc->Play.connect
- (mem_fun (*this, &Session::mmc_deferred_play));
- mmc->DeferredPlay.connect
- (mem_fun (*this, &Session::mmc_deferred_play));
- mmc->Stop.connect
- (mem_fun (*this, &Session::mmc_stop));
- mmc->FastForward.connect
- (mem_fun (*this, &Session::mmc_fast_forward));
- mmc->Rewind.connect
- (mem_fun (*this, &Session::mmc_rewind));
- mmc->Pause.connect
- (mem_fun (*this, &Session::mmc_pause));
- mmc->RecordPause.connect
- (mem_fun (*this, &Session::mmc_record_pause));
- mmc->RecordStrobe.connect
- (mem_fun (*this, &Session::mmc_record_strobe));
- mmc->RecordExit.connect
- (mem_fun (*this, &Session::mmc_record_exit));
- mmc->Locate.connect
- (mem_fun (*this, &Session::mmc_locate));
- mmc->Step.connect
- (mem_fun (*this, &Session::mmc_step));
- mmc->Shuttle.connect
- (mem_fun (*this, &Session::mmc_shuttle));
- mmc->TrackRecordStatusChange.connect
- (mem_fun (*this, &Session::mmc_record_enable));
-
-
- /* also handle MIDI SPP because its so common */
-
- _mmc_port->input()->start.connect (mem_fun (*this, &Session::spp_start));
- _mmc_port->input()->contineu.connect (mem_fun (*this, &Session::spp_continue));
- _mmc_port->input()->stop.connect (mem_fun (*this, &Session::spp_stop));
-
- Config->set_mmc_port_name (port_tag);
-
- out:
-#endif
- MMC_PortChanged(); /* EMIT SIGNAL */
- change_midi_ports ();
- set_dirty();
- return 0;
-}
-
-int
-Session::set_midi_port (string port_tag)
-{
-#if 0
- if (port_tag.length() == 0) {
- if (_midi_port == 0) {
- return 0;
- }
- _midi_port = 0;
- goto out;
- }
-
- MIDI::Port* port;
-
- if ((port = MIDI::Manager::instance()->port (port_tag)) == 0) {
- return -1;
- }
-
- _midi_port = port;
-
- /* XXX need something to forward this to control protocols ? or just
- use the signal below
- */
-
- Config->set_midi_port_name (port_tag);
-
- out:
-#endif
- MIDI_PortChanged(); /* EMIT SIGNAL */
- change_midi_ports ();
- set_dirty();
- return 0;
-}
-
-void
-Session::set_trace_midi_input (bool yn, MIDI::Port* port)
-{
-#if 0
- MIDI::Parser* input_parser;
-
- if (port) {
- if ((input_parser = port->input()) != 0) {
- input_parser->trace (yn, &cout, "input: ");
- }
- } else {
-
- if (_mmc_port) {
- if ((input_parser = _mmc_port->input()) != 0) {
- input_parser->trace (yn, &cout, "input: ");
- }
- }
-
- if (_mtc_port && _mtc_port != _mmc_port) {
- if ((input_parser = _mtc_port->input()) != 0) {
- input_parser->trace (yn, &cout, "input: ");
- }
- }
-
- if (_midi_port && _midi_port != _mmc_port && _midi_port != _mtc_port ) {
- if ((input_parser = _midi_port->input()) != 0) {
- input_parser->trace (yn, &cout, "input: ");
- }
- }
- }
-#endif
-
- Config->set_trace_midi_input (yn);
-}
-
-void
-Session::set_trace_midi_output (bool yn, MIDI::Port* port)
-{
-#if 0
- MIDI::Parser* output_parser;
-
- if (port) {
- if ((output_parser = port->output()) != 0) {
- output_parser->trace (yn, &cout, "output: ");
- }
- } else {
- if (_mmc_port) {
- if ((output_parser = _mmc_port->output()) != 0) {
- output_parser->trace (yn, &cout, "output: ");
- }
- }
-
- if (_mtc_port && _mtc_port != _mmc_port) {
- if ((output_parser = _mtc_port->output()) != 0) {
- output_parser->trace (yn, &cout, "output: ");
- }
- }
-
- if (_midi_port && _midi_port != _mmc_port && _midi_port != _mtc_port ) {
- if ((output_parser = _midi_port->output()) != 0) {
- output_parser->trace (yn, &cout, "output: ");
- }
- }
-
- }
-#endif
-
- Config->set_trace_midi_output (yn);
-}
-
-bool
-Session::get_trace_midi_input(MIDI::Port *port)
-{
-#if 0
- MIDI::Parser* input_parser;
- if (port) {
- if ((input_parser = port->input()) != 0) {
- return input_parser->tracing();
- }
- }
- else {
- if (_mmc_port) {
- if ((input_parser = _mmc_port->input()) != 0) {
- return input_parser->tracing();
- }
- }
-
- if (_mtc_port) {
- if ((input_parser = _mtc_port->input()) != 0) {
- return input_parser->tracing();
- }
- }
-
- if (_midi_port) {
- if ((input_parser = _midi_port->input()) != 0) {
- return input_parser->tracing();
- }
- }
- }
-#endif
-
- return false;
-}
-
-bool
-Session::get_trace_midi_output(MIDI::Port *port)
-{
-#if 0
- MIDI::Parser* output_parser;
- if (port) {
- if ((output_parser = port->output()) != 0) {
- return output_parser->tracing();
- }
- }
- else {
- if (_mmc_port) {
- if ((output_parser = _mmc_port->output()) != 0) {
- return output_parser->tracing();
- }
- }
-
- if (_mtc_port) {
- if ((output_parser = _mtc_port->output()) != 0) {
- return output_parser->tracing();
- }
- }