NEW: new ops PARAM.SCALE min max and IN.SCALE min max to add static scaling to inputs
NEW: blanking screensaver after 90 minutes of keyboard inactivity, any key to wake
NEW: new op: CHAOS chaotic sequence generator. Control with CHAOS.ALG and CHAOS.R
NEW: new op family: INIT, to clear device state
NEW: new ops: R, R.MIN, R.MAX programmable RNG
IMP: profiling code (optional, dev feature)
IMP: screen now redraws only lines that have changed
FIX: multiply now saturates at limits, previous behaviour returned 0 at overflow
FIX: entered values now saturate at int16 limits
FIX: reduced flash memory consumption by not storing TEMP script
FIX: I now carries across DEL commands
FIX: removed TEMP script allocation in flash
FIX: corrected functionality of JI op for 1volt/octave tuning and removed octave-wrapping behaviour (now returns exactly the entered ratio)
FIX: reduced latency of IN op
v2.1
BREAKING: the I variable is now scoped to the L loop, and does not exist outside of an execution context. Scripts using I as a general-purpose variable will be broken.
FIX: SCENE will not run from INIT script during scene load.
NEW: Tracker data entry overhaul. Type numbers, press enter to commit.
NEW: new op: BPM to get milliseconds per beat in given BPM
NEW: script lines can be disabled / enabled with ctrl-/
NEW: shift-enter in scene write mode now inserts a line
NEW: new ops: LAST x for the last time script x was called
NEW: SCRIPT with no arguments gets the current script number.
FIX: AVG and Q.AVG now round up properly
NEW: new op: BREAK to stop the remainder of the script
NEW: new mod: W [condition]: [statement] will execute statement as long as condition is true (up to an iteration limit).
NEW: new mods: EVERY x:, SKIP x:, OTHER: to alternately execute or not execute a command.
NEW: new op: SYNC x will synchronize all EVERY and SKIP line to the same step.
NEW: new feature: @ - the turtle. Walks around the pattern grid. Many ops, see documentation.
OLD: ctrl-F1 to F8 mute/unmute scripts.
NEW: ctrl-F9 enables/disables METRO.
FIX: recursive delay fix. Now you can 1: DEL 500: SCRIPT 1 for temporal recursion.
FIX: KILL now clears TR output as well as disabling the METRO script.
FIX: if / else conditions no longer transcend their script
IMP: functional exectuion stack for SCRIPT operations
v2.0.1
FIX: update IRQ masking which prevents screen glitches and crashing under heavy load
v2.0
BREAKING: remove II op. Ops that required it will now work with out it. (e.g. II MP.PRESET 1 will become just MP.PRESET 1)
BREAKING: merge the MUTE and UNMUTE ops. Now MUTE x will return the mute status for trigger x (0 is unmuted, 1 is muted), and MUTE x y will set the mute for trigger x (y = 0 to unmute, y = 1 to mute)
BREAKING: rename Ansible Meadowphysics ops to start with ME
NEW: sub commands, use a ; separator to run multiple commands on a single line, e.g. X 1; Y 2
NEW: key bindings rewritten
NEW: aliases: + for ADD, - for SUB, * for MUL, / for DIV, % for MOD, << for LSH, >> for RSH, == for EQ, != for NE, < for LT, > for GT, <= for LTE, >= for GTE, ! for EZ, && for AND, || for OR, PRM for PARAM, TR.P for TR.PULSE
NEW: new ops: LTE (less than or equal), and GTE (greater than or equal)
NEW: new pattern ops: PN.L, PN.WRAP, PN.START, PN.END, PN.I, PN.HERE, PN.NEXT, PN.PREV, PN.INS, PN.RM, PN.PUSH and PN.POP
NEW: USB disk loading and saving works at any time
NEW: M limited to setting the metronome speed to 25ms, added M! to allow setting the metronome at unsupported speeds as low as 2ms
NEW: TELEX Aliases: TO.TR.P for TO.TR.PULSE (plus all sub-commands) and TI.PRM for TI.PARAM (plus all sub-commands)
NEW: TELEX initialization commands: TO.TR.INIT n, TO.CV.INIT n, TO.INIT x, TI.PARAM.INIT n, TI.IN.INIT n, and TI.INIT x
IMP: new Ragel parser backend
IMP: script recursion enhanced, maximum recursion depth is 8, and self recursion is allowed
IMP: removed the need to prefix : and ; with a space, e.g. IF X : TR.PULSE 1 becomes IF X: TR.PULSE
IMP: AND and OR now work as boolean logic, rather than bitwise, XOR is an alias for NE
FIX: divide by zero errors now explicitly return a 0 (e.g. DIV 5 0 now returns 0 instead of -1), previously the behaviour was undefined and would crash the simulator
FIX: numerous crashing bugs with text entry
FIX: i2c bus crashes under high M times with external triggers
FIX: P.I and PN.I no longer set values longer than allowed
FIX: VV works correctly with negative values
v1.4.1
NEW: added Ansible remote commands LV.CV and CY.CV
NEW: Added TELEX Modules Support for the TXi and the TXo
NEW: 75 New Operators Across the Two Modules
NEW: Supports all basic Teletype functions (add TI and TO to the commands you already know)
NEW: Extended functionality allows for additional capabilities for existing functions
NEW: Experimental input operators add capabilities such as input range mapping and quantization