winealsa: Have the MIDI recorder wait in poll(), not snd_seq_event_input().

Johannes Kroll jkroll at lavabit.com
Tue Feb 12 09:45:27 CST 2013


On Tue, 12 Feb 2013 15:49:18 +0100
<Joerg-Cyril.Hoehle at t-systems.com> wrote:

> Hi,
> 
> Johannes Krol wrote:
> >Joerg, if you want the complete log I can send it to you by PM, it's
> >about 1.7M.
> I don't need that for now. What I need are the 119 missing bytes between
> 17.015:003b:trace:midi:modLongData dwBufferLength=125 !
> 17.015:003b:trace:midi:modLongData                  F0 42 40 ... 00 00 00
> 
> Please copy&paste & adapt this code to produce a full hex dump:
> http://source.winehq.org/source/dlls/winmm/winmm.c#L1066
> 
> In particular, I want to know if there's some F7 amid that data
> (remember that your original patch precisely stopped at a F7...)
> and what the bytes following that F7 look like.

  9.532:0023:trace:winmm:MMDRV_Message Calling message(dev=2 msg=59 usr=0x00008000 p1=0x00b281b8 p2=0x00000040)
  9.532:003a:warn:midi:modLongData Alleged system exclusive buffer is not correct
	Please report with MIDI file
  9.532:0023:trace:midi:ALSA_midMessage (0002, 003B, 00008000, 00B281B8, 00000040);
  9.532:003a:trace:midi:modLongData dwBufferLength=88 !
f0 42   9.532:0023:trace:midi:midAddBuffer (0002, 0xb281b8, 00000040);
41 00 01 11 01 7f 4b 40 7a 01 7f 02 7f 7f .BA.....K at z.....
7f 7f 71 7f 40 01 7f 7f 7f 7f 03 7f 7f 01 01 00 ..q. at ...........
00 7f 06 02 7f 7f 01 40 00 00 7c 7f 00 7f 7f 7f ....... at ..|.....
7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f ................
7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f ................
7f 7f 01 7f f7 00 00 00                         ........
  9.532:003a:trace:midi:modLongData dwBytesRecorded=0


So there is an F7 there... Maybe the app expects that the driver scans
through the buffer for the F7 and doesn't send the following bytes...

In any case, adding an F7 at the end works for my hardware but it isn't
correct...





More information about the wine-devel mailing list