This document is about the StreamByter Plugin by Audeonic. Here are three links to get started:
In conjunction with Audeonic — makers of MidiFire and Midi Bridge — the plugin is available as an in-app purchase for MIDI Designer Pro 2.96 and above (February 2018).
NOTE: StreamByter is a plugin in MIDI Designer Pro 2 (scroll down in the Connections pane of Config) and also part of MidiFire by Audeonic.

2021-07 Note
The StreamByter plug-in now supports almost all functionality including delays and on-load. See New Features June 2021.
Also We found a user, Gerd Westendorp, is maintaining an awesome StreamByter help page focused on the MDP2 implementation. Check it out here.
Overview
MIDI Designer Pro 2 version 2.96 is a huge step forward for our most advanced users. We're introducing the StreamByter Plugin by Audeonic. The Plugin provides MIDI manipulation in two places: before MIDI Designer processes the MIDI, and before the MIDI produced by MIDI Designer gets sent to a Wi-Fi, Bluetooth, Virtual or Hardware target via CoreMIDI.
StreamByter was initially released in May '13 as a way to extend MidiBridge 1.5 'out in the field' for customers and has been continuously improved since then. The StreamByter in Midi Designer is the "StreamByter II" version that exists in Audeonic’s MidiFire app (iOS/macOS).
What does StreamByter do? It allows you to make custom MIDI processing modules that you design yourself using a concise programming language made up of rules. There are simple rules for matching and transforming MIDI events and more complex rules for writing modules that behave conditionally, set/examine variables, perform math/timing operations, and of course, generate MIDI messages.
Here is a very simple case: you are playing a keyboard and you decide that you want to turn a single knob ("reverb," for instance). The higher (to the right) you go on the keyboard, the louder the reverb gets.
That's a single line match/transform StreamByter Input rule:
9X = BX 5B X2
The above rule can be summarized as follows: For every note event seen, set the value of the ‘reverb’ controller number (on same channel as note) to the MIDI note number of the note.
Rules can be joined. Imagine you want to toggle the value of another knob from top to bottom every time you hit an A3 on the keyboard, but you don't want the message to go out for 10 seconds? That's another rule. Generally rules do one or more of these things, and often combine them: