Any MIDI setups known to properly receive SYSEX into Lemur?

Discuss problems and solutions.
Macciza
Regular
Posts: 1315
Joined: 07 Dec 2011 04:57
Location: Sydney, Australia.

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by Macciza »

Hi
Had a quick look - heres some comments . .

Your buttons scripts are set to 'any' for there execution this means it responds to down and up messages
So your script is being called twice in quick succession, sometimes only a few ms apart
Not sure how your device will respond to this but if it send 2 lots of responses it could cause problems . . .

There also seem to be a number of Monitor.value assigns that supersede each other - was that just for debugging and not all commented out?

Try changing the execution setting and see how it goes . .

MM

PS Initial message did not send due to net dropout but posting anyway even though you seem to have found it . . .
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
bint
Newbie
Posts: 17
Joined: 26 Dec 2012 02:11
Location: Sydney, Australia
Contact:

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by bint »

Thanks for giving my script the once-over.

I made the fix and as a result, the Evolver is now consistently returns the same size Sysex packets - confirmed with MIDI monitor.

Strangely however Lemur is now always truncating the packets to exactly 31 bytes (they should be around 220 bytes). It is also frequently crashing.

You are correct that the superseded assigns were for debugging - I was lazy and didn't comment them out.

As I side-note, I find I'm having to futz around to get the iPad connected over an Ad-hoc network. I can't find a reliable repeatable way to make this happen. Sometimes it will drop out and I will have to spend around an hour trying static IPs, rebooting devices etc.
bint
Newbie
Posts: 17
Joined: 26 Dec 2012 02:11
Location: Sydney, Australia
Contact:

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by bint »

ok, here's an interesting data-point.

There are two types of dump i'm requesting:

the first just asks for the main parameters - Evolver correctly returns a 38 byte packet, and after throwing away the first byte (as expected), Lemur gives me 37 bytes - so I am getting everything I'm supposed to.

the second asks for all the patch parameters - Evolver correctly returns a 228 byte packet, and after throwing away the first byte (as expected), Lemur gives me 31 bytes - so it's truncating the rest of the data.

so the issue is only occurring for large arrays. I might try finding a program that lets me create arbitrary sysex packets and throw them at Lemur, and see exactly when it falls over.
bint
Newbie
Posts: 17
Joined: 26 Dec 2012 02:11
Location: Sydney, Australia
Contact:

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by bint »

UPDATE:

I used SendSX to try and find a pattern in the packets that are getting truncated. I varied the length of the packet sent to Lemur
but could not get consistent behaviour. Generally, if the packet is less than 32 Bytes, Lemur gets it fine. Once it exceeds this size
it is more often than not truncated. Really scratching my head as yesterday it was working reasonably ok and now it's totally broken
for larger packets.

To reiterate, I am using the Daemon, to get packets from a hardware synth (evolver) into my MIDI interface then streamed wirelessly
to my iPad.

Trying to think what else I can change/try..
nick_liine
Liine Staff
Posts: 285
Joined: 01 Oct 2010 11:06

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by nick_liine »

Receiving large SysEx messages over Wi-Fi with Lemur Daemon seems 100% accurate over here.

However, It does indeed look like receiving large SysEx messages through certain hardware is a bit unreliable. Investigating.
nick_liine
Liine Staff
Posts: 285
Joined: 01 Oct 2010 11:06

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by nick_liine »

bint wrote:I used SendSX to try and find a pattern in the packets that are getting truncated. I varied the length of the packet sent to Lemur
but could not get consistent behaviour. Generally, if the packet is less than 32 Bytes, Lemur gets it fine. Once it exceeds this size
it is more often than not truncated. Really scratching my head as yesterday it was working reasonably ok and now it's totally broken
for larger packets.

To reiterate, I am using the Daemon, to get packets from a hardware synth (evolver) into my MIDI interface then streamed wirelessly
to my iPad.
Can you confirm that SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated?

If not, please let me know exactly in which cases messages were truncated.

I can confirm that long sysex messages sent FROM the computer TO the Lemur with iConnect MIDI are getting truncated.

Thanks,
Nicolas
bint
Newbie
Posts: 17
Joined: 26 Dec 2012 02:11
Location: Sydney, Australia
Contact:

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by bint »

EDITED as I remembered a detail about what happened.
nick_liine wrote: Can you confirm that SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated?

If not, please let me know exactly in which cases messages were truncated.

I can confirm that long sysex messages sent FROM the computer TO the Lemur with iConnect MIDI are getting truncated.

Thanks,
Nicolas
Yes I can confirm that long SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated.
Initially I was able to receive long SySex messages (>200 Bytes)! But was getting an incorrect number sometimes.
I found this was because I had a bug in my script that was causing the SysEx request to get sent twice for each button push.
When I fixed this bug, I started getting consistently truncated messages, say 32 Bytes, instead of 220 Bytes.

Let me know if you would like me to try anything or if you need any more info about my setup (ipad 3 and mbp)

thanks,
David

PS I can ALSO confirm that long sysex messages sent FROM the computer TO the Lemur with iRig MIDI are getting truncated.
bint
Newbie
Posts: 17
Joined: 26 Dec 2012 02:11
Location: Sydney, Australia
Contact:

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by bint »

I've attached a template I made that is the simplest I could think of that would reproduce the problem (for me).

Change the hex in RequestDump() to adapt if for a different hardware synth.

I thought maybe it was a timing issue, eg maybe Lemur was unhappy making the request then immediately receiving the
dump, so I tried just sending SysEx through my MIDI interface without a request. The packets were still truncated.

Also, I tried re-introducing the bug that i fixed just before the truncation problem began. The packets were still truncated
so I can't see a reliable link between these two things.

thanks,
David
Attachments
Basic SysEx Test.jzml
(2.63 KiB) Downloaded 89 times
bint
Newbie
Posts: 17
Joined: 26 Dec 2012 02:11
Location: Sydney, Australia
Contact:

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by bint »

Quick update:

It looks like there is an issue with the Lemur Daemon's handling of large SysEx messages from hardware MIDI ports - but I have a work-around! Not ideal but a good stop-gap while it gets sorted out :)

Use the SysExLbrarian at the link below to capture the SysEx packet coming off the hardware MIDI input, and then Play it back to one of the Daemon Outputs which is routed into your iPad. A little clunky but it has been solid so far. Holler if this is unclear. If I get time I'll write MaxMSP patch that does this automatically and share it on here:

http://www.snoize.com/SysExLibrarian/
dsorlien
Newbie
Posts: 39
Joined: 16 Jan 2012 04:28

Re: Any MIDI setups known to properly receive SYSEX into Lem

Post by dsorlien »

nick_liine wrote:
bint wrote:I used SendSX to try and find a pattern in the packets that are getting truncated. I varied the length of the packet sent to Lemur
but could not get consistent behaviour. Generally, if the packet is less than 32 Bytes, Lemur gets it fine. Once it exceeds this size
it is more often than not truncated. Really scratching my head as yesterday it was working reasonably ok and now it's totally broken
for larger packets.

To reiterate, I am using the Daemon, to get packets from a hardware synth (evolver) into my MIDI interface then streamed wirelessly
to my iPad.
Can you confirm that SysEx messages sent TO the Lemur over Wi-Fi with Lemur Daemon are getting truncated?

If not, please let me know exactly in which cases messages were truncated.

I can confirm that long sysex messages sent FROM the computer TO the Lemur with iConnect MIDI are getting truncated.

Thanks,
Nicolas
Nicolas,

Any update? Does Liine plan to fix this? It is a serious problem for many people that try to use my template which makes heavy use of SYSEX. Some of these users are unable to use the template (because of Lemur's serious SYSEX bug) and I have suggested they request a refund for the Lemur IOS app.

Thanks in advance for your consideration.
Post Reply