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

Also check out the Facebook Group.

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

MIDI Designer
Design your perfect MIDI controller for iPad, iPhone and iPod touch.
Can a channelchanger (I or II) knob be used as a variable control and the V byte as a 14bit sysex changer? - MIDI Designer Q&A

Can a channelchanger (I or II) knob be used as a variable control and the V byte as a 14bit sysex changer?

+2 votes
asked Aug 19, 2019 in Advanced by gurbz (2,450 points)
edited Aug 19, 2019 by gurbz
This looks like a question. Is this a question about the current app, a suggestion for modifications to the App, or...?
Current app. When I set up this solution up with channelchanger + presets it works partly, the preset option creates some trouble, it doesn't;t work as a super-->subcontrol construction.
When I set this up with channel changer (without preset option) the 'normal knob' does not send output.
Hi all, I created a layout for download, that’s easier.

Uh: till now left configuration only works for first value. When selecting value 2 normal knob, and turning the channel change knob after that, the normal knob goes back to value one.
Bottomline: a way to change 2 non-variable bytes with a named tick list would be awesome! I manage 1 byte with L, channelchanger, but thats limited to 0-127 dec
So if Channel Changers could be more than one byte, would that be enough?
Well the question is solved this way so the request isn't needed.
However: with this solution, and maybe I'm wrong, I see maybe more double messages.
Could you try the answer layout and report your findings?
Hey man, will do at some point in early September, remind me if not please. Glad you're digging in and getting results!
Solved the double output with a fantastic streambyter output script from Nic @ audeonic
An option to make channel changer 2-bytes would be useful for certain scenarios (where one is using them as a second variable rather than an actual channel changer)

1 Answer

+2 votes

Create a knob with named ticks, a channel changer I and control both with a supercontrol.

MIDI Target Manufacturer(s): Original, Generic

You guys! Getting excited here with this solution, I uploaded it. Please check if I ‘m right.

Set it up:

Normal knob like earlier on described and the channel changer I ( no preset) BUT: ADD an extra supercontrol for both.

Set normal knob in menu options as a sub on ‘send current value’

The extra supercontrol will add the missing L byte as a variable.

When using a named tick list you can enter the non variable sysex values in the list.

Try it and thanks Dan, I followed a few suggestions you made in another thread but I didn’t see those followed up.


Only thing that’s off is the double sysex messages, Nic from Audeonic came with a fantastic streambyter output script to filter out the doubles:

IF M0 == F0 41 00 00 # roland sysex
  IF M7 == 12 60 00 # KATANA

    # detect dupe message within last 100ms
    # If is a dupe, set L83 to 1
    ASS L83 = 0 # assume not a dupe

    # compare message with previous
    # previous data of katana message is in
    # L80-2 (address+value)

    IF MA == L80 L81 L82
      # use a timer variable to limit
      # the compare window
      IF T0 < 1000
        ASS L83 = 1

    # always remember the last message (address+val)

    # into L80-2
    ASS L80 = M0A M0B M0C

    IF L83 == 0
      # we have a new message, so you put your code
      # that processes the message inside this IF/END

    # dupe, message should be blocked
    IF L83 == 1
      XX = XX +B


Thanks so much mididesigner and Audeonic, you guys rock!



Downloads: 101
20,000 knobs in one. - Updates: ‘send on release only’ added for one knob, the Audeonic streambyter script added
Downloads: 101
Image 1
Image 1
Image 2
Image 2
answered Aug 20, 2019 by gurbz (2,450 points)
edited Aug 21, 2019 by MIDI Designer Team (Dan)
Yeah I meant the 6-in-1 fx but we have already advanced.
Getting a raspberry pi to check out the wireless bidirectional midi support.
Btw, I realized yesterday that it is easy to fetch settings from the amp and have that fetched settings reflect in the MDP template.  I am not yet sure if I'll end up making use of that. But it occurred to me that I could use it to get the setups I have in the Boss Tone Library into my MDP template. MDP auto-magically will parse messages from the amp if there is a corresponding control that has the same sysex setup.
I’d like to know more about that, the acquired raspberry will certainly help to receive data from the amp
The short version is this. To get a parameter from the Katana, you send a message that starts with:

41 00 00 00 00 33 11

The 11 is a query request whereas a 12 tells the Katana that the message is a message to set a value.

After the 11, you provide the four bytes that identify the 'block' being queried. For example, to find out the Boost on/off setting, the  'block' is 60 00 00 30

The next four bytes tell the Katana how many bytes (settings) you want to receive back. If you just want the Boost on/off setting you send 00 00 00 01 followed by the usual checksum (that MDP calculates for you.

So, to get the current Boost on/off, you send this sysex:

41 00 00 00 00 33 11 60 00 00 30 00 00 00 01

The Katana will respond back with

41 00 00 00 00 33 12 60 00 00 30 00 or 41 00 00 00 00 33 12 60 00 00 30 01 depending on whether boos is on or off.

If you have a button or slider that is set to send 41 00 00 00 00 33 12 60 00 00 30 V, and MIDI receive is on for it, then when the Katana sends the message the MDP control will set itself to the received value.

The Katana can also send back consecutive settings at once. I think that the four bytes that follow the 11 or 12 are actually memory addresses  in the Katana. So to get back the 8 settings staring with 60 00 00 30, you send

41 00 00 00 00 33 11 60 00 00 30 00 00 00 08

The Katana then sends back a message like

41 00 00 00 00 33 12 60 00 00 30 aa bb cc dd ee ff gg hh where aa bb, etc are values for the settings. That format is much faster than sending individual queries for each individual setting but would require a StreamByter script to translate into something useful in MDP.
I'll put together an example and post it to you soon.