hi mathieu, thank you very much for your answer.
On Tue, 24 Jul 2007, peter boehm wrote:
midout was sending nothing. in the archives i found some help and i have patched s.midi.c and x.midi.c with iohannes patches (https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1356455... ), which works fine and i can send sysex data out.
I applied this patch in branch desiredata.
patching s_midi_alsa.c with the midiout_alsa.patch results in sending a 00 for each byte in the sysex message.
You mean that prior to applying that patch it was sending a 0 in the case of PPC only (well, big endian in general), but also that it had a memory leak which was quite cross-platform...
I applied that patch in branch desiredata.
i was making a mistake and applied the patch in reverse. so i was thinking that with the patch it is not working and without not.
testing midiin i can just receive sysex messages shorter than 20 bytes (240, x1, x2, x3,...x17, x18, 247). is this intentional?
Yes. I extended that limit to 256 in branch desiredata.
meanwhile i studied the desiderata s_midi_alsa.c and applied the #define MAX_EVENT_SIZE 256 variable. my fault was that i did not change the
{ count = snd_midi_event_decode(midiev,buf,sizeof(buf),midievent); alsa_source = midievent->dest.port; for(i=0;i<count;i++) sys_midibytein(alsa_source, (buf[i] & 0xff)); //post("received %d midi bytes\n",count); }
but now it is fine.
i will try to test desiredata (i am very interested) and keep you informed
However, I don't have any alsa midi device that i can easily test on, so I would appreciate if someone would help me set up a fake midi driver for testing purposes, if that exists. (I run Linux too)
maybe my strength of coding is not sufficient for this task, but i would like to learn more and help.
all the best peter
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada