diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-08-04 14:37:22 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-08-04 14:37:22 +0000 |
commit | 047bf14592018cff6f2fbe57ac1cabac02cea781 (patch) | |
tree | 0e0af472dc442419e82efd6e5300044f332b62dc /libs/ardour/session_midi.cc | |
parent | deba9b3ccd866ec603b86e6c484641ded05f58a3 (diff) |
separate MMC ID's for send + receive
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2239 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_midi.cc')
-rw-r--r-- | libs/ardour/session_midi.cc | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc index f58098d9d1..f6544b1cf6 100644 --- a/libs/ardour/session_midi.cc +++ b/libs/ardour/session_midi.cc @@ -126,17 +126,26 @@ Session::set_mtc_port (string port_tag) } void -Session::set_mmc_device_id (uint32_t device_id) +Session::set_mmc_receive_device_id (uint32_t device_id) { if (mmc) { - mmc->set_device_id (device_id); + mmc->set_receive_device_id (device_id); + } +} + +void +Session::set_mmc_send_device_id (uint32_t device_id) +{ + if (mmc) { + mmc->set_send_device_id (device_id); } } int Session::set_mmc_port (string port_tag) { - MIDI::byte old_device_id = 0; + MIDI::byte old_recv_device_id = 0; + MIDI::byte old_send_device_id = 0; bool reset_id = false; if (port_tag.length() == 0) { @@ -156,7 +165,8 @@ Session::set_mmc_port (string port_tag) _mmc_port = port; if (mmc) { - old_device_id = mmc->device_id(); + old_recv_device_id = mmc->receive_device_id(); + old_recv_device_id = mmc->send_device_id(); reset_id = true; delete mmc; } @@ -166,7 +176,8 @@ Session::set_mmc_port (string port_tag) MMC_ResponseSignature); if (reset_id) { - mmc->set_device_id (old_device_id); + mmc->set_receive_device_id (old_recv_device_id); + mmc->set_send_device_id (old_send_device_id); } mmc->Play.connect @@ -385,7 +396,7 @@ Session::setup_midi_control () mmc_buffer[0] = 0xf0; // SysEx mmc_buffer[1] = 0x7f; // Real Time SysEx ID for MMC - mmc_buffer[2] = 0x7f; // "broadcast" device ID + mmc_buffer[2] = mmc->send_device_id(); mmc_buffer[3] = 0x6; // MCC /* Set up the qtr frame message */ |