I am trying to get a sysex dump into pd, this dump is 226 bytes long. I use alsa for midi. I'm using pd 0.41.4.
I am able to send the sysex data from pd to my device, and the device sends the data back [I can verify the dump with amidi] but once I connect my device's output to pd.. I don't see the data in pd [sysexin] or [midiin]
I've also tried initiating the dump from the device itself (a synthesizer), I get the same results.. amidi -d will show it but I don't see the data on pd's [midiin] or [sysexin] inputs once I connect the device to pd.
So my question is: is anyone aware of a hard coded limit for the length of sysex messages in pd? I'd like to increase this limit if possible..
Thanks, Alex
I made a little test which I've attached.
With alsa I can receive a maximum sysex message of 98 data bytes [100 total including the start and end]. I've tried this with a hardware loopback (plugging my output into my input) and using a virtual device.
With the default midi [portaudio?] I can receive 128 data bytes [130 total].
I've attached my test patch [it requires a counter that I've also attached].
Any idea where these limits are set?
-Alex
On 1/16/09, Alex x37v.alex@gmail.com wrote:
I am trying to get a sysex dump into pd, this dump is 226 bytes long. I use alsa for midi. I'm using pd 0.41.4.
I am able to send the sysex data from pd to my device, and the device sends the data back [I can verify the dump with amidi] but once I connect my device's output to pd.. I don't see the data in pd [sysexin] or [midiin]
I've also tried initiating the dump from the device itself (a synthesizer), I get the same results.. amidi -d will show it but I don't see the data on pd's [midiin] or [sysexin] inputs once I connect the device to pd.
So my question is: is anyone aware of a hard coded limit for the length of sysex messages in pd? I'd like to increase this limit if possible..
Thanks,
Alex
I've been investigating further, I haven't figured out where, in the source, the problem occurs.. the alsa input midi buffer is quite large [much larger than 226 bytes],
When testing with amidi, this is the largest message i can send to pd: F0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 F7 so I'm doing: amidi -p hw:2,0 -S "F0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 F7"
I'm using a virtual device to echo the data to an amidi -d instance as well as to pd.. amidi -d gets all messages i send... larger ones like: F0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 F7 but pd doesn't display any output at all from [midiin] or [sysexin]
-Alex
On Fri, Jan 16, 2009 at 3:08 PM, Alex x37v.alex@gmail.com wrote:
I made a little test which I've attached.
With alsa I can receive a maximum sysex message of 98 data bytes [100 total including the start and end]. I've tried this with a hardware loopback (plugging my output into my input) and using a virtual device.
With the default midi [portaudio?] I can receive 128 data bytes [130 total].
I've attached my test patch [it requires a counter that I've also attached].
Any idea where these limits are set?
-Alex
On 1/16/09, Alex x37v.alex@gmail.com wrote:
I am trying to get a sysex dump into pd, this dump is 226 bytes long. I use alsa for midi. I'm using pd 0.41.4.
I am able to send the sysex data from pd to my device, and the device sends the data back [I can verify the dump with amidi] but once I connect my device's output to pd.. I don't see the data in pd [sysexin] or [midiin]
I've also tried initiating the dump from the device itself (a synthesizer), I get the same results.. amidi -d will show it but I don't see the data on pd's [midiin] or [sysexin] inputs once I connect the device to pd.
So my question is: is anyone aware of a hard coded limit for the length of sysex messages in pd? I'd like to increase this limit if possible..
Thanks,
Alex
really i know close to nothing about midi handling in pd, but i remember reading somewhere that midi latency is connected to the audio latency because midi information is passed along with the audio. so, perhaps that has something to do with the message-length restriction?
Alex wrote:
I've been investigating further, I haven't figured out where, in the source, the problem occurs.. the alsa input midi buffer is quite large [much larger than 226 bytes],
So my question is: is anyone aware of a hard coded limit for the length of sysex messages in pd? I'd like to increase this limit if possible..
I recall this being spoken of, and I think solved, some time ago, but this was all I could see on a quick search:
http://lists.puredata.info/pipermail/pd-list/2007-07/052402.html
the thread I seem to remember was longer
Simon
Ahh, thanks! I just viewed the diff of desire data's s_midi_alsa.c and made the changes I needed for my version.. though, I would eventually like to be able to share this patch that needs this larger sysex input.. so I think I'll try to make a command line option... in the mean time, I've attached the diff [exactly what they do in Desire Data except I changed the name to be a little more descriptive, I think].
-Alex
On Sat, Jan 17, 2009 at 7:41 AM, Simon Wise simonzwise@gmail.com wrote:
Alex wrote:
I've been investigating further, I haven't figured out where, in the source, the problem occurs.. the alsa input midi buffer is quite large [much larger than 226 bytes],
So my question is: is anyone aware of a hard coded limit for the length of sysex messages in pd? I'd like to increase this limit if possible..
I recall this being spoken of, and I think solved, some time ago, but this was all I could see on a quick search:
http://lists.puredata.info/pipermail/pd-list/2007-07/052402.html
the thread I seem to remember was longer
Simon
On Sat, 17 Jan 2009, Alex wrote:
Ahh, thanks! I just viewed the diff of desire data's s_midi_alsa.c and made the changes I needed for my version.. though, I would eventually like to be able to share this patch that needs this larger sysex input.. so I think I'll try to make a command line option... in the mean time, I've attached the diff [exactly what they do in Desire Data except I changed the name to be a little more descriptive, I think].
You should use diff -u for getting a "unified diff" (+/-) format, which is better because you can then apply it on a different file than the original as long as it is similar enough.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
Ahh, good call, here it is [attached].
-Alex
On Sun, Jan 18, 2009 at 10:48 AM, Mathieu Bouchard matju@artengine.ca wrote:
On Sat, 17 Jan 2009, Alex wrote:
Ahh, thanks! I just viewed the diff of desire data's s_midi_alsa.c and made the changes I needed for my version.. though, I would eventually like to be able to share this patch that needs this larger sysex input.. so I think I'll try to make a command line option... in the mean time, I've attached the diff [exactly what they do in Desire Data except I changed the name to be a little more descriptive, I think].
You should use diff -u for getting a "unified diff" (+/-) format, which is better because you can then apply it on a different file than the original as long as it is similar enough.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec