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
How To Do Bank Select - MIDI Designer Q&A
+1 vote
in Basic by
recategorized by MIDI Designer Team (Dan)
Please delete this. Sorry.

♪♫♪

1 Answer

0 votes
Hi and thanks for your question.

Bank select is achieved by changing the message type of a control. In Design Mode, double tap on a control and then go to the MIDI Tab. There you will see "Message Type."  Tap that. You will see "Bank Change" as one of the choices.

Let me know if this doesn't work for you.

Thanks for checking out MIDI Designer and sorry that we don't have a manual (yet)!
by MIDI Designer Team (Dan)
I agree with the first question.
Pro keyboard players, during live performance, many times need something more and some times need to send complex midi data.

Just for your reference, many pro synths / arrangers e.t.c., need Bank Select AND Program Change to select a sound or a Performance memory.
So, with current situation we have to make three separate buttons. Mean for CC00 (Bank Select MSB) - CC32 (Bank Select LSB) - PC (Program Change) using supercontrol function e.t.c. This mean three separate buttons to generate thee midi commands to make - send one "midi" function.

Solution 1.
Add one option on the selections that can we select Patch, meaning CC00-CC32-PC. In this way, we can send a complete midi function, scheduling - using just one button.

Solution 2.
Using SysEx for button, we can enter SysEx data (without F0 and F7).
You can add a function named for example HexFree or SysExFree.
This mean, we can use free Hex data (Fixed) or modified using "v".
So, we can enter and send: B0 00 01 B0 20 02 C0 00 at once using just one button.
B0 00 01: is for CC00 (Bank Select MSB)
B0 20 02: is for CC32 (Bank Select LSB)
C0 00: is for Program Change

In addition, you can enter one option for the length of these data, e.g. 11 bytes or more.
So in this way we can send: B0 00 01 B0 20 02 C0 00 B0 07 7F
B0 07 7F: is for CC07 (Volume)

♪♫♪
Thanks, actually giving bank select AND prog change in one MIDI message is on the todo list. Not sure when that'll happen, but it will happen. As you point out in your comment, this solution works for now: http://mididesigner.com/qa/23/bank-change-then-program-change...
Question: does that sysex solution always work? My understanding is that the sysex solution only works on some MIDI targets.
Thanks, I know this solution with the combination of supercontrol & subcontrol, but in this way we have to design three button for just one complete message like this.

Pro keyboard players does not use few but many combinations of these messages.

As I said before, maybe the solution of "HexFree" - "SysExFree" can be more flexible for expert - advanced midi users.

♪♫♪
That's a good idea, I hadn't thought about that. Do you want to login and make a question in the "suggestion" category for this, or should I? Thanks!
You wrote:
Question: does that sysex solution always work? My understanding is that the sysex solution only works on some MIDI targets.

1.
Most serious midi equipments (mostly hardware) receive SysEx data. This is a MUST.
e.g. Roland - Yamaha - Korg - Kurzweil e.t.c.

2.
I don't know why, but in your software (Midi Designer), we have to put our SysEx data without the first 0xF0 and the last 0xF7. Maybe you add these bytes (F0 & F7) internally. Any way...

Basically advanced users, use SysEx data for more deep or more complex operations. Especially for live performances, depending the region and knowledge of course.

3.
In general, any kind of midi controller that can not be sent SysEx messages properly, is a deterrent.

Just for your reference, if you want to send for example Program Change (B0 01), is NOT possible to syntax inside a SysEx command like this: F0 B0 01 F7, because based on midi protocol values between F0 (Start of System Exclusive) and F7 (End of System Exclusive) must be within the range of 00 ~ 7F (0 ~ 127).

♪♫♪
You wrote:
That's a good idea, I hadn't thought about that. Do you want to login and make a question in the "suggestion" category for this, or should I? Thanks!

I think is better for you to implement this future on the next update.
Those who know will appreciate it.

♪♫♪
Yes, we add the F0 and F7. The reason is that the other bytes are max 127, so these need a different treatment entirely (well, that's a bit overstated, but you get my point). Thanks for indicating how important this is. I'll see how soon I can get this in... if you're not on the test team, please send me an email and you can help vet this feature when implemented.
"Yes, we add the F0 and F7."
I know.

"The reason is that the other bytes are max 127, so these need a different treatment entirely (well, that's a bit overstated, but you get my point)."
I understand well your point.
Between us, this is a "smart" way for someone not familiar with the SysEx. So can not put data out of bounds - out of range (00~7F).

"Thanks for indicating how important this is."
You are welcome.

"I'll see how soon I can get this in... if you're not on the test team, please send me an email and you can help vet this feature when implemented."
No, I am not on the test team.

I think you will not like, I'm a little pushy with my colleagues :-)
However, maybe I can suggest you some things in the future, maybe.

Thank you very much.
♪♫♪
...