Build 43 is mostly bug fixes for 42 with a few new features
Fixes
- Fix "set bindings..." in MOS scripts
- Fix !focusLock in MOS scripts
- Fix Threshold Recording
- Fix UI display of Alt Feedback
- MIDI Program Change can now be used with #repeat scripts
- Maybe fixed script MidiOut going through the host by default
- Detect script renames and fix bindings to have the new name
New Features
- Better snapshot management with Ordered Snapshots
- #focused directive for MSL scripts
- Functions ActivateBindings, DeactivateBindings, ToggleBindings to control bindings in MSL
- Simplify the Configuration->Options window to make it easier to see things
- Improvements to the binding UI for function arguments
Ordered Snapshots
Ordered Snapshots is a concept that replaces the previous thinking about snapshot order which was strictly chronological. When you create a snapshot, it will be automatically added to the session folder using a generated name consisting of the date and time, and will sort to the bottom of the snapshot list as shown in the Snapshot->Browse window.
Once you have snapshots created, you now control both their names, and the order they appear in the snapshot table and this order will persist as you create new snapshots. To change a snapshot name, right click on it and select Edit. This will change both the name displayed in the UI and the folder name on the file system to make it easier to find it.
To change snapshot order, simply click-hold-drag on rows in the browser table. This order is persisted and will be retained across Mobius runs.
Controlling snapshot order is mostly of interest if you plan to use the LoadSnapshot function in a script where the argument may be an index into the snapshot list.
MSL Focused Scripts
If you are familiar with Mobius 2.x MOS scripts, adding #focused to the top of an MSL script is the same as adding !focusLock to a MOS script.
Scripts by default run "globally" meaning the live above tracks, there is only one copy of them running, and they can send commands to any track using the in statement.
Scripts that use #focused behave more like built-in functions. A copy is made and sent to each track that has focus, meaning the Active Track and any tracks that have Focus Lock enabled. Focused scripts are expected to operate on one track only and do not need to use in to target specific tracks.
Binding Set Activation
A very few of you have made use of multiple binding sets, but if you did there was not a good way to select those from an MSL script. The three new functions for managing binding sets all take a binding set name as an argument.
ActivateBindings("MIDI Fighter Twister")
DeactivateBindings("FCB1010")
ToggleBindings("MIDI Captain")
The decision about which function to use will depend on whether the binging set was created as an Exclusive set or an Overlay set. Only one Exclusive set may be active at a time, but multiple Overlay sets may be active at once.
ActivateBindings is normally used to select an exclusive binding set, since the others will be deactivated automatically.
DeactivateBindings and ToggleBindings are normally used to turn overlays on and off.
Binding Function Arguments
You will notice some slight changes to the function arguments are shown in the binding editor popup. This is in preparation for a much larger feature for parameter overrides in bindings, as well as the ability to pass arguments to scripts using a more guided way to specify arguments than just typing them into one long text box.