<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">That sounds about right, yeah. That matches other issues people have brought up that highlight sending MIDI is affected by the block size.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On May 4, 2019, at 2:31 AM, Christof Ressi <<a href="mailto:christof.ressi@gmx.at" class="">christof.ressi@gmx.at</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">from what I understand portmidi uses a lockfree ringbuffer so sending a lot of MIDI messages shouldn't block Pd.<br class=""></blockquote><br class="">I was wrong, the lockfree ringbuffer is only used for *receiving* MIDI messages. looking at pmwinmm.c, sending MIDI messages certainly involves blocking operations. I think the midi_outqueue should be read by a seperate worker thread.<br class=""><br class="">Christof<br class=""><br class=""><blockquote type="cite" class="">Gesendet: Samstag, 04. Mai 2019 um 00:23 Uhr<br class="">Von: "Christof Ressi" <<a href="mailto:christof.ressi@gmx.at" class="">christof.ressi@gmx.at</a>><br class="">An: "Dan Wilcox" <<a href="mailto:danomatika@gmail.com" class="">danomatika@gmail.com</a>><br class="">Cc: Pd-List <<a href="mailto:pd-list@lists.iem.at" class="">pd-list@lists.iem.at</a>><br class="">Betreff: Re: [PD] pd-lork and midi on osX<br class=""><br class="">thanks! FWIW, I also get the blocking behavior on Pd 0.46 - 0.49 (Windows) and also on Pd extended, so at least on Windows this has always been a problem. Cyrill only said that it worked on Pd extended but he didn't say anything about older Pd vanilla releases. You've done some macOS specific changes in portmidi/portmidi/pm_mac/pmmacosxcm.c but afaict it's only about *receiving* MIDI messages. So actually I don't think that you've introduced a regression here.<br class=""><br class="">note that when I turn on Cyrill's test patch, audio output is completely blocked and the GUI lags. from what I understand portmidi uses a lockfree ringbuffer so sending a lot of MIDI messages shouldn't block Pd. the patch itself doesn't show a significant CPU increase, it's just blocking unnecessarily.<br class=""><br class="">since it seems to affect both Windows and macOS but not Linux (as Cyrill has noted, I didn't check), we should probably look at the portmidi part.<br class=""><br class="">Christof<br class=""><br class="">Gesendet: Freitag, 03. Mai 2019 um 23:31 Uhr<br class="">Von: "Dan Wilcox" <<a href="mailto:danomatika@gmail.com" class="">danomatika@gmail.com</a>><br class="">An: "Christof Ressi" <<a href="mailto:christof.ressi@gmx.at" class="">christof.ressi@gmx.at</a>><br class="">Cc: Pd-List <<a href="mailto:pd-list@lists.iem.at" class="">pd-list@lists.iem.at</a>><br class="">Betreff: Re: [PD] pd-lork and midi on osX<br class=""><br class=""><a href="https://github.com/pure-data/pure-data/pull/214" class="">https://github.com/pure-data/pure-data/pull/214</a><br class=""> <br class=""><br class="">On May 3, 2019, at 11:29 PM, Christof Ressi <christof.ressi@gmx.at[mailto:christof.ressi@gmx.at]> wrote: <br class=""><br class="">hey, can you point me to your changes?<br class="">  <br class=""><br class="">--------<br class="">Dan Wilcox<br class="">@danomatika[http://twitter.com/danomatika]<br class="">danomatika.com[http://danomatika.com]<br class="">robotcowboy.com[http://robotcowboy.com]<br class=""> <br class=""><br class=""><br class=""><br class="">_______________________________________________<br class="">Pd-list@lists.iem.at mailing list<br class="">UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list<br class=""><br class=""></blockquote></div></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">--------</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Dan Wilcox</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://twitter.com/danomatika" class="">@danomatika</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://danomatika.com" class="">danomatika.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://robotcowboy.com" class="">robotcowboy.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>