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 > _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list