Apply fix for 2546 from lincoln. Many thanks.
[ardour.git] / libs / midi++2 / mmc.cc
index 28d6393fb453c154c0bc5707a3a3a9af24c19479..1ede281c289784c46ece9d2f85bee7ffdd49c0e1 100644 (file)
@@ -202,7 +202,8 @@ MachineControl::MachineControl (Port &p, float version,
        
        build_mmc_cmd_map ();
 
-       _device_id = 0;
+       _receive_device_id = 0;
+       _send_device_id = 0x7f;
        
        if ((parser = _port.input()) != 0) {
                parser->mmc.connect 
@@ -214,10 +215,15 @@ MachineControl::MachineControl (Port &p, float version,
 }
 
 void
-MachineControl::set_device_id (byte id)
+MachineControl::set_receive_device_id (byte id)
+{
+       _receive_device_id = id & 0x7f;
+}
 
+void
+MachineControl::set_send_device_id (byte id)
 {
-       _device_id = id & 0x7f;
+       _send_device_id = id & 0x7f;
 }
 
 bool
@@ -258,14 +264,14 @@ MachineControl::process_mmc_message (Parser &p, byte *msg, size_t len)
        */
 
 #if 0
-       cerr << "*** me = " << (int) _device_id << " MMC message: len = " << len << "\n\t";
+       cerr << "*** me = " << (int) _receive_device_id << " MMC message: len = " << len << "\n\t";
        for (size_t i = 0; i < len; i++) {
                cerr << hex << (int) msg[i] << dec << ' ';
        }
        cerr << endl;
 #endif
 
-       if (msg[1] != 0x7f && msg[1] != _device_id) {
+       if (msg[1] != 0x7f && msg[1] != _receive_device_id) {
                return;
        }