MIDI DESIGNER
The only MIDI controller for iPad, iPhone, and Mac


Talk to other MIDI Designer users about MIDI Designer, iOS MIDI and related topics. Or share layouts, pages, and ideas.

Check out our Facebook Group.

Of course, if you want to send us an email, feel free.

Open problem reports

Summary of user requests
Tips & Tricks - Synchronizing a MDP2 layout to current hardware settings - MIDI Designer Q&A
+4 votes
in Advanced by jkhiser (22.5k points)
This is amazing and will hopefully help a lot of users... might take some time, but it's great to have. Thanks!
added a link here https://mididesigner.com/qa/6429 for fun. Right click and open in new window/tab ;)
Great post! Cheers. Thedood ;)
Great work as always, JK
So many discussions could come about responding to your outlines.

I have had someone who was working with my CyberTwin layout and had started the process of using program dumps to inform MDP controls using Streambyter for parameter RT sync info. Which is here: https://audeonic.boards.net/thread/880/sysex-cc-midi-designer-pro?page=2

What Tugatq eventually discovered is the CyberTwin uses bitwise operators in the SysEx Prog Dump for parameter values. I can't say I understand bitwise operators, yet Tugatq's work would certainly help in my case. The CyberTwin prog dumps are not overly large compared to synth and multiFX prog dumps. Unfortunately, Tugatq abandoned his project; CyberTwin is a notoriously disliked piece of hardware.

I suppose the good thing about getting a SysEx response from a CC query is discovering the parameter ID in the event said Midi Implementation Details don't have them.

As for using a spreadsheet to broker the Sysex; does that mean we need a computer running at the same time?

I do feel that programming MDP presets to reflect the target hardware presets is likely a robust solution with much less midi traffic. For example, with the CyberTwins, real-time display updates cannot be disabled afaiaa, so using memory in MDP seems like a good workaround. The CyberTwins are very easily accessible via SysEx, so that isn't the issue. The display going wild with mirroring every received MIDI command is likely a recipe for disaster...maybe that is where the bitwise operators come into play? I suppose the CT is sending the Prog only once per request, so it shouldn't affect the hardware display. Until I get it working, I won't know.

And MDP has how many memory slots for presets? 20? And I don't think we can name/ label those MDP presets, can we? That said, a great many of us only use a few core sounds, so the MDP2 preset slots makes sense for a great many users.

I suppose that leads to using a highly capable midi footcontroller to send values to both MDP and the hardware; yet another possible scenario.
So, JK, you use a "Load" button in MDP, is that to tell users to wait for the communications to respond, rather than a hide in play mode subcontrol? I suppose pointing all the parameters at a hidden load button just adds a extra layer of MDP work and potential misfires?
Re: computer - only usable at design time, helps me build controls and then assemble the scan controls to match hardware - with some Roland layouts there are potentially thousands of message formats.

Re: presets, there are 20 Global presets, which can be named, you have unlimited user presets, which are more flexible, as they can be saved, named, and recalled flexibly in play mode.

Re: load button - I have used multiple approaches.  Most loads take less than 1 sec, and the movement of MD controls to current settings is the feedback.  For some longer loads, I include a progress bar, and I have started changing color of the load button when a load is needed.  I don't see any misfires with the load approach.

Re: capable foot controller - I don't see why this would be needed.  MD provides complete control, and can enable a standard foot controller to activate your devices as needed.
Presets: I didn't know about the Presets for Groups;I will have to look into it, thanks for correcting me...nor did I know global presets can be custom named.

midiFC: well, I'm a guitar player and know that the guitar players who are willing to leverage midi will often have a modern midiFC like RJM or Morningstar...and those same folks might have no confidence in using an ipad/ iphone while playing
but I do grasp your point, MDP can greatly expand flexibility of a single button press
so, I was verifying tick values for the FX controls on CyberTwin, went away from that a realized the only way to know what the ROM programs' actual values for the "analog" knobs are is to interrogate the sysex of a program dump. Thank goodness for Tugatq's work...even loading those values into the hardware, there is no visual display on the hardware beyond an amp knob position with 10 numbers etched on it...which is clearly rather inaccurate
wow, Tug did give me his work a couple years ago, but I hadn't tried his layout until just now...and it does work! which is awesome; I just need to get cracking on figuring out what he did...I'm sure it was before the MDP S variable for SysEx
S made handling strings possible, like storing and displaying complete patch names.  MD has long had capability to match device settings (when the device could transmit the data), and you could show patch names or other text data digit by digit, even edit digit by digit.
...