Release Notes
Notes and download links for Cantabile series 4000 builds.
Other Series: 3000 | 3500 | 4000 | 4300
Build 4225 (Experimental)
- Fixed - binding modifiers acting as OR logic instead of AND
- Improved - add a 'None' option to the binding modifiers drop down menu
Build 4224 (Experimental)
- Fixed - incorrect warning message about metronome ports when using Metronome input port
Build 4223 (Experimental)
- Improved - updates to transport timing update calculations
- Fixed - right clicking an item while previous right click menu shown not working correctly
Build 4222 (Experimental)
- Fixed - not logging native error code when VST3 module fails to load
- Fixed - log file not reporting 'Windows 11' as OS version
- Fixed - binding to open backgroun rack not working
- Changed - removed Twitter link from About page
Build 4221 (Experimental)
- Fixed - typo in 'Master Transport'
- Fixed - license activation errors from server not displaying useful message
- Fixed - right click on states or set list and choosing 'Create Binding' not working
- Other - added a diagnostic option to help narrow down potential issue with transport timing updates
Build 4220
- New - variables $(FirstMediaFileDisplayName), $(SelectedMediaFileDisplayName) and $(MasterMediaFileDisplayName)
- Fixed - $(MasterMediaFileXXX) variables not updated when master transport changed
Build 4219 (Experimental)
- New - Two new modes on Note On Deduplicator MIDI Filter 1) hold and 2) retrigger
Build 4218 (Experimental)
- New - Binding Modifiers (eg: chord bindings)
Build 4217 (Experimental)
- New - ability to hide/show main toolbar buttons
- New - ability to set default zoom level of routing diagrams
Build 4216 (Experimental)
- New - ability to set text on key range indicators
- New - option to hide key range text on on-screen keyboard
Build 4215 (Experimental)
- New - the background rack is now available as a bindable source/target object
- Fixed - right click create binding on song/rack input ports send balance knob now works
Build 4214 (Experimental)
- New - ability to enable/disable loopback ports on a port-by-port basis
- Fixed - 'Add Object' button on touch-screens not showning popup
- Fixed - exception when sending a large number of sys-ex events to VST 3 plugin
Build 4213 (Experimental)
- Fixed - crash when using media player as master transport (regression caused by 4212)
Build 4212 (Experimental)
- New - routable metronome sounds (by creating a mono audio input port named 'Metronome')
- Fixed - metronome sounds incorrectly double mixed (making them louder than the should be)
Build 4211 (Experimental)
- New - MIDI Note Map filter can now map notes to multiple target notes (chord generation)
- New - MIDI Note Map filter can now map notes as an interval from the base note
Build 4210 (Experimental)
- Improved - added a button to binding slot to control MIDI routing mode (suppress/continue)
Build 4209 (Experimental)
- New - formatting option to control number of decimal places in displayed tempos
- Improved - MIDI clock sync no longer rounds detected tempo
Build 4208 (Experimental)
- Happy New Year :)
- New - command line option to override audio driver
- Improved - set list grid now more clearly shows the active song
Build 4207 (Experimental)
- Fixed - trigger mode not restored correctly on 'value to command' bindings
Build 4206
- Fixed - transport cross position binding sometimes firing twice
- Improved - additional logging of VST 3 plugins scan
Build 4204 (Experimental)
- Fixed - text fields not scrolling in Options dialog
- Fixed - duplicate state command producing incorrect number sequences
- Fixed - missing 176,400 sample rate for ASIO and WASAPI drivers
Build 4203
- Fixed - image file paths not saved relative in show note
- Fixed - program names with international characters sometimes corrupted at end
- Fixed - MIDI media player sometimes hanging at end of file
- Improved - MIDI Clock Sync now reports 1 decimal place of accuracy on the tempo
Build 4202
- Fixed - MIDI route setting to route by program now accepts wildcards (eg: *.*.1)
- Fixed - plugin editor Undo Program Changes not working with some plugins
- Fixed - removed diagnostic code from previous builds
Build 4201 (Experimental)
- Diagnostic Build - don't use
Build 4200 (Experimental)
- Diagnostic Build - don't use
Build 4199 (Experimental)
- Fixed - binding lockup (regression introduced in 4197)
- Fixed - fractional tempos incorrectly rounded to whole number
- Fixed - changing song tempo not marking song as modified
Build 4198 (Experimental)
- Fixed - tweaks to Midi Time Code (MTC) implementation
- Fixed - web UI now displays correct values when using zero-based program numbers
Build 4197 (Experimental)
- New - support for sending MIDI Time Code (MTC) - see new 'MIDI Sync' options page
- Fixed - numeric to string bindings not working
- Fixed - performance issue with some VST 3 plugins (eg: Vienna Imperial)
Build 4196
- Fixed - plugin parameter bindings not triggering on program load for some plugins
- Fixed - incorrect sample size reported to VST 3 plugins when sample conversion (32 vs 64-bit) required
Build 4195
- Fixed - MIDI filter dialog not updating in some cases
- Fixed - All Notes/Sounds Off event to plugins incorrectly turned off notes on other channels
Build 4194 (Experimental)
- Fixed - enabled setting and channel selector on Sostenuto MIDI filter not working
Build 4193 (Experimental)
- New - Note Off Converter MIDI filter to convert real note off events to zero velocity note on and vice-versa
- Improved - sostenuto MIDI filter now supports non-retriggering mode
- Improved - sostenuto MIDI filter now supports suppressing the sostenuto CC
- Improved - sys-ex encoder now supports 'Any' as source controller
- Improved - sys-ex encoder now supports arbitrary raw MIDI data
- Fixed - rack/song properties not applied/saved
- Fixed - work around for some VST 3 plugins calling back on wrong thread (eg: Waves)
- Fixed - issues with some VST 3 plugin factories
- Fixed - rare crash after binding deleted
- Fixed - rounding errors when mapping integer MIDI values through floating point value mapper
Build 4192 (Experimental)
- Fixed - some VST 3 plugins not scanning (eg: waves)
- Fixed - crash unloading some VST 3 plugins (eg: RRS Comp 609)
Build 4191
- Fixed - revert a change causing a crash when stopping media player
Build 4190 (Experimental)
- Improved - slider click/touch behaviour improved over remote desktop sessions
- Fixed - missing translatable strings
Build 4189 (Experimental)
- Fixed - initial size of some VST 3 plugins incorrect (eg: Martinic Pianet-T)
- Fixed - crash in some plugins (eg: impOSCar3) when stopping media player
Build 4188 (Experimental)
- New - Offline Rendering
Build 4187
- Improved - behaviour of 'long press power off' improved for touch screens
- Improved - all audio busses of VST 3 plugins are now enabled by default (fixes issues with plugins indicating not to activate busses, eg: dexed)
Build 4186 (Experimental)
- New - long press to power off audio engine (right click on power button to enable)
- New - binding expressions can now access the current target binding point value via 'Target' variable (not all bindings support this)
- Fixed - various issue when null value assigned to controller bar tip/caption via a binding
- Improved - 'Z' key to zoom in timeline panel is now locale aware
- Improved - cleaned up debug logging around plugin shutdown
Build 4185 (Experimental)
- Fixed - controller bar momentary buttons firing MIDI events twice
Build 4184 (Experimental)
- New - ticker bar now displays song and state colors
- Improved - most in-slot level meters can now display up to 8 channels
- Improved - new style transparent selection rectangles to not obscure item colors
- Changed - default front/rear balance for new objects is now 'middle' instead of 'front'
- Fixed - media player state unable to set play range to 'All'
- Fixed - output audio port level meter not expanded to show all channels clearly
Build 4183 (Experimental)
- Fixed - text in timeline panel not displayed at some scaling settings
- Fixed - crash when right click on transpose setting and choosing Create Binding
- Updated - various netapi/jsapi documentation updates
Build 4182 (Experimental)
- Fixed - fix for some VST 3 audio channels muted
Build 4181 (Experimental)
- New - Transport and Media Player binding points for LoopCount and LoopIteration
- New - Stream Deck plugin updated to support loop mode control on media players and master transport
- New - expression engine function 'double' for converting strings to numeric value
- Fixed - possible fix for some VST 3 audio channels muted
- Debug - moved VST 3 audio output logging to post sample conversion
Build 4180 (Experimental)
- New - 'Loop Once' looping mode
- New - 'Set Loop Mode' binding point
- New - variables ${LoopCount}, ${LoopIteration}, ${LoopInfo}, ${LoopMode}
- New - controller bar loop mode button
- New - network API now supports master transport loop modes and state
- new - Loop mode button in Web UI
- Fixed - crash scanning Spectral Compressor plugin
- Debug - added verbose audio output logging of VST 3 plugins
Build 4179 (Experimental)
- New - loop ranges and live loop control
Build 4177 (Experimental)
- Fixed - activation of VST 3 audio busses for some plugins not working (eg: MVMeter2)
- Fixed - crash in Replace Plugin if default plugin selector group is 'By Folder'
- Fixed - choosing a media player range loop count 'other' not working
- Improved - cancelling a full plugin scan and starting a quick scan, actually does a quick scan
Build 4176 (Experimental)
- Fixed - Song On Load binding not firing (regression introduced 4174)
- Fixed - metronome template slider to set whole number only tempos
- Fixed - MIDI clock generator more tolerant of timing jitter to prevent spurious song pointer positioning
Build 4175 (Experimental)
- Improved - diagnostic logging of MIDI clock events (verbose logging only)
Build 4174 (Experimental)
- New - Controller Bar binding points
- Improved - song change network event now includes set list program number
- Fixed - song changed event firing twice through network API
Build 4173 (Experimental)
- New - added 'env(name)' function eg: env('COMPUTERNAME') for environment specific behaviour
- New - suppress events MIDI filter can now suppress sys-ex events
- Improved - clearer names for which channels are dry inputs in plugin audio ports page
- Fixed - crashes with some VST 3 plugins related to new audio bus configuration options
- Fixed - crash when previoulsy set primary plugin refers to plugin no longer in song
- Fixed - binding point unavailable exception during app shutdown when a background rack binding that refers to song
Build 4172 (Experimental)
- New - support for VST audio bus configuration
- Improved - optimizations to many undoable operations
- Fixed - exception 'Parameter by Index' binding point references an invalid parameter index
- Fixed - relative encoder mappings to tempo not working
- Fixed - missing translatable strings
- Fixed - automatic upscaling mode with VST 3 plugins for some plugins
Build 4171
- Fixed - exception when a source MIDI suppressed binding invokes an action that disables that binding
- Fixed - title of Edit Binding window incorrect when editing a binding in an embedded rack
- Fixed - network API LoadMode parameter name in binding info corrupted
- Fixed - network API returing parameter min/max range swapped
- Fixed - Show GUI Editor binding point not switching to plugin tab when GUI is docked
- Fixed - not restoring state correctly for plugins built using IPlugin-Youlean (eg: QRange)
- Fixed - removed redundant logging
Build 4170 (Experimental)
- New - 'Parameter By Id' and 'Parameter by Index' binding points
- Fixed - crash when binding from MIDI source to new Onscreen Keyboard Device
Build 4169 (Experimental)
- New - lowest_held_note() and lowest_held_pitch_class functions
- New - parseProgramNumber() and parseMidiNote() functions
- New - Onscreen Keyboard (Device) binding target
- New - Sys-ex binding target now supports delays
- New - helper functions for generating normal midi messages in sys-ex/raw binding target
- Changed - Sye-ex binding target renamed to 'Sys-Ex / Raw Bytes'
- Fixed - changing a route's source port not updating display
- Fixed - incorrect button sizes at some display resolutions
- Fixed - OpenGL rendering issues with NVidia GPU with mixed mode multi-monitor setup
- Technical - removed use of all features deprecated in .NET 6 (moved to HttpClient)
- Technical - update to latest SkiaSharp and HarfBuzz for security fixes
Build 4168
- Fixed - enabling a route via binding not updating routing diagram
- Fixed - enabling a route not firing binding
- Fixed - audio bleed from ch 2 to 3 in multi-channel audio resampler
Build 4167 (Experimental)
- Fixed - incorrectly displaying an error when adding audio ports to a media player
Build 4166 (Experimental)
- Fixed - crash when reverting rack
Build 4165 (Experimental)
- Improved - when re-ordering bindings some bindings retriggered when not necessary
- Improved - changed the way some binding delays are implemented for better accuracy
- Fixed - bindings to Route Enabled binding point causing re-entrancy issues on route manager
- Fixed - rack selected state bindable via Network API throwing exception
Build 4164
- Fixed - some dialogs incorrectly restored to off-screen position
- Fixed - sometimes clicking in a list will scroll the list to incorrect position resulting in click on wrong item
- Fixed - MIDI to MIDI binding firing in incorrect order after re-ordering binding list
- Fixed - flicker on resizing windows
- Improved - removed some excessive logging
Build 4162
- Fixed - crash on startup in some cases caused by regression in 4161
Build 4161
- New - 'any_pitch_class_held' function
- Fixed - loading UI themes from resource folder not working
- Fixed - state lock icons shifted offscreen to right when state name too long
- Fixed - crash when VST 3 plugin doesn't implement GUI editor
- Fixed - duplicate set list entry incorrect saving set list
- Fixed - prompt to revert set list not always shown
- Fixed - enabling auto record from a Song On Load binding not working for first song loaded
- Fixed - crash when unable to save settings file
- Fixed - rack port alias names incorrectly ignored in bindings
- Fixed - hang in wiring view when re-ordering ports
Build 4160 (Experimental)
- Fixed - unable to set set list song or state program number to blank
- Tweaked - renamed media player 'Selected File Normalized' binding point to 'Scaled'
Build 4159 (Experimental)
- Fixed - injecting MIDI to on-screen keyboard via network API not updating controller state correctly
- Fixed - crash when replacing an embedded rack in sub-rack as should be inserted as embedded, not linked
Build 4158 (Experimental)
- Fixed - handling of patch list (eg: ins files) in bindings improved to store separate file setting for each binding
- Fixed - network api onscreenkeyboard/queryController returning data in incorrect format
- Fixed - right clicking some places in bindings panel not showing the full context menu
- Fixed - transport range bindings not upgraded from pre-4100 correctly
- Fixed - made bindings dialog default/minimum size a little larger so note bindings text fits
- Fixed - reset default controller range in CC Map MIDI filter when changing controller type
- Fixed - 'Duplicate' command missing from show notes context menu
- Fixed - crash when inserting or pasting a show note with embedded media player related variables
Build 4157 (Experimental)
- Happy New Year!
- Fixed - error and hang when adding MIDI ports to media player
Build 4156 (Experimental)
- New - is_pitch_class_held function
- Fixed - onscreen keyboard channel picker text cropped
- Fixed - hang when renaming plugin to same name as another
- Fixed - missing translable strings
Build 4155 (Experimental)
- New - functions is_note_held, all_notes_held and any_notes_held for checking on-screen keyboard status
- Improved - Update Available dialog now closes after clicking the Download button
- Fixed - crash related to Entire Bank state behaviour
Build 4154 (Experimental)
- New - strstr, strhas and strmatch expression functions
- Fixed - error (and incorrect message) when binding expression to plugin parameter
Build 4153 (Experimental)
- Fixed - stack overflow crash when sending value to MIDI Sysex binding point
- Fixed - crash in BindingPoint with null value
- Fixed - tweaks to layout for knobs not aligned in media player
- Fixed - confusing behaviour of 'disable OpenGL' option in crash recovery dialog
- Fixed - clamp() function not found in custom control curves
Build 4152 (Experimental)
- New - expression functions for working with gain control and velocity curves (see function reference in guides)
- Improved - better logging of expression errors in the binding window
- Fixed - MIDI targets now work with binding expressions
- Fixed - 'View - Toggle Ticker Bar' command not working
- Fixed - touch screens not working in routing diagrams
- Fixed - (maybe) media player sometimes displayed with incorrect knob layout
Build 4151 (Experimental)
- New - Binding Expression Mapper (choose 'Expression' in binding's mapper drop down - see blog video)
- New - Note-On De-Duplicator MIDI Filter (see blog video)
- New - $(TickCount) variable (millisecond accurate, but only auto-updates one per second)
- Changed - default state information is now automatically added to all states for newly inserted objects, routes and bindings (see blog video)
- Changed - enabling a state behaviour now captures current state information for that behaviour across all states (see blog video)
- Fixed - edge sensitive bindings will now work on the initial edge (not for MIDI sources)
- Fixed - Rack MIDI-in ports are now learnable in Bindings
- Fixed - bug in VST 3 module loading code causing issues with some Steinberg plugins
- Fixed - Various fixes to invalid state data copied between songs when using copy/paste
- Fixed - StreamDeck and WebUI losing active song when song is modified or saved
- Fixed - temporary work around for Waves sample based plugins (eg: Grand Rhapsody) failing to reload
- Fixed - small bug in parsing of numbers in expression engine
- Fixed - rack 'eject' button cropping text and modified dot
- Fixed - misc crashes in routing view
- Fixed - crash if Alt-Tab away while in a popup
- Improved - online and PDF guides updated with new screen shots
- Improved - updated guides with more detail on all the MIDI filter types
Build 4150
- Please see the Cantabile blog for videos covering most of what's new in this build
- New - Balanced Sends
- New - Shared layouts in routing diagrams
- New - objects in routing diagrams have buttons for common actions
- New - right clicking on a port in routing diagram allows direct access to MIDI monitor and port settings
- New - active MIDI filter indicator dot on MIDI routes in routing diagrams
- New - ports are color coded in routing diagrams
- New - arrange ports command in routing diagrams
- New - push/pull mode for moving ports in routing diagrams (hold Ctrl while dragging)
- New - property dialogs for plugins, racks and media players (right click -> Properties)
- New - MIDI Filter dialog now has an undo all command
- New - Note to Program Change MIDI filter
- New - Controller Map MIDI Filter now supports passthrough mode for out of range values
- New - Notes Only MIDI routes now pass CC 123 'All Notes Off' MIDI Event
- New - ability to send MIDI clock ticks (tempo) while transport is stopped
- New - ability to wake display on MIDI activity
- New - Rack comments with option to show comments when rack is inserted
- New - Rack custom button tooltips
- New - $(StateIndex) and $(StateCount) variables
- Improved - Routing diagrams now show bypassed and runmode state more effectively
- Improved - disabled routes in routing diagrams now 'dashed out'
- Improved - updated colors in routing diagrams
- Improved - routes between the same ports are now visible in routing diagrams
- Improved - context menus cleaned up
- Improved - MIDI Route settings window now remembers its layout and position
- Improved - Options dialog now remembers its position
- Improved - VST 3 plugins are no longer upscaled by default
- Improved - the default VST 3 plugin path is now automatically included in the plugin path on new installs
- Fixed - entering Live Mode sometimes lost focus requiring mouse click to reactivate
- Fixed - maximized racks could incorrectly be resized
- Fixed - better handling for audio drivers that don't report channel names
- Fixed - ticker bar now correctly shows songs and states with ampersands ('&') in their name
- Fixed - some dates incorrectly shown in GMT instead of local time
- Changed - updated to .NET 6
Build 4140
- Fixed - crash related to bindings in shared racks when using pre-loaded set lists
Build 4139 (Experimental)
- Fixed - cross rack binding events firing in wrong order after re-ordering racks
- Fixed - binding a sequence value to a MIDI target not updating correctly
- Fixed - loading a rack host where the target rack state no longer exists, now reverts to a 'missing' state
- Fixed - .NET installation issues
Build 4138 (Experimental)
- Fixed - removed redundant 'show popup for instant load' options
- Fixed - binding to a value sequence not skipping the current target value
- Fixed - changing plugin parameter via binding not updating parameter editor
- Fixed - null reference error displayed in some variable strings during app startup
Build 4137 (Experimental)
- Fixed - Fix for StreamDeck MIDI Note Off not working
Build 4136 (Experimental)
- Fixed - 'Ignore In Text Fields' option on PC Keyboard binding not working
- Fixed - touch screen tap on combo incorrectly displaying tap and hold ring
- Fixed - some key strokes not working in some listboxes
- Fixed - 'Responds to master/song gain' on input audio ports not working
- Fixed - when rack split maximized, maximized view incorrectly resizeable
- Fixed - removed some redundant debug logging
Build 4135 (Experimental)
- Fixed - upgrade issues with bindings in background rack
Build 4134 (Experimental)
- Fixed - sys-ex binding data not being saved to binding
Build 4133 (Experimental)
- Fixed - sys-ex binding target expressions getting truncated
- Fixed - typo in one binding point description
Build 4132 (Experimental)
- New - conditional value mapping bindings now support an edge sensitive mode
- Fixed - right clicking in ticker bar incorrectly caused selection to change
- Fixed - shortcut keys in right click menu in ticker bar wrong (should be Ctrl+PageUp/Down)
- Fixed - onscreen keyboard network end point injectMidi() API not working
Build 4131 (Experimental)
- Fixed - bi-directional relative mode encoder bindings not working
Build 4130 (Experimental)
- Fixed - exception upgrading exported binding states
Build 4129 (Experimental)
- Improved - better logging of handled error messages
- Fixed - added language translation of several error messages
Build 4128 (Experimental)
- Fixed - crash upgrading some bindings
- Fixed - missing translation strings
Build 4127 (Experimental)
- New - complete reworking of bindings
Build 4064
- Fixed - performance hit when playing media file and timeline open
- Fixed - main menu bar not rendered correctly when OpenGL enabled
Build 4063
- Fixed - crash showing GUI for some Roland plugins
- Fixed - plugin database now supports VST3 plugins with multiple categories (requires full plugin scan)
Build 4062
- New - Controller to Switch MIDI filter
- Fixed - hot key mappings for instant vs delayed load actions inverted
Build 4061
- Fixed - Set List Create Copy command incorrectly allowing invalid characters in song name
- Fixed - expression && and || operators evaluting to integer instead of boolean value
Build 4060 (Experimental)
- Happy New Year :)
- Fixed - pre-loaded plugins incorrectly showing GUI before song loaded
- Fixed - some plugins not appearing in docked view
- New - expression engine now supports modulus '%' operator (aka 'remainder')
Build 4059 (Experimental)
- Fixed - various issues with plugin editors (hidpi, upscaling etc...)
- Fixed - tray icon not removed on shutdown
Build 4058 (Experimental)
- Fixed - next song/state binding jumping two states
Build 4057 (Experimental)
- Fixed - notes not releasing with OPX Pro II (VST 3)
Build 4056
- Fixed - 'Responds to master/song gain' on input audio ports not working
Build 4055
- New - ability to change the number of preset slots for some preset models
- New - added 'Clamp()' function to math expression engine
- Changed - silent audio level now expressed as -80dB (was -60dB)
- Fixed - 'Use Current Position' buttons in transport position dialogs not working
- Fixed - opening set lists from command line not working
- Fixed - crash in about page with rebranded versions of Cantabile
- Fixed - don't close plugin editor windows when audio engine stopped
Build 4054
- Fixed - various plugin window sizing issues
- Fixed - crash if dragging in wiring diagram when switching song via MIDI/Binding
- Fixed - detached plugin editors not showing minimize button
- Fixed - rebranded plugin path not resolved to relative base path
- Fixed - rebranded plugin version display to use string version instead of numeric
Build 4053 (Experimental)
- New - docked plugin GUIs (choose 'Docked' from menu at top right of plugin popup)
- Changed - touch screen selection handles no longer shown in single line text fields
- Fixed - repeated menu separator in some menus (Cantabile Lite)
- Fixed - multiple arrow key presses required to skip over hidden menu items
- Fixed - resizing racks panel sometimes causes weird scrolling issues
- Fixed - don't save invalid note and controller ranges in MIDI filter
- Fixed - insert plugin from saved VST 3 bank not working
- Fixed - display incorrect information in duplicate plugin path error message
- Fixed - sometimes no tab in main routing panel activated
- Fixed - expanding/collapsing table groups sometimes moving focus to far right
Build 4052
- Fixed - transport position in timeline panel not updating during playback
- Fixed - annoying horizontally list scrolling (depending on focus location)
- Fixed - inserting VST3 plugin from a preset failing
Build 4051 (Experimental)
- Fixed - crash reopening MIDI Route Settings after deleting a route
- Fixed - crash using some Countdown Timer bindings
- Fixed - crash in show notes network API
- Fixed - pointer lock binding not working
Build 4050
- Fixed - loading VST 3 factory presets not copying name
- Fixed - loading VST 3 factory preset incorrectly changing preset model
- Fixed - missing translatable strings
Build 4049 (Experimental)
- New - Pointer Lock - ability to lock most settings from accidental changes from mouse/touch
- New - options to show the delay load popup overlay for instant mode bindings (see Options -> Keyboard and Controls -> Navigation)
- New - support for loading VST 3 factory presets
- New - auto-homing controller bar sliders (ie: pitch-wheel like snap back behaviour)
- New - knobs and sliders now show their current value in their tooltip
- New - a new tooltip mode to only shows knob/slider values (ie: no description text)
- New - plugin editor window now has a solo button
- New - ability to customize text displayed in main status panel
- New - two new variables $(TransportPositionMusical) and $(TransportPositionRealtime)
- Improved - named routes now show their name in the routing table slot
- Improved - main status panel now resizes to make better use of available space
- Fixed - bindings from a switch value to sysex not passing current switch 'value'
- Fixed - missing command names displayed as 'n/a'
- Fixed - pasting of linked racks incorrectly allowed where not supported
- Fixed - binding target values for trigger numbers off by 1
- Fixed - occassional crash when renaming objects or replacing racks
- Fixed - work around for some VST 3 plugins not returning vendor name
- Fixed - escape key not returning focus to main work area
- Fixed - rendering of some international text failing after newline/carriage return
- Fixed - auto-update states not saving after using Tools -> Reset All command
Build 4048
- New - added a user comments field to MIDI filter items
- Improved - renamed old 'Notes' fields to 'Comments' (to avoid confusion with musical 'Notes')
- Fixed - some VST 3 plugins not receiving MIDI program change events
- Fixed - crash after using View - Close All Popups command
- Fixed - crash during shutdown when Midi Filter Dialog still open
- Fixed - space key not working in text fields in modeless dialogs
- Fixed - incorrectly selecting multiple states/song when auto scrolling list after double click
- Fixed - double click on selected show note not opening editor
- Fixed - unable to click a perfectly horizontal wire in routing diagrams
Build 4047
- Improved - increased the auto-home delay on the ticker bar from 3 to 6 seconds
- Fixed - ticker bar not at correct initial position when first shown
- Fixed - some state settings lost when deleting the second last of a linked clone
- Fixed - limit the number of audio channels shown in plugin slot level meters
- Fixed - network binding names no longer case sensitive
Build 4046
- Fixed - crash in network server due to multi-threading issue
- Fixed - clicking in timeline panel while playing incorrectly stopping playback
- Fixed - typo in binding schedule dialog
Build 4045 (Experimental)
- Fixed - regression in build 4044 causing failure to start
- Improved - sticky note filter now supports arbitrary polyphony + retriggerable mode
- Fixed - crash in network server improvements from 4042
- Fixed - level meters showing spurious values when first on view
- Fixed - crash showing plugin information for unloaded plugins
Build 4042 (Experimental)
- New - network API /api/onscreenKeyboard
- New - binding points for countdown timer Seconds Total and Seconds Remaining
- Improved - transpose bindings now limit range
- Improved - sys-ex bindings can now better generate other MIDI event types
Build 4041
- Improved - increased the width of the slot gripper handles for easier use via touch screen
- Improved - increased the size of the text in the sys-ex editor
- Improved - easier selecting and moving items in list with touch screen
- Improved - tap and hold + drag in list to select multiple items (touch screen)
- Improved - tap and hold selected items + drag in list to re-order (touch screen)
- Improved - other various touch screen improvements
- Improved - performance tuning of various UI interactions
- Improved - added throttling of excessive pointer move events from some touch and touch pad devices
- Improved - touch-screen long-tap overlay now colored to better match currently selected theme
- Improved - additional diagnostic information in crash reports
- Improved - more controlled scrolling in lists while selecting
- Fixed - some context menu commands not working via touch screen
- Fixed - Transport In Range binding not prompting for a time range
- Fixed - Fixed crash with 'Use Different Rack' when current rack missing
Build 4040 (Experimental)
- Improved - better error handling when song, set list or template file missing
- Improved - added right click Create Binding commands for all media player timeline toolbar commands
- Improved - network API now provides access to user color table
- Updated - JavaScript Network API library
- Reverted - prior change that showed show notes when using scroll bindings
- Fixed - crash in audio channel dialog when missing target assignments
- Fixed - crash right clicking on media player range selector
- Fixed - next/previous file binding crashing if media player has no files loaded
- Fixed - rare UIAutomation crash when changing focus
- Fixed - rare crash with mouse click on some elements
- Fixed - various non-localizable strings
- Fixed - typo in media player tooltip
Build 4039 (Experimental)
- Improved - the bindings to scroll show notes now also make sure the show notes are the active tab
- Improved - Load Next Song or State binding now works (for state switches) if no set list loaded
- Fixed - drag selections with touch screen too sensitive making it difficult to click some buttons
- Fixed - crash deleting/moving audio ports
- Fixed - crash displaying routes that have a routing condition
- Fixed - misc fixes for fractional tempo settings
- Fixed - Show MIDI Note Numbers menu item not checked when enabled
- Fixed - unable to set velocity of binding sending notes
- Fixed - unable to type characters requiring AltGt key
- Fixed - misc issues in Network API documentation
Build 4038 (Experimental)
- Fixed - misc Network API fixes
Build 4037 (Experimental)
- New - Binding Conditions (see guides for more info)
- Fixed - popup to select object by index requires two clicks to show menu
- Fixed - misc errors in Network API docs
- Fixed - reordering bindings sometimes results in bindings invoked in wrong order
- Fixed - slider mouse wheel option not working
- Fixed - missing translable strings
Build 4036
- New - Countdown Timer (Cantabile Performer only)
- New - ability to import/export controller bar layouts
- New - option to show MIDI note numbers on on-screen keyboard
- Fixed - cursor snapping in timeline panel not working on hover
- Fixed - better expiry date message in licensing screens
- Fixed - column headers sometimes not scrolling with content
- Fixed - arrow keys not working on collapsed combo boxes
- Fixed - combo box interfering with Alt+shortcut keys
- Fixed - shortcut key underlines not appearing at some display resolutions
- Fixed - shortcut key underlines not always showing in main menu
Build 4035 (Experimental)
- Fixed - main window position not restored correctly when non-100% scaling
- Fixed - popup value indicators on knobs not showing
Build 4034 (Experimental)
- Fixed - routing list scrolling to arbitrary position when trying to click a button
Build 4033 (Experimental)
- Fixed - crash after reloading a previously failed, but now available plugin
- Fixed - not displaying ampersands in object names
Build 4032 (Experimental)
- Fixed - rare crash after deleting show note
- Improved - error handling during startup
Build 4031 (Experimental)
- Fixed - Select (Inverse) curve not working
- Fixed - don't show value changes tooltips on sliders in dialogs
- Fixed - build number not included in version info for CantabileCore.dll
- Fixed - crash on shutdown in x86 (32-bit) build
Build 4030 (Experimental)
- Fixed - build issue with 4029 causing crashes
Build 4029 (Experimental)
- New - binding View -> Activate Main Window to return focus from active popups to the main window
- Fixed - bug in list view control causing random crashes
- Fixed - converting a linked rack to embedded was losing contained bindings
- Fixed - up/down arrow keys in set list panel not working
Build 4028 (Experimental)
- New - added copy/paste/duplicate to media player list editor dialog (via Ctrl keys or context menu)
- New - Midi Filter dialog now supports Alt+Up/Down to re-rder and Ctrl+D to duplicate
- Fixed - linked icon in states panel sometimes not shown
- Fixed - sample position timing info returned to plugins incorrect
Build 4027 (Experimental)
- New/Improved - binding delays are now available on all bindings + improved scheduling options
- Fixed - sliders not showing value when changed by external source
- Fixed - buttons incorrectly disabled in External Tools options page
- Fixed - failure to bind generic object from background rack when no song loaded during startup
Build 4026 (Experimental)
- Fixed - re-assigning song/state program numbers sometimes assigns in wrong order
- Fixed - initial focus of radio buttons sometime wrong
- Fixed - rare crash when deleting objects in routing table
- Fixed - clicking More Information button in update available dialog crashing
- Fixed - step size of show notes line-up/down bindings different to v3
- Fixed - MIDI filter indicator shown in bright green instead of disabled when in in-active row
Build 4025 (Experimental)
- New - ability to exclude songs from Set List Preloading (right click song -> Exclude from Preload)
- Fixed - crash in Options when switching between some audio drivers
- Fixed - Editor Visibility state behaviour not worked between linked clones
- Fixed - occassional crash with show notes that have song related variables
- Fixed - crash closing app when MIDI route settings shown with unapplied changes
Build 4024 (Experimental)
- Improved - performance tuning
Build 4022 (Experimental)
- Fixed - not showing metrics in profiler side panel
Build 4021 (Experimental)
- Fixed - auto record not working after engine restart
- Fixed - less aggressive truncating of auto-recording cut off
Build 4020 (Experimental)
- Improvied - layout of audio ports in monitor panel
- Improved - choose license page now shows update subscription expiry date
- Fixed - using a binding to show a plugin editor not working when GUI currently hidden by F4 key
- Fixed - various settings not sticking when using MIDI learn
- Fixed - cursor and power button flicker with some plugins (eg: DVS Bass)
Build 4019 (Experimental)
- Fixed - issues with show/hide popups command
Build 4018 (Experimental)
- Fixed - incorrect key mapping on on-screen keyboard for some locales
Build 4017 (Experimental)
- Fixed - prompting twice to confirm exit
Build 4016 (Experimental)
- Fixed - when editing a new audio port channel, the dropdown combo isn't populated correctly
Build 4015 (Experimental)
- Happy New Year :)
- Fixed - various issues with jBridged plugins
- Fixed - not automatically restarting after editing options that require restart
- Fixed - tray icon not working
- Fixed - plugin editor window not activated when opened
- Fixed - learn binding window not appearing after prompting to create route name
- Fixed - various text fields not saving value when value set via MIDI Learn
- Fixed - level meters incorrectly scaled (drawn too tall)
- Fixed - not prompting to save changes on shutdown
- Fixed - show notes panel text layout issue with right aligned text
- Fixed - wiring view not auto-scrolling when dragging objects
- Fixed - unable to type into quick controller (eg: Find Song command)
- Fixed - clicking in a text field not selecting all text
Build 4014 (Experimental)
- Merry Christmas :)
- Fixed - Voice Allocator filter releasing incorrect note when stealing voice from other channel
- Fixed - data fields not initialized in Set Bank Program Number dialog
- Fixed - issue loading themes on PCs with older CPUs (unsupported instruction exception)
- Fixed - Show/Hide All Popups command not working
- Fixed - F4 to show/hide popups now works in text fields (fixes F4 not working in transpose dialog)
- Fixed - popup lists not scrolled to show selected item when first shown
- Fixed - right click Create Binding command not working
- Fixed - Ctrl+click on onscreen keyboard not holding keys
- Fixed - on-screen keyboard confused by key repeat
Build 4012 (Experimental)
- Fixed - hidden menu not reappearing when pressing Alt key
- Fixed - combo box selected item not updating under some circumstances
- Fixed - crash in text editor
Build 4011 (Experimental)
- Fixed - removed redundant trace messages
- Fixed - update available dialog buttons cropped (replaced main text area with scrollable view)
- Fixed - behaviour of scrollbars when shown, but not required
- Fixed - missing translatable language strings
Build 4010 (Experimental)
- Fixed - controller bar buttons not displaying checked state
Build 4009 (Experimental)
- Fixed - wiring view not rendered correctly when zoomed
Build 4008 (Experimental)
- Fixed - various crashes related to audio files and timeline view
- Fixed - clicking in column headers in insert rack and add song to set list dialogs not sorting
Build 4007 (Experimental)
- New - PC Keyboard bindings now have an option to ignore the binding when focus is in a text field
- Fixed - auto-scroll behaviour in set list panel
- Fixed - re-entrancy issues with Restart Engine binding (now runs after all other bindings)
Build 4006 (Experimental)
- Improved - new expand/collapse icon in table rows
- Fixed - controller bar buttons transparently overlaid on each other
- Fixed - various translation string fixes
- Fixed - using spinner button to adjust values no applying
Build 4005 (Experimental)
- Fixed - time line not switching views when switching between media players
Build 4004 (Experimental)
- Fixed - dragging from a plugin, media player, rack or route now moves the item instead of selecting it
- Fixed - sliders in controller bar not working
- Fixed - crash caused by null reference in media player timeline view
- Fixed - controller bar sometimes now showing due to persisted zero height
- Fixed - failure to load settings now shows message box instead of crash reporter
- Improved - sliders in controller bar now show the slider
- Improved - additiona logging on theme package loads
Build 4003 (Experimental)
- Fixed - text on custom rack slot buttons truncated
- Fixed - binding slot colors not rendered correctly
- Fixed - escape key doesn't close Global Transpose dialog
- Fixed - learn mode in MIDI Filters and MIDI Route Settings dialogs not working
- Fixed - plugin editor resizing issues at non-100% scaling
- Fixed - plugin editor crash with VB3_II
- Fixed - crash on closing plugin editor with Pianoteq 7
- Fixed - exception on shutdown related to power variables
- Fixed - some windows not getting focus when shown for second time (MIDI Route Settings, MIDI filters etc..)
- Fixed - mouse wheel now works with text fields with spinners
- Fixed - shift+backspace and ctrl+backspace key now works in text fields
- Fixed - crash closing MIDI Route Settings dialog
- Fixed - window placement not restored correctly at non-100% scaling
Build 4002 (Experimental)
- Fixed - various issues with song loading (rack host null reference)
- Fixed - exception when adding new MIDI output port
- Fixed - navigation keys in set list grid not working (unless click with mouse first)
- Fixed - unable to type into quick controller (eg: Find Song command)
- Fixed - monitor panel not aligning correctly when too narrow
- Fixed - truncated text in hot key settings dialog
- Fixed - removed redundant expand button from output ports slot
- Fixed - song and set list load progress dialog not updating
- Fixed - alignment of custom rack buttons
- Fixed - initial focus in rack panel view wrong (causing navigation binding errors)
- Fixed - some status panel text items not centered
- Fixed - removed redundant logging
Build 4001 (Experimental)
- Fixed - exception with OpenGL plugins
- Fixed - null reference exception loading some songs
Build 4000 (Experimental)
- Initial 4000 series release (very experimental :)