Stephane Bacri : winealsa.drv: Add midi MTC Quarter Frame messages support.

Alexandre Julliard julliard at winehq.org
Fri Jun 17 13:13:47 CDT 2011


Module: wine
Branch: master
Commit: d8ccfafd5be39c642ce3844a6a5c565029e459c4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d8ccfafd5be39c642ce3844a6a5c565029e459c4

Author: Stephane Bacri <stephanebacri at gmail.com>
Date:   Sun Jun 12 12:36:55 2011 +0200

winealsa.drv: Add midi MTC Quarter Frame messages support.

---

 dlls/winealsa.drv/midi.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/winealsa.drv/midi.c b/dlls/winealsa.drv/midi.c
index 8bd048e..1e5b436 100644
--- a/dlls/winealsa.drv/midi.c
+++ b/dlls/winealsa.drv/midi.c
@@ -362,14 +362,17 @@ static DWORD WINAPI midRecThread(LPVOID arg)
                     toSend = 0xFC;
                     break;
                 case SND_SEQ_EVENT_SONGPOS:
-                    toSend = (((ev->data.control.value >> 7) & 0x7f) << 16) | ((ev->data.control.value & 0x7f) << 8) | 0xF2;
+                    toSend = (((ev->data.control.value >> 7) & 0x7f) << 16) | ((ev->data.control.value & 0x7f) << 8) | MIDI_CMD_COMMON_SONG_POS;
                     break;
                 case SND_SEQ_EVENT_SONGSEL:
-                  toSend = ((ev->data.control.value & 0x7f) << 8) | 0xF3;
+                  toSend = ((ev->data.control.value & 0x7f) << 8) | MIDI_CMD_COMMON_SONG_SELECT;
                     break;
                 case SND_SEQ_EVENT_RESET:
                     toSend = 0xFF;
                     break;
+                case SND_SEQ_EVENT_QFRAME:
+                  toSend = ((ev->data.control.value & 0x7f) << 8) | MIDI_CMD_COMMON_MTC_QUARTER;
+                    break;
 		case SND_SEQ_EVENT_SYSEX:
 		    {
 			int pos = 0;
@@ -864,7 +867,6 @@ static DWORD modData(WORD wDevID, DWORD dwParam)
 		switch (evt & 0x0F) {
 		case 0x00:	/* System Exclusive, don't do it on modData,
 				 * should require modLongData*/
-		case 0x01:	/* Undefined */
 		case 0x04:	/* Undefined. */
 		case 0x05:	/* Undefined. */
 		case 0x07:	/* End of Exclusive. */
@@ -890,6 +892,7 @@ static DWORD modData(WORD wDevID, DWORD dwParam)
 			snd_seq_ev_set_sysex(&event, sizeof(reset_sysex_seq), reset_sysex_seq);
 		    }
 		    break;
+		case 0x01:	/* MTC Quarter frame */
 		case 0x03:	/* Song Select. */
 		    {
 			BYTE buf[2];




More information about the wine-cvs mailing list