[PD] sysex messages

mario buoninfante mario.buoninfante at gmail.com
Wed Mar 14 23:13:18 CET 2018


yap I start thinking the same. also because I had a chat with a 
colleague who's a programmer, who told me that for example on MacOS 
there is a process called something like MIDI Manager which sits in the 
middle and buffers up all the messages, forwarding them to applications 
that are listening to the ports.

so probably this is what is missing (or simply working differently) on 
Linux with ALSA.


cheers,

Mario


On 14/03/18 21:53, Miller Puckette wrote:
> This seems to be a specific problem with sysex-handling using linux/ALSA...
> if you're using 'OSS' MIDI back end it should work fine.
>
> Incidentally, I think the best fix would be to start using portmidi to address
> linux/ALSA.
>
> (An easier one would be to just use OSS but there are features in the ALSA
> driver such as loopback that I think you can't get in OSS emulation, so
> some MIDI users on linux are forced into the ALSA API.
>
> cheers
> Miller
>
> On Wed, Mar 14, 2018 at 10:49:28PM +0100, Simon Iten wrote:
>> hi there,
>>
>> i have sent sysex with puredata for some years now, and i never had any problems, even with large chunks.
>> i have used attached abstraction to send sysex, maybe it helps?
>>
>> midi IS a serial protocol, so it is perfectly valid to send one byte at a time at least over din midi. in fact i am doing that with arduinos all the time.  (usb midi is a different beast)
>>
>> do the “special” midiout noteon and noteoff messages work when a synthmodule or similar is connected?
>>
>>
>>> On 14 Mar 2018, at 21:28, mario buoninfante <mario.buoninfante at gmail.com> wrote:
>>>
>>> Hi Miller,
>>>
>>> yap I'm using ALSA.
>>> btw, I had a look at the source code (I want to clarify I'm not a C programmer :) ) and from what I found in x_midi.c and s_midi.c, it kind of make sense that [midiout] returns 1 byte at time.
>>>
>>> it seems to me we're missing a way to detect outgoing sysex messages (maybe having a dedicated object could help), so there's no way to collect a sysex and send it out in one go (ie having an array to return). I apologize for my trivial description of the "problem", but this is what I think is causing this behaviour.
>>>
>>>
>>>
>>> cheers,
>>>
>>> Mario
>>>
>>>
>>> On 13/03/18 04:37, Miller Puckette wrote:
>>>> Hi Mario -
>>>>
>>>> Perhaps you said this in the previous message which I missed... are you
>>>> using ALSA MIDI system or OSS?
>>>>
>>>> MIDI support has always been a problem in Pd... largely because I don't have
>>>> a lot of experience with it.
>>>>
>>>> cheers
>>>> Miller
>>>>
>>>> On Tue, Mar 13, 2018 at 12:04:00AM +0000, mario buoninfante wrote:
>>>>> Hi,
>>>>>
>>>>>
>>>>> I ran few more tests on Linux trying to understand what's going on with
>>>>> [midiout] and sysex messages.
>>>>>
>>>>> I discovered that it's not just about sysex. I'm monitoring MIDI from Pd
>>>>> with /KMidimon /and /GMIDImonitor/, and I noticed that also sending Note On
>>>>> messages with [midiout] seems to be in some way different then sending the
>>>>> same message using [noteout].
>>>>>
>>>>> when Note On is sent using [midiout], this will spit single bytes that are
>>>>> recognized as single byte sysex messages by the MIDI monitors!!!!!
>>>>>
>>>>> has anyone ever experienced the same?
>>>>>
>>>>>
>>>>> cheers,
>>>>>
>>>>> Mario
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>>>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list>
>>> _______________________________________________
>>> Pd-list at lists.iem.at mailing list
>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>> _______________________________________________
>> 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