Martin,
Thank you so much for the info. I have confirmed this using kmidimon, and getting ready to send actual messages to my hardware with one hand while I type with the other. Now I am curious, if this was fixed by a recently posted patch, how come it was not mentioned earlier? Maybe I am just not fully aware of how CVS or SVN work. -- David Shimamoto > So I tried > [240, 1, 247( > | > [midiout] > on Pd 0-42-0test1 and the message shows up on the MIDI plug. > It also works to send one byte at a time. > But with Pd0.40.3-extended20080324 it doesn't work, although [noteout] > and [ctlout] work fine. > This is with ALSA-MIDI and Jack. > Martin > > > PSPunch wrote: >> Does anyone have any opinion on the specs suggested by Martin? >> Should [sysexout] behave in this manner, or would it be more suitable >> to make this a new object rather than over write the conventional >> object for compatibility? >> >> I have no idea if I will be skilled to fix this in the near future, >> but I really would love to see some of my MIDI controllers in action. >> >> -- >> David Shimamoto >> >> >>> PSPunch wrote: >>>> Martin, >>>> >>>> >>>>> I'm looking at the source code in svn, assuming you use [midiout] >>>>> to send sysex. >>>>> The midiout object has one method, for floats : midiout_float(), in >>>>> x_midi.c, line 681. >>>>> It just calls outmidi_byte() in s_midi.c, line 239. If Pd was >>>>> compiled with USEAPI_ALSA defined, then outmidi_byte calls >>>>> sys_alsa_putmidibyte() in s_midi_alsa.c line 234, otherwise it >>>>> calls sys_putmidibyte() in s_midi_oss.c line 182. >>>> Do you mean that theoretically, Pd + ALSA MIDI should be working? >>>> hmmm... >>> Well it looks like it should but I just tried with a scope on the >>> cable and got messages using [noteout] but nothing using [midiout] >>> with alsa midi and jack. I tried sending bytes singly and in >>> comma-separated messages as well as just lists. Nothing comes out. >>> >>>> >>>> According to IOhannes, >>>> >>>>> the problem is rather, that ALSA sequencer does not support MIDI in a >>>>> way Pd would like it, mainly: no raw midi. >>> Yes, it looks like the ALSA function being called expects a complete >>> sysex message but instead it's getting one byte at a time. I guess Pd >>> should buffer the message until it gets an F7 (End of Exclusive) and >>> then send the whole thing as one packet. Not too difficult except for >>> anticipating what the the maximum message size is going to be. Maybe >>> a [sysexout] object that takes lists of bytes (and inserts the F0 and >>> F7) is in order... >>> >>>> Also I think one of the recent posts which I cannot locate now, >>>> mentioned that it was just a matter of Pd using a function in ALSA API >>>> other than what is used at the moment. >>>> >>> Well I think it's better to send a complete sysex packet, otherwise >>> it could be trashed by a noteout or similar that occurs before the F7 >>> goes out. Really Pd should buffer the packet and only then send it to >>> ALSA. >>> >>> Martin >>> >> >> >> _______________________________________________ >> [email protected] mailing list >> UNSUBSCRIBE and account-management -> >> http://lists.puredata.info/listinfo/pd-list >> > _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
