[PATCH] winealsa.drv: add midi realtime and midi common messages on midi input

Ralf Beck musical_snake at gmx.de
Wed May 23 12:13:11 CDT 2007


Note midi realtime and midi common messages are sent as midi short 
messages in windows, not sysex.
-------------- next part --------------
--- a/dlls/winealsa.drv/midi.c	2007-05-11 19:35:02.000000000 +0200
+++ b/dlls/winealsa.drv/midi.c	2007-05-23 17:36:03.000000000 +0200
@@ -345,6 +345,27 @@ static DWORD WINAPI midRecThread(LPVOID 
 		case SND_SEQ_EVENT_CHANPRESS:
 		    toSend = (ev->data.control.value << 16) | (ev->data.control.param << 8) | MIDI_CMD_CHANNEL_PRESSURE | ev->data.control.channel;
 		    break;
+                case SND_SEQ_EVENT_CLOCK:
+                    toSend = 0xF8;
+                    break;
+                case SND_SEQ_EVENT_START:
+                    toSend = 0xFA;
+                    break;
+                case SND_SEQ_EVENT_CONTINUE:
+                    toSend = 0xFB;
+                    break;
+                case SND_SEQ_EVENT_STOP:
+                    toSend = 0xFC;
+                    break;
+                case SND_SEQ_EVENT_SONGPOS:
+                    toSend = (((ev->data.control.value >> 7) & 0x7f) << 16) | ((ev->data.control.value & 0x7f) << 8) | 0xF2;
+                    break;
+                case SND_SEQ_EVENT_SONGSEL:
+                  toSend = ((ev->data.control.value & 0x7f) << 8) | 0xF3;
+                    break;
+                case SND_SEQ_EVENT_RESET:
+                    toSend = 0xFF;
+                    break;
 		case SND_SEQ_EVENT_SYSEX:
 		    {
 			int len = ev->data.ext.len;


More information about the wine-patches mailing list