[ecasound] MMC bug in ecasound-2.0.1

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: [ecasound] MMC bug in ecasound-2.0.1
From: Rob Stradling (rob@comodo.net)
Date: Tue Aug 14 2001 - 12:15:09 EEST


There's a small bug in the Midi Machine Control code in ecasound-2.0.1.
There needs to be a terminating byte, with the value 0xF7, for each mmc
command (see http://www.borg.com/~jglatt/tech/mmc.htm).

This is easy to fix - update the following function (in
libecasound/midi-server.cpp):

/**
* Sends an MMC-command to all MMC-send client device ids.
*/
void MIDI_SERVER::send_mmc_command(unsigned int cmd) {
unsigned char buf[6]; /* incremented from 5 to 6 */
buf[0] = 0xf0;
buf[1] = 0x7f;
buf[2] = 0x00; /* dev-id */
buf[3] = 0x06;
buf[4] = cmd;
buf[5] = 0xf7; /* this line is added */
list<int>::const_iterator p = mmc_send_ids_rep.begin();
while(p != mmc_send_ids_rep.end()) {
buf[2] = static_cast<unsigned char>(*p);
send_midi_bytes(1, buf, 6); /* incremented from 5 to 6 */
++p;
}
}

With the above change, I can now get ecasound to MMC start/stop my Fostex
DMT8VL. Fantastic!

Rob Stradling

--
To unsubscribe send message 'unsubscribe' in the body of the
message to <ecasound-list-request@wakkanet.fi>.


New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Aug 14 2001 - 12:17:05 EEST