<br><br><div class="gmail_quote">2013/1/10 Johannes Kroll <span dir="ltr"><<a href="mailto:jkroll@lavabit.com" target="_blank">jkroll@lavabit.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, 10 Jan 2013 12:04:02 +0100<br>
Christian Costa <<a href="mailto:titan.costa@gmail.com">titan.costa@gmail.com</a>> wrote:<br>
<br>
> In your code you stop checking F7 just before the last byte (until<br>
> position lpMidiOutHdr->dwBufferLength-2);<br>
> You can check the last byte as well. This is also valid and simplify the<br>
> condition.<br>
> The missing F7 byte case is handled by the for loop.<br>
<br>
</div>Ah, you mean that check. Yes, it's not strictly necessary, it just<br>
decides whether it has to save & restore dwBufferSize or not.<br>
<div class="im"><br>
<br>
> Regarding the single MMDRV_Message call, I was thinking about something<br>
> like below.<br>
> This also enable printing a WARN when F7 is missing which can be useful for<br>
> debug.<br>
><br>
> � � DWORD oldBufferLength = lpMidiOutHdr->dwBufferLength;<br>
> � � DWORD ret;<br>
><br>
> � � for(i = 0; i < lpMidiOutHdr->dwBufferLength; i++)<br>
><br>
> � � � �/* SysEx messages are terminated by a 0xF7 byte. If the buffer<br>
> contains additional<br>
> � � � � � bytes, send only the bytes up to the termination byte. */<br>
> � � � � if((unsigned char)lpMidiOutHdr->lpData[i] == 0xF7)<br>
> � � � � {<br>
> � � � � � � lpMidiOutHdr->dwBufferLength = i+1;<br>
><br>
> � � � � � � break;<br>
><br>
> � � � � }<br>
><br>
><br>
> � � if (i == lpMidiOutHdr->dwBufferLength)<br>
><br>
> � � � � WARN("SysEx termination byte 0xF7 missing\n")<br>
><br>
><br>
><br>
> � � ret = �MMDRV_Message(wmld, MODM_LONGDATA, (DWORD_PTR)lpMidiOutHdr,<br>
> uSize);<br>
><br>
> � � /* restore the midi header to its original state. */<br>
> � � lpMidiOutHdr->dwBufferLength = oldBufferLength;<br>
><br>
><br>
> � � return ret;<br>
<br>
</div>I see nothing wrong with that apart from the broken formatting (please<br>
don't use HTML mail). Did you test it?<br>
<br></blockquote><div><br></div><div>It was not intended to be used as is. It's just to show what I had in mind.</div><div>�</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I don't care which version is used, I would just be very happy if<br>
*something* is included which makes my MIDI device work with Wine.<br></blockquote><div><br></div><div>There is no reason your patch will not get in. Generally, it's just patches need</div><div>to have the quality required to be committed. Sometime it can takes several</div>
<div>iterations.</div><div><br></div><div>�</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
How does this generally work here, will there be feedback from a<br>
maintainer on whether the patch will be included, or is it usually just<br>
silently included?�</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Alexandre Julliard (or whoever decides this): Could you comment please?<br>
<br>
<br></blockquote><div><br></div><div>For a patch which is ok, it will be committed silently by Alexandre. You may already</div><div>know the patches status page at�<a href="http://source.winehq.org/patches">http://source.winehq.org/patches</a>.</div>
<div>Usually maintainers or skilled people of a specific area look at patches and</div><div>give some feedback if something seems wrong or not clear.</div><div><br></div><div>�</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

And Christian, please, configure your mail client. The list mails I get<br>
from you are directed to me, not the list, and they are missing the<br>
List-Id field.<br>
<br><br></blockquote><div>When I use gmail web client, I don't have good results sometimes. Maybe there is a configuration for that.</div><div>I'm full open to any hint.</div><div>Regarding emails addresses, I write to someone with wine-devel in cc but I'm ok to use</div>
<div>only wine-devel with you.</div><div><br></div></div>