[PD] pd-lork and midi on osX

Christof Ressi christof.ressi at gmx.at
Sat May 4 02:31:16 CEST 2019


> from what I understand portmidi uses a lockfree ringbuffer so sending a lot of MIDI messages shouldn't block Pd.

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.

Christof

> Gesendet: Samstag, 04. Mai 2019 um 00:23 Uhr
> Von: "Christof Ressi" <christof.ressi at gmx.at>
> An: "Dan Wilcox" <danomatika at gmail.com>
> Cc: Pd-List <pd-list at lists.iem.at>
> Betreff: Re: [PD] pd-lork and midi on osX
>
> 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.
> 
> 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.
> 
> 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.
> 
> Christof
> 
> Gesendet: Freitag, 03. Mai 2019 um 23:31 Uhr
> Von: "Dan Wilcox" <danomatika at gmail.com>
> An: "Christof Ressi" <christof.ressi at gmx.at>
> Cc: Pd-List <pd-list at lists.iem.at>
> Betreff: Re: [PD] pd-lork and midi on osX
> 
> https://github.com/pure-data/pure-data/pull/214
>  
> 
> On May 3, 2019, at 11:29 PM, Christof Ressi <christof.ressi at gmx.at[mailto:christof.ressi at gmx.at]> wrote: 
> 
> hey, can you point me to your changes?
>   
> 
> --------
> Dan Wilcox
> @danomatika[http://twitter.com/danomatika]
> danomatika.com[http://danomatika.com]
> robotcowboy.com[http://robotcowboy.com]
>  
> 
> 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>





More information about the Pd-list mailing list