MobileSheets Forums

Full Version: MIDI on song load unreliable
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I send MIDI commands to my Kurzweil PC4 on song load, but it's not completely reliable.  The pattern is that it works for a while, but eventually it stops working and the only way to get it working that I've found is to restart the tablet.

The tablet is a Samsung Galaxy Tab S8 with Android version 12.  MobileSheets is v3.5.8.

It's configured to use "Google" as the MIDI library.  Behavior is similar with the "High-Performance" library.

The tablet's connected directly to the PC4 with a USB cable.  I've tried a second cable.

Previously I used an older tablet (an S3) for the same purpose, and it's worked OK for that

I also had some trouble with my previous tablet (an S3), that eventually went away with my understanding the problem.  (And Michael Zuber tried to help me debug that (much appreciated!) but we didn't reach any conclusion.) That's worked OK for the last year or so.

Any suggestions on workarounds or where to look for the problem are welcomed.
I have been using send on load (and load on receive) for years without issues.

I have allways used the default midi library though.
Maybe you can try switching to that library (default one) and see what that gives...
What kinds of messages are you sending, and how long does it generally take before it stops working? I need to know how about how many songs I need to load and what kind of messages to send to know whether or not there is a problem that I can reproduce.

Each song load is typically two sysex messages, 9-10 bytes each.

Most recently it happened last night, probably after about an hour of playing and 5-6 song changes?

I'll see if I can get a better idea how to reproduce over the next week.
I'm assuming you have MIDI echo turned off under the MIDI settings (Settings->MIDI Settings), but if you have changed any of the other settings, let me know.

(06-28-2022, 07:18 AM)Zubersoft Wrote: [ -> ]I'm assuming you have MIDI echo turned off under the MIDI settings (Settings->MIDI Settings), but if you have changed any of the other settings, let me know.

That's correct, MIDI echo has always been off.

Sorry for the silence; for better or worse, I haven't seen the problem again.  I had a 3 hour rehearsal last night and it worked throughout.

If I see it again and figure out a reliable way to reproduce it, I'll follow up.
I eventually noticed that I had some badly-formed sysex where I'd typo'd the final F7 byte.  I don't understand how that could have caused exactly the symptoms I was seeing--but since fixing those bad messages, I haven't seen more problems. It's been completely reliable for multiple rehearsals and gigs.

Apologies for the noise!

The one other issue I've run across is a keyboard idiosyncracy--on some songs I'm using sysex to switch my Kurzweil PC4 to program mode before sending a patch change, which doesn't work reliably.  Fortunately the MobileSheets "pause" command does exactly what I need--adding a half-second pause between the sysex and the patch change solves the problem completely.  (My best guess is that the switch to program mode is implemented internally by sending multiple MIDI messages, and the keyboard needs a little time to finish the process.)
The one thing that might help me here if it made sense would be some way or reusing MIDI commands between songs.  I have a couple sysrq messages I use over and over again, and if I could just duplicate MIDI commands from an existing song it'd save time and prevent typos.

But, now that I look at it,... I think I can get that by using the pinning feature of the android clipboard (which I never noticed before) or by creating a "template" song and creating new songs as a copy of the template rather than creating them from scratch.
Adding a "favorites" or "templates" type option for MIDI commands is on my list of things to do. You are not the only user to want to be able to reuse MIDI messages, so I'm going to allow for that once I have some bandwidth.