diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-05 13:22:34 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-05 13:22:34 -0400 |
commit | 1c49138e0099db37931b34fad552b43c332e187d (patch) | |
tree | b3ebb558e8b055695fff674114272f7a28792bda /libs/ardour/session_midi.cc | |
parent | fee626c386ccc23c41b7b2976c5031cd335b7587 (diff) |
move MidiPortManager from AudioEngine to Session
This makes the responsibilities and ownership of non-Route related MIDI ports
more clear, and removes a few wierd bits of code. It also ensures that open/close/open
on the same session will retain connections for those MIDI ports
Diffstat (limited to 'libs/ardour/session_midi.cc')
-rw-r--r-- | libs/ardour/session_midi.cc | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc index 07a34283e3..6d3083df77 100644 --- a/libs/ardour/session_midi.cc +++ b/libs/ardour/session_midi.cc @@ -425,7 +425,7 @@ Session::send_full_time_code (framepos_t const t, pframes_t nframes) // Send message at offset 0, sent time is for the start of this cycle - MidiBuffer& mb (AudioEngine::instance()->mtc_output_port()->get_midi_buffer (nframes)); + MidiBuffer& mb (_midi_ports->mtc_output_port()->get_midi_buffer (nframes)); mb.push_back (0, sizeof (msg), msg); _pframes_since_last_mtc = 0; @@ -515,7 +515,7 @@ Session::send_midi_time_code_for_cycle (framepos_t start_frame, framepos_t end_f pframes_t const out_stamp = (msg_time - start_frame) / _transport_speed; assert (out_stamp < nframes); - MidiBuffer& mb (AudioEngine::instance()->mtc_output_port()->get_midi_buffer(nframes)); + MidiBuffer& mb (_midi_ports->mtc_output_port()->get_midi_buffer(nframes)); if (!mb.push_back (out_stamp, 2, mtc_msg)) { error << string_compose(_("Session: cannot send quarter-frame MTC message (%1)"), strerror (errno)) << endmsg; @@ -603,3 +603,45 @@ Session::start_midi_thread () return 0; } +MIDI::Port* +Session::midi_input_port () const +{ + return _midi_ports->midi_input_port (); +} +MIDI::Port* +Session::midi_output_port () const +{ + return _midi_ports->midi_output_port (); +} +boost::shared_ptr<MidiPort> +Session::midi_clock_output_port () const +{ + return _midi_ports->midi_clock_output_port (); +} +boost::shared_ptr<MidiPort> +Session::midi_clock_input_port () const +{ + return _midi_ports->midi_clock_input_port (); +} +boost::shared_ptr<MidiPort> +Session::mtc_output_port () const +{ + return _midi_ports->mtc_output_port (); +} +boost::shared_ptr<MidiPort> +Session::mtc_input_port () const +{ + return _midi_ports->mtc_input_port (); +} + +MIDI::Port* +Session::mmc_output_port () const +{ + return _midi_ports->mmc_output_port (); +} + +MIDI::Port* +Session::mmc_input_port () const +{ + return _midi_ports->mmc_input_port (); +} |