See midiDesigner.com/streambyter for more notes.
Delays
In StreamByter inside MIDI Designer Pro 2, delays have only worked in some contexts (not over Wi-Fi and Bluetooth, not for incoming MIDI). Delays are now fixed to work correctly for all connection types and both for SB input rules and output rules.
StreamByter System Updates
All updates relevant to the StreamByter v1.3, 1.4 and 1.5 are incorporated:
- specify literal decimals using $, e.g. if M3 == $127
- long form keywords with no more forcing to upper case (e.g. assign, send, while, math, include, subroutine)
- use (Yamaha convention, C-2 to G8) note literals, prefixed by '^' character (eg: ^C-2, ^Bb6, ^G#3, ^Ab3, ^C3) in rules
- use ‘alias’ keyword to give your variables and literals custom names (eg. alias I0 myCounter, assign myCounter = 0)
- use ‘block’ keyword to block an event (same as XX = XX +B)
- use ‘exit’ keyword to terminate the processing immediately
- now supports ‘ELSE’ with IF
- use ‘while CONDITION’ as synonym for ‘if CONDITION +loop’
- define code macros with ‘define’ (e.g.. define control_changed m0 == F0 7D 01, if control_changed ...)
- create multi rule subroutines with parameters (‘subroutine’ rule) callable from anywhere (including nested calls)
- new 'W (wide) array of 16x128 of unsigned 16 bit integers
- new 'P' (precision) array of 256 *signed* 32 bit integers for higher precision maths
- send any arbitrary message (eg. OSC) over UDP using send +udp
- note ons with velocity of zero (NVR-nil velocity rewrite) are rewritten to note offs by default (no more 9X XX 00 = 8X)
- use spaces in your block labels and control names
Most notably from 1.4:
...we have responded to the criticism that the StreamByter language is ‘assembler’ like. You can now use long form keywords instead of the original 3 character short forms. Coupled with a relaxation on case convention, this makes code look much more readable and easier to craft and understand. The language has been enhanced allowing the use of custom names for variables, simple macros, fully blown parameterised subroutines and code includes. Despite the new improvements, everything is backwards compatible, so existing code written in short form will work just fine.
Links
- StreamByter V1.3 Update (Audeonic Soapbox Announcement)
- StreamByter V1.4 Update (Audeonic Soapbox Announcement)
- StreamByter V1.5 Update (Audeonic Soapbox Announcement)