> 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" <[email protected]> > An: "Dan Wilcox" <[email protected]> > Cc: Pd-List <[email protected]> > 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" <[email protected]> > An: "Christof Ressi" <[email protected]> > Cc: Pd-List <[email protected]> > 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 > <[email protected][mailto:[email protected]]> 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] > > > > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
