fix a bad transition in the transportFSM.
[ardour.git] / libs / ardour / session_midi.cc
index a305cd7c66e7d5ca1d2123bf4ef7187628f24813..6967a1cdf503cc74d06b69f096ac2c8d5a0f8752 100644 (file)
@@ -456,7 +456,7 @@ Session::send_full_time_code (samplepos_t const t, MIDI::pframes_t nframes)
        // Send message at offset 0, sent time is for the start of this cycle
 
        MidiBuffer& mb (_midi_ports->mtc_output_port()->get_midi_buffer (nframes));
-       mb.push_back (Port::port_offset(), sizeof (msg), msg);
+       mb.push_back (0, sizeof (msg), msg);
 
        _pframes_since_last_mtc = 0;
        return 0;
@@ -598,12 +598,7 @@ Session::send_midi_time_code_for_cycle (samplepos_t start_sample, samplepos_t en
 void
 Session::send_immediate_mmc (MachineControlCommand c)
 {
-       if (AudioEngine::instance()->in_process_thread()) {
-               _mmc->send (c, Port::port_offset());
-       } else {
-               _mmc->send (c, 0);
-       }
-
+       _mmc->send (c, 0);
 }
 
 bool
@@ -692,13 +687,18 @@ Session::scene_input_port () const
        return _midi_ports->scene_input_port ();
 }
 
+boost::shared_ptr<AsyncMIDIPort>
+Session::vkbd_output_port () const
+{
+       return _midi_ports->vkbd_output_port ();
+}
+
 boost::shared_ptr<MidiPort>
 Session::midi_clock_output_port () const
 {
        return _midi_ports->midi_clock_output_port ();
 }
 
-
 boost::shared_ptr<MidiPort>
 Session::mtc_output_port () const
 {
@@ -741,10 +741,6 @@ Session::rewire_selected_midi (boost::shared_ptr<MidiTrack> new_midi_target)
 
        if (!msp.empty()) {
 
-               if (old_midi_target) {
-                       old_midi_target->input()->disconnect (this);
-               }
-
                for (vector<string>::const_iterator p = msp.begin(); p != msp.end(); ++p) {
                        PortManager::MidiPortInformation mpi (AudioEngine::instance()->midi_port_information (*p));