MIDI Designer Superpowers

MIDI Designer has a number of capabilities that turbo-charge your MIDI control experience (aka – SuperPowers).  Yes, you can make a control that sends a fixed Control Change or Note on a specific channel, but MIDI Designer goes far beyond these basic controls.

Supercontrols

Supercontrols define relationships between multiple controls, implementing complex relationships with no programming.

Relationships – Other

Go beyond super / sub relationships with show / hide, enable / disable, reset to default, A/B control, Auto-twerk, and other possibilities.

Global Presets

Global Presets (20) save the settings of ALL controls in the layout for future recall.  Take a snapshot of your complete configuration and recall later.  They can be shared with another user of the same layout.

Group Presets

Group Presets save settings for a subset of controls, with dynamic naming & recall.  The number of presets in a single group preset is practically limited only by memory.

A preset group could contain all layout controls – if more than 20 global presets are required.  The preset group typically targets a subset of controls, for example storing compressor or tone wheel drawbar settings.  You can implement a complete setlist manager for your entire rig.

Named Ticks

Named Ticks enable arbitrary definition of control MIDI values.  Other control surfaces may require creating an equation to define non-sequential MIDI values.  MD lets you type in values directly or load from a spreadsheet.

  • Down-sample a control with 1024 (or more) values to a manageable quantity
  • Create arbitrary control relationships

Named Ticks also provide text labels for MIDI control values, such as identifying hardware built-in tones by name, and providing dynamic text to labels.

Superhero League – combine Named Ticks (names and bank/program change MIDI values) and Supercontrols (group the bank and program change messages) to directly access up to thousands of built-in tones in hardware synth, by category, model, name, etc.

Superhero Sidekick – a spreadsheet lets you use simple spreadsheet formulas to specify then inport the Named Ticks.

Named Ticks provides the naming for Group Presets.

Pedalboards

Pedalboards provide dynamic control switching based on displayed pages.  The name comes from the first use – enabling a hardware pedalboard to change what it controls based on the page displayed.  But the dynamic switching can be applied to any control chain.  Your layout can know what pages the user is viewing, and change behaviour accordingly.

Channel Changers

Channel ChangersI enable dynamic MIDI channel assignment for controls.  Avoid editing all your controls for a different MIDI channel – add a Channel Changer to set channel on the fly.

Superhero League – add a Channel Changer to a SysEx control, and you have an extra variable.  This lets one SysEx control address different oscillator settings, parts, voices, etc, in a synth.  In this case, the Channel Changer is not limited 0-15 but goes up to 7F, max MIDI byte value.

Snap to Value

Snap to Value lets a subcontrol move to a new position over a defined time.

Superhero League – combine Snap to Value, Named Ticks, and Simplified Sysex, and you can build a “scanner” to query a number of control settings from a synth that reports in SysEx – matching all your MD controls to the synth settings.  This avoids some knarly  StreamByter coding to pull multiple values out from a long SysEx dump.

Hack – combine Snap to Value with Button Off Set to Default and you can make a continuously cycling control, such as an LFO.

Simplified SysEx Messages with optional variables

Type in your SysEx bytes, select checksum (if required), and MD handles your SysEx messages.  An optional variable value can be up to four bytes long.  An additional single-byte value (L) is available for added flexibility.

Superhero League – combine Simplified Sysex with Named Ticks, and you can handle many knarly SysEx control situations with no coding, such as:

  • Send & receive hex-coded decimal tempo messages
  • Implement complex multi-byle SysEx controls formats with no coding – many Roland formats come to mind

SysEx Strings

Read and display device program, patch, preset names.  Edit names with a keyboard instead of scrolling through alfa characters.

Control Enable / Disable

Control Enable / Disable dynamically reconfigures control response.  Where PedalBoards can switch control paths based on page display, Enable / Disable can switch based on control selection.

Superhero League – combine Enable / Disable with Supercontrol  (subs send current value) to preselect a number of target control values, then implement simultaneously with one button

Show-Hide (Pop-up) Panels

Show-Hide enables dynamic reconfiguration of the display, such as:

  • Show different controls based on effect selected (compressor, limiter, bit-crusher, etc.)
  • Change display to show synth engine sound path (ring, sync, cross mod, etc.)
  • Dynamically show a message (error message, setup prompt, etc.)

Superhero League – combine Show-Hide with Named Ticks for dynamic sound path display.  The individual Named Ticks controls determine when each of the sound path elements is displayed or hidden.

Two Page Layout

Two-Page layout is admittedly loved and hated.  But Two-Page provides display flexibility and modularity:

  • Display the mixer on the left, swap out effects on the right as needed for control
  • Implement larger “virtual” displays, moving left and right pages to move around the virtual surface.

Superhero League – use Pedalboards (which know which pages being viewed) to implement a smart page change to simultaneously move around sub-pages of a large virtual layout.

Kryptonite – turn on One Big Page and Switch Banks Together to get close to a “single page” display.

Control Loopers & Ableton Link

Control Loopers record control actions that can then be captured, looped, and even relooped.  Capture several overlapping loops, then enable mutlitples for some interesting mash-ups.  So your beatbox doesn’t have motion capture, or not enough lanes, or maybe not the parameters you want?  Do the motion looping with MD.

Ableton Link provides start/stop, tempo, and beat sync with Link enabled devices, including timing for the Control Loopers.

Hack – use the Ableton Beat knob to drive continuous motion in a MD layout, such as LFO.

Bit changers

Early MIDI boards were memory-poor, and often would assign a function to a single MIDI bit (versus more current byte).  For those older boards, this provides easy individual bit control in Cc and SysEx messages.


These superpowers create a robust visual MIDI control environment that does not require any programming (well, maybe a minor spreadsheet formula for Named Ticks).  But, occasionally, we need even more power.  In this case, the remaining super power is ….

StreamByter

StreamByter, provided by our friend Nic, is an assembly language for MIDI messages.  Occasionally there is a control problem that the MD visual environment and Superpowers cannot easily address.  StreamByter provides additional capability to address those most complex MIDI implementations, and even extend MD capabilities, such as:

  • Additional SysEx variables (beyond L and V)
  • More complicated controls relationships, such as a master proportional fader, relative picker jump, etc.
  • Complex control relationships combining target hardware input, output, and MD control positions
  • Reuse a layout or page on a different hardware synth without reprogramming each control – translate the header or memory address inbound / outbound with SB.
  • Parse a SysEx dump into individual messages to match MD layout controls to hardware settings (alternate to the settings scanner approach)
  • Handle unique SysEx checksum not implemented in MD.