This is the last release of the v0 branch
- bug fixes
- dropdown: value update issue on iOS 13
- widgets
- html: allow
class
,title
andstyle
attributes
- html: allow
- bug fixes
- regression (0.49.10) breaking icon with short names (minimum valid length set to 2 characters)
- html widget: content not initialized properly
-
bug fixes
- svg files not loading
- canvas glitches when hardware acceleration is disabled (--disable-gpu) (built-in gui only)
-
misc
- prevent
--disable-gpu
from bypassing the launcher window - prevent converting
"^icon-name"
to an icon (in text widgets and labels) whenicon-name
is too short to be a valid icon name (minimum 4 characters)
- prevent
- bug fixes
- downgrade electron engine to fix regression (v0.49.8) on some systems
- bug fixes
- rgb: range not applied when receiving value
- bug fixes
- sync issues when widgets have a single target set
- bug fixes
- windows users launching the app from a terminal now need to add a double dash (--) before their options
- launcher: disabled unstable
Relaunch
action
- bug fixes
- launcher: file/folder browsing not working
- bug fixes
- image: fixed absolute paths
- image: reset to 'default' instead of 'value' when receiving an empty value
- launcher: use current midi config for "List devices" action
- fader built-in meter: use fader's target (allows midi sync)
- bug fixes
- windows: process not terminated properly when exiting the app
- bug fixes
- plots: prevent
plot/*
widgets from sending messages when using the sidepanel's "send all" function - editor: assign correct
address
when emptying the field - sidepanel: shadow color issue
- plots: prevent
- misc
- alt-buttons & flat theme tweaks
- bug fixes
- modal: error when
label
depends on a child's property - custom module:
send()
function casting numbers to integers instead of floats by default - menu: push mode not working on touch devices
- modal: error when
Deprecation MathJS syntax is now deprecated and will be removed in the future, sessions using it will be working for a few more versions but users are strongly encouraged to migrate to the javascript syntax.
- bug fixes:
- multiclient sync not working when
targets
is empty - widgets: missing
target
property forplots/*
widgets, required for MIDI bindings - editor: set
label
toauto
instead oftrue
when using the toggle button - editor: errors when hitting
mod + a
and unselecting widgets - modal: correct popup title color
- options: allow
midi:port_name
pairs in--send
option - sidepanel/state: opening a state file now properly sets it as the next default save location
- multiclient sync not working when
- widgets:
- new
menu
widget, circular alternative to the dropdown & switch widgets - file: allow selecting folders
- text: optimize value update when there's no icon to draw
- new
- editor:
- convert invalid quote characters automatically to avoid errors
- tab: added
detached
property (set to false to prevent iframes from reloading when the tab opens)
- bug fixes
- strip: layout issues when moving widget in a strip (min width/height still active)
- tcp: prevent sending osc messages on udp port when the same port number is set as a tcp target
- midi: take server default targets into account to determine widget matching
- save dialog: prevent keys widgets from capturing keystrokes when typing the filename
- bug fixes
- xy: broken
spring
property - macOs: add support for emulated right click via
ctrl+click
- midi: messages received from a midi port now only affect widgets that send to this port
- xy: broken
- bug fixes
- ios: prevent color issues with sliders
- editor: prevent all keyboard shortcuts from triggering default browser actions
- main
- detect http server silent setup failure
- bug fixes
- regression breaking support for utf-8 strings in received osc messages
- bug fixes
- launcher: limit terminal history size to prevent slowdown/freeze
- widgets
- knob: text pips support
- fader: add css variable
--gauge-width
- bug fixes
- widgets: prevent update errors when widgets are not fully initialized
- prevent pinch-zoom on touch screen
- bug fixes
- editor: checkbox position in multiline fields
- patchbay: widget not responding to osc after being edited
- widgets
- script: added
httpGet
function for simple local http requests
- script: added
- bug fixes
- modal:
popupLabel
update issues - modal:
popupTop
not correctly interpreting percents - editor: scrollbar issue in editor's input fields on recent chromium
- modal:
-
bug fixes
- midi: listing devices from context menu not working when the midi options is empty
- package: broken build from sources on Windows
- editor: incorrect position when moving a widget from an edge with the keyboard
- modal: prevent touchend event from reaching the inner widgets when opening the container
- matrix: clone matrices not properly storing their children's values
- multipad/range: errors when dragging over when the gesture was initiated on a traversing widget (ie matrix)
-
widgets
- new html widget
- frames: allow loading local html files without requiring a web server to serve them
- text: escape html tags characters (
<
&>
) - input: added
asYouType
property - sliders/pads: added
sensitivity
property
- bug fixes
- keys: prevent default browser actions when a combo is bound to a widget (for example print dialog with ctrl+p)
- xy: broken
doubleTap
- widget: error when two sibling widgets have a non-dynamic property depending on each others and on another widget at the same time
- cli: broken
--version
option
- bug fixes
- regression causing errors with the
value
property
- regression causing errors with the
- bug fixes
- midi:
path
option not applied to launcher'slist
contextual action - midi: pitchbend messages not received correctly
- style: layout issues in recent chromium
- encoder:
0
value inback
property not working - editor: state not completely restored under some conditions
- push: force release when the widget is removed/recreated while pressed
- midi:
- bug fixes
- css font faces not loading from absolute/relative paths
- midi
- added
path
option for setting python binary path manually
- added
- bug fixes
- launcher: spaces not properly escaped in quoted strings
- widgets
- sliders:
default
andspring
properties are now dynamic
- sliders:
- server
- images urls are now resolved relatively to the session path directory by default (fallback to absolute path resolution if not found)
- custom module
- added
loadJSON
andsaveJSON
functions
- added
- improved canvas rendering speed on chrome v69 and above
- widgets
- modal:
scroll
option - script:
get(id)
function added inscript
execution context - script:
getProp(id, property)
function added inscript
execution context - script:
id
variable added inscript
execution context (id of the widget that triggered the script)
- modal:
- bug fixes
- windows: midi debug strings not printed
- bug fixes:
- modal:
css
not properly applied if the property was previously empty and the modal had been opened at least once - image: allow overriding css background-image when value is empty
- modal:
- widgets
- switchers: new
state
widget
- switchers: new
- remote control
- added
/STATE/[GET|SET|STORE|RECALL]
methods
- added
- midi
- print port name in debug messages
- added
pc_offset
option to act as if program change numbers where between 1 and 128
- bug fixes
- image:
cache
option inverted - image: allow whitespaces in url
- image:
- widgets
- keyboard:
toggles
options
- keyboard:
- bug fixes
- bottom horizontal scrollbar not responding on small screens
- remote file browser: hitting a letter to select a file based on its name was looping on the first two matches only
- editor: preserve backslashes in enquoted strings (not in objects/arrays)
- editor: clear the editor when selected widget is removed by an undo/redo action
- widgets
logScale
can be set to a number to use a logarithm base different from the default- knob:
compact
mode is back
- bug fixes
- absolute file paths not resolved under windows
- nested
@{}
calls issue (#516)
- bug fixes
- handle network drops correctly (notify immediately and fix reconnection mechanism)
- formulas breaking the property update mechanism when not resolved
- modal: title layout issue
- bug fixes
- broken client sync for widgets with
split
set - custom module:
receive
function not working when omitting host/port and sending only one argument - file browser: prevent error when files/folders cannot be read
- broken client sync for widgets with
- bug fixes
- potential security issue in
JS{{}}
parser
- potential security issue in
- bug fixes
- broken session local export
- potential security issue in custom module parser
- bug fixes
- regression (v0.41.4) breaking sync between clients
- sessions not added to history when opened
- switch: traversing mode issue
- remote file browser reactivity issue
- encoder: broken because
ticks
default wasauto
instead of360
- main
- state files can be saved remotely
- widgets
- removed deprecated widgets
multifader
,multitoggle
,multipush
andformula
- new
JS{{}}
property syntax, allows writing formulas using javascript - errors encountered in
#{}
blocks are now printed to the client console (F12) - keys: renamed formula context variable
super
tometa
- removed deprecated widgets
- bug fixes
- ios: clone widget not displaying properly
- keys: error when leaving the window with the cursor while holding a key-combbo pressed
- session: disable saving when
--read-only
is set
- main
- sessions can be opened and saved from/to the server's filesystem directly
- widgets
- new
file
input widget (allows selecting a file on the the serve and sending its absolute filename)
- new
- midi
⚠️ breaking changes⚠️ - replaced python dependency
rtmidi
withpython-rtmidi
(provides pre-compiled binaries for all major platforms) - sysex messages are now discarded by default, they can be enabled by adding
sysex
to the midi options
- bug fixes
- sidepanel: resize handle overflow issue
- ui
- sidepanel: hidden resize handle; show edge resize handle on hover
- launcher
- added context menu action to display midi device list without starting the server
- widgets
- switch: add
traversing
option (true
by default) - knob: act as a relative encoder when traversing gestures are enabled and
snap
isfalse
- keys:
key
variable inkeydown
andkeyup
is now always lowercased when referencing a single character - keys; expose
code
variable from the keyboard event object (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code#Code_values)
- switch: add
- custom module
- expose shorthand functions
send
andreceives
- expose a client object instead of just an id in
app
event handlers to allow retrieving the client's ip address as well - custom modules can now be written like standard nodejs modules (using
module.exports
assignement instead of a self-invoking function pattern)
- expose shorthand functions
- widgets
OSC{}
syntax accepts an optional third argument (false
) to bypass the host widget'spreArgs
- editor
- sticky header to remind selected widget's id
- sidepanel can now be resized by dragging its edge
- bug fixes
- matrix:
$
variable not starting atstart
- matrix: properties not reset to default when removed from
props
- matrix:
- bug fixes
- keys: binding conflict with editor
- xy: drawing performance issue
- bug fixes
- editor: changes applied to wrong widget when clicking on a widget while editing another widget's property
- push: allow setting
value
property - allow whitespaces in path for
--custom-module
- error when changing a property that's inherited by a widget to define its address and at least one non-dynamic property
- widgets
- sliders: when
steps
is set, scrolling on the widget makes it go directly from one step to another
- sliders: when
- bug fixes
- broken
--remote-saving
option* fader
: built-inmeter
not updating itsaddress
,preArgs
&color
properties- incorrect osc messsages when widget's
split
andpreArgs
are set
- broken
- bug fixes
rgb
: values were rounded even withprecision
different from0
- osc
- add support for utf8 string argments (encoded/decoded as per standard https://encoding.spec.whatwg.org/#utf-8)
- bug fixes
- geometry properties not properly applied when reset to
auto
strip
layout not properly applied when changing the widget'shorizontal
propertymodal
glitch on chromium v70
- geometry properties not properly applied when reset to
- bug fixes
- error when loading session file
- prevent sidepanel issue when toggling quickly
- main
--send
acceptsip:port
anddomain:port
targets- removed previously deprecated
--sync
option --custom-module
now accepts extra options that can be consumed from the custom module's code- sessions located on the server can now be saved remotely, this becomes the default behavior for keyboard shortcut
mod + s
, local export is still available viamod + shift + s
- added
--remote-saving
options to limit remote session saving feature to hosts that match the provided regular expression
- ui
- added notifications
- widgets
matrices
: newpatchbay
widget
- bug fixes
- layout break when hitting tab with sidepanel closed and editor enabled
- crash when running the server in an environnement without user home folder
- bug fixes
- clone: editor's selection rectangle appearing after editing the clone's target widget
- windows: midi issue (python path not found)
- widgets
- input: hitting
tab
now validates the value before focusing the next input (hittingesc
or clicking outside the widget still cancels); when focusing an input widget, its whole value is selected by default; focused/selected text color hint changes. - matrix: widgets inherit from the matrix'
id
and osc properties by default
- input: hitting
- bug fixes
- editor: widgets/tabs not properly reordered when changing a widget or tab's index by more than 1
- main:
--no-gui
switch not working when running the app from a different directory - regression causing osc receivers (
OSC{}
) to conflict with property listeners (@{}
)
- widgets
- push: add
doubleTap
option - osc listeners (
OSC{}
) now accept relative addresses (without leading '/'), automatically prefixed with the widget's address
- push: add
- bug fixes
- editor: sidepanel & dragging handles not always updated after edition
- widgets: parsing error when a property contains more than 10 variables
- bug fixes
- regression reversing tabs order
- bug fixes
- editor: issue with tabs selection / edition
- regression breaking
svg
- bug fixes
--read-only
option not properly workingkeyboard
: dynamic propertiestarget
,precision
&preArgs
not being updated dynamically
- widgets
- formulas: added
indexOf
function - deprecated
multifader
/multipush
/multitoggle
in favor of the genericmatrix
widget - meter:
gradient
can be set as an object to define uneven color breakpoints
- formulas: added
- bug fixes
- meter's properties not accessible (overridden with fader's properties)
- mobile
- button for preventing device sleep
- bug fixes
- iOS 9.3 compatibility
- widgets
- sliders:
steps
property is now dynamic
- sliders:
- bug fixes
modal
widgets not working since chrome v70
- bug fixes
- sliders:
steps
option not working whenrange.min
is not0
- regression breaking the app for iOS 9.3
- sliders:
- widgets
- multiXy: added
.pad-N
class to inner xy pads to help with css customization - xy/multiXy: added css variables
--background
,--color-pips
,--pips-opacity
and--point-opacity
- rgb: added
alpha
option - xy/multiXy/rgb: design impovements;
- sliders: new
steps
option
- multiXy: added
- bug fixes
- broken tabs color property
- broken
/TABS
command; this command doesn't makes panels send osc messages anymore
- bug fixes
- regresssion: broken --theme option
- regression: missing 'edit parent' action in editor's context menu
- bug fixes
- regression breaking icons in switches' labels
- performance
- rendering speed improved (session loading time reduced by about 30%)
- widgets
- remove support for deprecated properties
path
,noPip
andnoSync
- sliders/pads:
precision
is no longer a dynamic property
- remove support for deprecated properties
- bug fixes
- launcher compatibility issues with electron v3
- bug fixes
- regression with dynamic property
color
in panels and matrices
- regression with dynamic property
- packaging
- node-only package can be run with electron too
- packaging
- regression causing the client js bundle to be much bigger than needed
- added node-only package built without electron for unsupported platforms (armv6, etc)
- bug fixes
@{parent}
calls not working consistently in clone widgetsslider/pads
: inteverted ranges not working- fix
doubleTap
for sliders withsnap
set totrue
- undo/redo errors
- widgets
- 1-level nested property inheritance calls (
@{id_@{id_2}}
) are now updated dynamically - support special css property
class
for adding custom classes to widgets - added "smart" traversing gestures mode that limits affected widgets by the type of the first touched widget
- root: added
traversing
property
- 1-level nested property inheritance calls (
- editor
- major performance improvements (containers' children are reused whenever possible instead of being recreated)
- removed widget deletion confirmation popup
- properties categories can now be folded
- added keyboard shortcut
F2
for editing the label quickly - added keyboard shortcut
mod + s
for saving the session - added keyboard shortcut
mod + o
for opening a session - use
backspace
instead ofdelete
for deleting widgets on MacOs - added keyboard shortcut
mod + e
for enabling / disabling the editor - added keyboard shortcuts
mod + arrows
for selecting widgets - added keyboard shortcut
mod + a
for selecting a widget's siblings and itself - added keyboard shortcut
mod + shift + a
for cancelling selection - added multi widget selection with mouse when
shift
is pressed - right-click doesn't modify current selection when
mod
orshift
is pressed
- formulas
- added
extend(x, y)
function for merging two objects - objects' closing brackets (
}
) don't need to be escaped with a backslash anymore - show property's computed value in the help popup
- added
- bug fixes
- osc receivers (
OSC{}
) not working in non-dynamic properties
- osc receivers (
- remote control
- added
/GET/#
to get a widget's value without using/GET
as reply address
- added
- bug fixes
- gyroscope: osc sendings not properly triggered on value updates
- bug fixes
- osc: regression making empty
preArgs
count as one empty string argument
- osc: regression making empty
- bug fixes
- closing popups when clicking precisely on the "x"
- translations
- fr: corrections
- ru: added russian translation
- bug fixes
- editor: opening the sidepanel doesn't select the root widget anymore
- ios: fix
doubleTap
- widgets
- new
gyroscope
widget - new
frame
widget - breaking change in
panel
: dropped Visual Format Language support (layout
andspacing
properties) - maths: added
timestamp()
function
- new
- editor
- widget property names can be clicked to show documentation
- misc
- the client app can be translated (#302)
- bug fixes
linkId
synchronizations now correctly trigger property updates- widgets with multiple
linkId
are now properly handled - synchronization issue between
visualizer
widgets
- widgets
keys
(breaking changes): formulas inkeydown
andkeyup
must be explicitely written using the#{}
syntax; variablevalue
got removed from these formulas context (use@{this}
instead); removedwidgetId
property, the value emitted by the widget on keypress events can be linked with other widgets via thelinkId
property or the property inheritance syntax;visualizer
: update rate set to default canvas framerate
- editor
- new keyboard shortcuts (undo, redo, copy, paste, etc)
- main
- added
--state
option for loading a state file with a session file
- added
- state
- loading a state file doesn't replace the quick save slot anymore
- widgets
- new
script
widget
- new
- misc
- reduced session file size (indentation set to 2 instead of 4)
- bug fixes
- widgets: dynamic
address
whensplit
istrue
- strip: missing osc properties (
address
andpreArgs
) for remote control - switcher: update linked widgets' osc properties before sending if they depend on the switcher's value
- widgets: dynamic
- bug fixes
- launcher: regression breaking the
port
option
- launcher: regression breaking the
- bug fixes
- matrices: spacing issue when wrapped in strips
- launcher: regression preventing options to be applied
- bug fixes
- switch: display object-values properly when
showValues
is set totrue
- prevent non-dynamic properties updates from breaking an osc sending event chain
- switch: display object-values properly when
- deprecations
formula
has been removed from the editor's context menu
- custom module
- expose
app
to the custom module's scope: an event emitter for monitoring the events sent by the different clients
- expose
- misc
- fixed rpi build
- bug fixes
- matrix: recreation loop issue with matrices of clones
- multixy: glitch when some letters are used in the points' labels
- bug fixes
- matrix: set initial value at widget's creation; missing border under widget's label
- widgets
- property math syntax: add
values()
andkeys()
functions
- property math syntax: add
- bug fixes
- widgets: remove unnused properties to avoid having hidden properties laying around when the type changes (especially dangerous when those properties where linked to other widgets)
- bug fixes
- osc receivers: unregister properly when widgets are recreated (memory leak); allow non-string values (eg. objects)
- circular property update issues
- widgets
- new generic
matrix
widget - fader: restore right-click focusing the input in compact mode (mouse only)
- new generic
- bug fixes
- css border-radius not applying correctly for some widgets
- themes
- multiple adjustments
- bug fixes
- missing feedback support for widgets with typed preArgs
- themes
- improved
dark
theme - added
flat
- improved
- bug fixes
- regression breaking typed osc args
- bug fixes
- regression in editor/resize function
- bug fixes
- sliders colors not displayed correctly on iOS
- widgets
- xy: tiny knob style change
- editor
- reallow editing disabled properties
- bug fixes
- error in osc receivers
- main
- add tcp support
- bug fixes
- regression breaking multitouch widgets
- widgets
- fader/knob/pad: right-click / long tap doesn't give focus to the input anymore
- bug fixes
- regression breaking touch traversing gestures
- clone widgets becoming unselectable for edition
preArgs
property still being coerced to an array
- bug fixes
- big regression breaking many touch gestures
- bug fixes
- broken remote-control /TABS command
- disabled
spacing
property in strips - disabled properties in modals
- broken arm build
- midi
- prevent the main process from exiting when MIDI setup fails
- widgets
target
andpreArgs
properties are no longer coerced to arrays and can be written as single string valueslinkId
supports master and slave modes with>>
and<<
prefixes- the special
target
tokennull
can now be used in conjunction with regular targets, it disables the default global targets set via the--send
option
- editor
- disabled widget properties are now greyed out
- bug fixes
- launcher: parsing errors are not fatal anymore
- css parsing error on iOS
- bug fixes
- editor: "wrap" deleting the widget just before the one being wrapped
- regression breaking traversing gestures and high precision gestures (0.29.0)
- server
- allow sending osc to broadcast ip addresses
- widgets
- limited support for property inheritance nesting (
@{id_@{id_2}}
) - support using property inheritance syntax in osc listeners' addresses
- limited support for property inheritance nesting (
- beaking changes
- dropped supported for
.js
sessions (deprecated in 0.20.0)
- dropped supported for
- bug fixes
- zeroconf: unpublish when shutting down
- ios 9.3 compatibility issue
- function mispelling in rgb widget
- widgets
- modal: added
popupLeft
andpopupTop
properties - faders/meter: add css variable
--gauge-opacity
to allow setting a fixed gauge opacity for meters and compact faders
- modal: added
- custom module
- messages converted from midi inputs can be filtered
- bug fixes
- widgets not correctly drawn when hidden/shown with dynamic css
- iOS: file upload failing sometimes
- widgets
- knob: small design improvements (pips don't take extra space anymore)
- bug fixes
- session list: fix "remove from history" always removing the first item in the list
- custom module
- expose
setInterval
- expose
clearTimeout
andclearInterval
- prevent errors when failing to run the module
- expose
- bug fixes
- regression in nested clones structures handling
- widgets
- matrices: support setting
split
property as a string to allow using children's indexes in their address ($
is replaced with the index number) - text:
wrap
property doesn't break words by default anymore - rgb: added
range
property
- matrices: support setting
- launcher
- right-click context menu (copy, paste, clear console, toggle console autoscoll, relaunch app)
- better font for the console
- bug fixes
- session/state file upload sometimes failing silently
- regression breaking the app for iOS
- bug fixes
- error when resizing a widget and its clone(s) at the same time
- error with non string css property
- session list not reappearing when failing to load
- broken state file loading
- misc
- added a loading indicator when uploading a session file or a state file
- bug fixes
- strip: nested strips were inheriting their parent's
spacing
- modal: prevent error when retrieving a child's property
- modal: prevent touch event from affecting elements behind the popup when closing it
- clone: some properies in target widget were not applied to the clone
- clone: prevent clone from resetting its target value when created
- text: vertical centering issues in narrow widgets
- dynamic properties: when using a widget's own value to determine its osc settings, these are checked and updated if needed before sending the message
- prevent error when loading a session containing invalid property inheritance calls
- broken build for iOS 9.3
- strip: nested strips were inheriting their parent's
- editor
- wrap in: insert wrapper at selected widget's index
- wrap in: set label to false by default when wrapping in a strip or a panel
- css property
pointer-events:none;
is now ignored when the editor is enabled - preverve pecentages when dragging/resizing a widget that has its position/size written in percents
- widgets
- new
OSC{/address, default_value}
syntax
- new
- ui
- sidepanel is now resizable
- themes
responsive-fonts
: increase size for big screens
- build
- dropped support for node < 4.8
- bug fixes
- ios: broken default accent color in clone Widgets
- ios/android: closing the sidepanel opened the tab next to the menu button
- editor
- mac: use
shift
instead ofcommand
for multi widget selection to match native behaviour and prevent unwanted zoom with trackpads
- mac: use
- widgets
- strip:
spacing
now accepts percents
- strip:
- bug fixes
- regression preventing glass effect from using the widget's color
- missing last key in keyboard widget
- editor: select parent widget after deleting a widget
- regression letting user to scroll the main document
- editor: wrap/cut/delete multiple widget not working properly
- widgets
- text: set line-height relative to font size
- meter: added
gradient
feature
- bug fixes
- ios: text input fields not editable
- editor
- mac: use
command
instead ofctrl
for multi widget selection
- mac: use
- bug fixes
- editor: when selecting another widget while editing a property, changes where applied to the newly selected widget
- widgets: css: @media queries parsing
- prevent some errors when synchronizing clients
- use command key instead of ctrl for zooming on mac
- clone: memory leak / freeze
- default client
- mac: disabled unsupported pinch zoom
- themes
- alt-buttons: modal font-weight & color fix; push button active state colored border
- added "responsive-fonts" theme
- editor
- allow multi widget resizing/dragging
- tweaked ctrl+click/right-click selection behaviors
- new "Wrap in" context menu
- bug fixes
- launcher: parse array options correctly when an item contains spaces,
- launcher: the terminal now grows and scrolls to bottom automatically
- editor: broken children reordering; children
list display bug with long
id
s
- main
- add
--fullscreen
switch (default gui only, bypasses the sidepanel fullscreen button) - added/updated some themes:
orange
,light
,dark
,alt-buttons
(the latter can be combined with other themes)
- add
- widgets
- knob: big knobs design tweaks
- new
default
property that sets a widgets initial/doubleTap/spring value. Thevalue
property does no longer serve this purpose. - new
bypass
property that disable osc messages (except when requested via/GET
and/EDIT/GET
) - panel: removed
noSync
property (backward compatible fallback tobypass
) - property inheritance:
@{widget_id.value}
,@{widget_id}
and@{widget_id._value}
now all refer to the widget's current value (the latter being kept for backward compatibility); If a property update triggers an osc message, it will now be sent after the other dynamic properties changes are resolved (such as oscaddress
,target
, etc) - text: added
align
andwrap
properties - input: added
align
property - sliders/xy:
doubleTap
can be an osc address to send a special message instead of resetting the widget's value
- editor
- allow selecting multiple widgets (
ctrl + click
) if they share the same parent. Context-menu and sidepanel editing actions apply to all selected widgets
- allow selecting multiple widgets (
- bug fixes
- property maths: variables names declared in a formula were replaced by their associated value if found in the formula's result
- missing console logs on windows
- ui
- add iOS fullscreen support via add-to-home feature
- editor
- ask for confirmation when closing or refreshing the page if the editor has been enabled at least once
- prevent default widget interaction when selecting a widget for edition
- widgets
- knob: small design tweaks
- misc
- remove proprietary ffmepg codec from package
- bug fixes
- macOs app menu & shortcuts
- bug fixes
- server/client communication errors
- prevent error windows from spawning
- main
- added some menu items on macOs (including "Quit" !)
Read the changelog carefully, old sessions files are likely to need some adjustements to work as they used to. Plots and input widgets had their widgetId
option removed because it was redundant with the generic linkId
property.
- bug fixes
- regression preventing dropdown to display no option selected
- crossfaders display issue on iOS
- restored compatibility options for server-client communications
- xy:
doubleTap
option - range:
spring
option - plot: crash when drawing only one point
- widget css: fixed @media queries @keyframes parsings
- main
- theme files changes are automatically applied
- server-client communication system rewritten -> HUGE latency reduction and stability improvement especially under stress conditions
- engine update ([email protected])
- widgets
- new svg plot widget
- switch: wrap non-array
values
property in an array - dropdown: wrap non-array
values
property in an array; always add a default empty value - property inheritance: added shorthand default to
_value
when no property is specified (@{widgetId}
); some properties can now be dynamically changed without recreating the widget entirely - property maths: added support for math expressions everywhere via
#{}
- input: add glass effect when
editable
isfalse
linkId
can now be set as an array of linkIds- plot: added
dots
options; removedpoints
options (usevalue
and property inheritance instead) - eq: removed
filters
options (usevalue
and property inheritance instead) - plot/meter/led/rgbled/text: removed
widgetId
option - input: removed
widgetId
option - math: deprecated
formula
widget
- bug fixes
- regression breaking modal's position in scrolled tab containers
- widget with a
touchAddress
set now send their touch-off message when removed or recreated while being interacted with - broken windows builds (long path issue)
- bug fixes
- plots now send their value to other widget for synchronization as expected
- text widgets now apply their target widget's precision
- property inheritance accepts targetting a parent widget by its id
- multiple icons not displayed correctly
- broken
--blank
option
- main
- added
--disable-gpu
option for disabling hardware acceleration (fixes rendering glitches and reduces input lag on some systems)
- added
- widgets
- inputs: new
keys
widget, for keyboard bindings - property inheritance: new special property name
_value
(retrieve the widget's value, and update when it changes) - switch: added
showValues
to display both values and labels in the buttons; array values can now be selected via osc - range: both handles can be moved by holding
shift
while dragging - rgb: removed
touchAddress
option - labels/texts: multiple white spaces are no longer merged
- plot: can receive stringified arrays of coordinates or stringified objects for merging coordinates sets; added
bars
option for drawing barcharts; - widgets'
precision
option allows setting a specific data type for numbers (sliders can send doubles !)
- inputs: new
- misc
- event system rewritten
- js build size reduced
- bug fixes
- sessions opened from command line with relative paths are now added to the history with their absolute path
- sending an empty message to a
text
widget resets it to its initial value and without ignoring itsvalue
property - sending no value to a widget with
preArgs
is now possible : all the arguments found in incoming osc messages are now taken into account to match the widgets in the session - regression breaking state quicksave from sidepanel
- engine
- downgraded to the latest stable electron release
- main
- added
zeroconf
/bonjour
publishing for the app's http and osc input ports - added
--instance-name
option to differenciate mulitple instances in zeroconf networks
- added
- widgets
- sliders/pads: holding
Ctrl
now enables high precision dragging with the mouse and bypasses thesnap
option - inputs: renamed
input
's propertyhorizontal
tovertical
to match how the widget actually displays - sliders: new
range
widget - plots: new
image
widget
- sliders/pads: holding
- remote control
- removed deprecated
/EXEC
- renamed
/EDIT_SOFT
to/EDIT/MERGE
- added
/EDIT/GET
(get a widget's data) - added
/GET
(get a widget's value) - added
/SET
(set a widget's value as if it was interacted with from the interface)
- removed deprecated
- bug fixes
- session/state: regression (0.21.2) breaking save-to-file function
- ui
- FontAwesome 5 (icon font) !
- bug fixes
- cli: broken long flag
--no-gui
- headless: when running with
node
, errors don't stop the server; when running withelectron
(default), errors are logged in the console instead of being showed in a dialog window - switcher widgets regression (broken)
- cli: broken long flag
- midi
- float values are now allowed and automatically rounded
- misc
- some code refactoring
- bug fixes
- visualizer: fix memory leak when editing; fix ignored
smooth
option - plots: regression preventing widgets with no
target
option from receiving messages sent by other clients
- visualizer: fix memory leak when editing; fix ignored
- main
- renamed
--sync
option to--send
(deprecation, backward-compatible)
- renamed
- widgets
- sliders/pads: when receiving feedback while touched, the widget waits to be released before updating to the latest received value.
- input: the widget's value is no longer validated when leaving focus by clicking somewhere else or hitting the
Tab
key (it must be submitted by hitting theEnter
key); when submitting a value to another widget, the feedback from this widget doesn't trigger a second osc message anymore; non-editable inputs can't steal focus anymore - added support for
null
value intarget
option to disable osc sending
- misc
- property fields are now parsed using JSON5, a more flexible notation. Session files are still written in standard JSON format, this is just a way to avoid typing mistakes when using the editor.
- remote editing also accepts JSON5 notation
- bug fixes
- allow loading
.json
session files from the launcher
- allow loading
- launcher
- new log/error console (shows once the app is started)
- bug fixes
- pads: regression breaking the built-in input
- multifader: inverted order in horizontal mode
- widgets
- plots: add
smooth
option (thanks to cardinal-spline-js); draw thicker lines - pads: draw thicker inner circle
- plots: add
- mobile
- prevent devices from entering sleep mode
- bug fixes
- error popups not created
- misc
- rename sessions files to
.json
- rename sessions files to
- breaking changes
- sessions are now saved as
.json
files by default (the deprecated.js
extension can still be opened). - states are now saved as
.state
files (the old.preset
files can be renamed without any problem)
- sessions are now saved as
- bug fixes
- touch release event is properly dispatched in traversing containers (ie keyboards and matrices) (#94)
- widgets
- css
border-radius
support enhanced - css
color
applies locally while--color-text
applies to children too - plot/text: new lines are properly printed
- css
- packaging
- added
arm64
binaries
- added
- iOS
- compatibility improved (version 9.3 and above)
- engine
- electron 1.8.0 (chrome 59)
- hot fix
- broken formula widget
- launcher
- fixed typo in new version message
- misc
- client-side javascript's size reduced, now for real !!
- bug fixes
- buttons: changing
css
background works as expected - widgets: changing
css
(text) color works as expected - fader: fix hidden input in horizontal + compact mode
- pads: pips scaling bug
- buttons: changing
- widgets
css
font-sizes apply correctly to all children (better use percents)- formula: add
unit
option
- misc
- client-side javascript's size reduced !
- bug fixes
- midi: noteOff messages not being sent;
- bug fixes
- lobby: regression breaking the lobby for touch devices
- bug fixes
- launcher: load correct font
- midi: python3 compatibility fix
- ui
- general design improved, heavily inspired by budislavTVP works; color schemes are much simpler and easier to customize (try
--theme light
!); Font changed to Roboto; Texts are slightly thicker and uppercased in most cases for better readability (use csstext-transform:none
to disable the latter).
- general design improved, heavily inspired by budislavTVP works; color schemes are much simpler and easier to customize (try
- widgets
- fader: added
dashed
option; addedinput
option; - meter: added
alignRight
option; addeddashed
option; - knob: removed
compact
option; addeddashed
option; addedinput
option; - xy/rgb: added
input
option; addedpips
option: - panel/strip: removed inner widgets dark borders; added
border
option; - buttons: new
dropdown
widget; - toggle: added
led
option to choose between the old appearance and the new one; addeddouleTap
option - new
input
widget - containers: new
clone
widgets - added support for
"self"
value intarget
option (sends the message back to the clients, useful for sending/EDIT
messages...)
- fader: added
- editor
- option fields are now multiline (
ctrl + enter
to add a new line), and pretty printed - added checkboxes for boolean options
- added
Edit Parent
context menu option
- option fields are now multiline (
- midi
- replaced
pyo
dependency withpyrtmidi
: lighter, dedicated to midi only, and handling virtual ports (nomididings
dependency anymore) - pitchbend value is now a single integer between 0 and 16383
- replaced
- bug fixes
- fixed VisualFormat errors in iOS
- main
- added
--url-options
command line option - fixed
--disable-vsync
not working when starting from the launcher
- added
- documentation
- new style, better organization
Sessions saved with this version will not be readable with older versions (old sessions a can be opened but wont be backward-compatible once saved).
- widgets
- add property inheritance between widgets with statements
@{parent.propertyName}
,@{this.propertyName}
and@{widgetID.propertyName}
- containers: added
variables
options (arbitrary varibles to pass to children) - panel: added full osc support (for sending/receiving tab changes)
- modal: changed style to fit popups' appearance; added
popupWidth
andpopupHeight
options;⚠️ removedtabs
option; added full osc support; addeddoubleTap
option (makes it openable with double taps instead of single taps) - strip: refactored widget using
panel
as base; addedstretch
andspacing
option; now it's really cool - sliders: added
doubleTap
option (double taps reset the widget to its initial value when enabled) - knob/fader: renamed
noPip
option topips
(inverted behaviour; backward compatible) - encoder: mousewheel support
- knob: compact design remake
- add property inheritance between widgets with statements
- bug fixes
- sliders: fixed
spring
whenvalue
equals0
- modal: fixed osc values (was
True
/False
instead of1
/0
)
- sliders: fixed
- session
- the root panel is now saved as a special
panel
widget (which means it has savable options)
- the root panel is now saved as a special
- custom module
- add access to the app's
settings
object
- add access to the app's
- bug fixes
- regression breaking widgets'
split
option (0.17.6) - regression breaking the state export button (0.17.7)
- regression breaking editor's
cut
action (0.17.7)
- regression breaking widgets'
- osc
- javascript object are now stringifyied before beeing sent
- widgets
- maths: add
condition
option toformula
- sliders/pads: add
touchAddress
option - fader: add
meterAddress
- maths: add
- engine
- socket.io v2
- client
- scripts are now transpiled to ES5 javascript code, thus increasing compatibility with some browser (iOS9's chrome, firefox, etc)
- scripts size reduced from 2.4M to 1M thanks to minification
- bug fixes
- elements duplications in sidepanel when loading another session
- main
- osc sending speed optimization: all static infos (target, address, preArgs) are cached server side to reduce network overhead
- widgets
- new encoder widget
- mobile
hdpi
support (add?hdpi=1
to the server's url)
- bug fixes
- launcher: link to the app's address is now clickable
- sidepanel: layout glitches with iOS
- midi:
program
now works with the correct number of arguments
- misc
- some little style fixes
- bug fixes
multixy
snap mode position offset
- widgets
- new
rgbled
- new
- bug fixes
- broken
--blank
option fixed (false-positive detection of concurrency with--read-only
) - remove debug message in console when closing windows
- broken
Hot fix for --read-only
switch.
Dependencies updates.
- bug fixes
editor
: correctly remove editing state when disabling the editor right after going to another tab
- main
- new
--read-only
switch for disabling the editor and preventing change to the session history
- new
- widgets
panel/modal
: addlayout
option (Visual Format Language)css
option now interprets&
as a selector for the widget's element itself (useful for targetting pseudo-elements such as&:after
)plots
: addwidgetId
option totext
,meter
andled
- bug fixes
midi
: missing dependencyheadless
: terminatemidi
correctly when process exits
- main
- new
midi
support (documentation)
- new
- ui
- new
/TABS id1 id2 etc
osc address to remotely enable tabs - remote editing through
/EXEC
command is now deprecated, use/EDIT
and/EDIT_SOFT
instead
- new
- bug fixes
push
widgets (andkeyboards
) not correctly synchronizing each other (with shared widget ids or between different clients)
- widgets
css
option now supports css selectors, scoped to the widgets elementmatrices
don't passcss
option to their children anymore; subwidgets' indexes are now append topreArgs
instead of being prepended.
- misc
- app's title uppercased
- tabs titles' letter-spacing increased
- bug fixes
modal
: correct z-stacking with absolutely positionned widgets; proper rendering for inner widgets; disable parent tab's scrolling when opened; fix various style glitches;strip
: resize glitch when containing compact horizontal sliders
- bug fixes
- tab links broken after activating traversing gestures
push
release is now handled per touch point (releasing one finger used to release all pressed buttons)
- misc
- destroy default client window when the app process exits
- bug fixes
- crash when remote-editing widgets in disabled tabs
- desktop client touch screen support restored
- bug fixes
- string arguments overquoted in sent osc messages
- custom module
- added support for initialization script
- unified expected formatting in sendOsc and receiveOsc methods
- ui
- reduced scrollbars width
- new logo :)
- bug fixes
- editor: new widgets are correctly positionned in scrolled areas
- widgets
- new
formula
widget, a mathjs expression evaluator that can process other widgets' values multixy
supports named points; fixed drag-dead zone in the border
- new
- widgets
- multifader: add
snap
option
- multifader: add
- misc
- minor css-related performance fix
- some titles in the editor had the first-letter uppercased
- style
- improved coherence, no more pure greys, better differenciation between clickable and static elements. Went back from "pure flat" to "flatty" to help with that (ie a few shadows to make layout more self-explanatory). Some widgets were slightly repimped.
- bug fixes
push
: options separators not hidden in the editor- error when touching a non-interractive object while touching a widget with the other fingers
- widgets
multixy
now behaves smarter: points are assigned to the closest touch points
- main
- modifying a session file will automatically update clients that have loaded the same file
- bug fixes
- some layout regressions in chrome v49
- main
- osc input port (
-o
) is now set to the http port (-p
) by default
- osc input port (
- widgets
- new
crossfader
andswitcher
widgets that store and recall the state of other widgets matrices
now accept multiple color values (that will be sequencially passed to their children)switches
accept icons in their values' labels
- new
- engine
- electron v1.4.13
- misc
- all widgets classes were rewritten using ES6 class expressions
- firefox's minimal version is now 46 because of a ES6 related bug (note that it's still not officially supported)
- bug fixes
- regression preventing received osc messages to be properly routed to widgets with
preArgs
- regression preventing received osc messages to be properly routed to widgets with
- debug
- errors occuring in the browser process are now piped to the main process' console with the source file name and the line number.
- main
- new
-b / --blank
option to start editing a new session directly - new
--disable-vsync
option that improves performance (reduce input lag) on some systems - some inconsistent parameter combinations are now prevented
- firefox compatibility improved (yet not perfect)
- launcher window is no longer of the
splash
type, as it was difficult to close with some window managers
- new
- widgets
- new
modal
container : a button that turns into a fullscreen panel when clicked. - sliders/xy: add
spring
option that makes that widget jump back to its initial value when released - fader: horizontal mode default height fixed
- keyboard: black keys pressed state is more noticeable
- matrices: added
start
option to choose the first subwidget'sid
- labels' height reduced
- new
- editor
- new snap-to-grid feature
- widgets' min-width set to grid's width
- misc
- building with node 4 is fixed
- bug fixes
- error popups raised by the main process can be closed
- sliders don't send same value over network when the value change is below the widget's precision
- widgets
- new (piano) keyboard widget
- matrices: fixed
preArgs
option; addedsplit
option (default tofalse
), this changes the default osc messages formatting for these widgets - icons in labels are inserted using the
^
prefix - text: icons support in value
- tabs
- icons support in label
- misc
- fontawesome update (4.7.0)
- widgets
- meter: rewritten using fader as base
- strip: center widget horizontally if width is set
- fader/knob: compact gauge's alpha varies slightly as the distance to the origin grows
- misc
- one example session added
- bug fixes
- [regression] broken horizontal fader and pads
- bug fixes
- fader: default
height/width
not set whentop/left
isauto
- fader: default
- widgets
- knob: gesture's precision is proportionnal to the widget's size
- fader:
height:auto
(orwidth
forhorizontal
mode) makes the fader expand automatically
- ui
- cleaner forms in editor and launcher
- touch
- using multiple fingers to control a widget increases the precision (reduces the gesture's computed speed)
- widgets
- fader: display pips in
compact
mode whenrange
has multiple breakpoints - pads: display pips when
range
has multiple breakpoints - multixy: style update (stroked dots, bold number font);
snap
option added; points are automatically assigned to touches as they come; fixlogScale(X|Y)
options
- fader: display pips in
- bug fixes
- meters in faders were not always properly positionned
- widgets
- knob: gauge's width is proportionnal to the knob's size in
compact
mode; widget's content centering fixed;compact
style update;
- knob: gauge's width is proportionnal to the knob's size in
- bug fixes
-g / --no-gui
not preventing the launcher from spawning-e / --examples
not correctly parsed
- main
- launcher displays options descriptions for booleans too
- widgets
- added generic
value
option for setting a widget's initial value (does not sync linked widgets nor send osc message) - text widget's
defaultText
replaced withvalue
- multixy dots are drawn with filled background instead of stroke
- added generic
- main
- launcher displays new version if available
- launcher stays opened after starting the server and/or the gui except if
--gui-only
is set
- main
- launcher: resetting boolean option properly sets it to false
- launcher: display package's version
- guis: adjust window's background to match the app's
- ui
- launcher and session lobby appear more smoothly
- main
- when executing the app with no CLI argument, a launcher window is created allowing user to adjust settings before starting the server (config is saved in the user's directory)
- bug fixes
- rgb: minor visual glitch on extreme value, drawing performance improved
- main: examples sessions path are properly stored as absolute paths (fixes
-e / --examples
mode)
- ui
- lobby: session file names are diplayed first, then shortened paths
- misc
- widgets
precision
doesn't affect their visual interraction accuracy since values are now rounded only before osc sending
- widgets
- bug fixes
- [windows] fix long path issue (#35) returns
- main
- new
-c / --custom-module
switch allowing user to define custom osc filtering fonctions address
is now used everywhere instead ofpath
to describe osc address to avoid confusion. Session files using the oldpath
option for widgets are still supported.- osc bundles are properly received (subsequent messages are processed separately with a delay if the timetag is set)
- widgets can be edited via osc messages using the special
/EXEC
address
- new
- bug fixes
- [windows] fix long path issue (#35)
- widgets
- multiXy: added
pointSize
option; made default size bigger; points don't overflow the pad anymore
- multiXy: added
- widgets
- new
multixy
pad
- new
- misc
- rewritten
pads
with prototype inheritance and using faders under the hood to handle events (this adds fader'srange
capabilities to xy)
- rewritten
- engine
- electron 1.4.4
- bug fixes
- scrollbar arrows not showing
fader
pips position whennoPip
istrue
- widgets
- matrices : all
fader
,push
andtoggle
options are now available tomultifader
,multipush
andmultitoggle
- matrices : all
- bug
- avoid crash when sending osc with incorrect typetags
- fixed fallback typetag ('s')
- fixed broken
null
value forpush
&toggle
- bug
- broken
fader
withhorizontal
set totrue
andcompact
set tofalse
- broken
- widgets
- remove margins from
plots
- added
origin
options toplots
- remove margins from
- main
- the headless server/clients model is now the only one beeing used : the GUI mode is nothing more than an embedded chromium (electron) client
- when a new client opens a session on the server, it is synchronized with the other clients
- new switches :
--no-gui
,--gui-only
,--port
,--osc-port
,--version
(see docs)
- ui
- explicit loadings
- widgets
- make push's backlight only respond to external osc messages (not to synchronization messages from other widgets or clients)
- removed special
false
value case for push/toggles (which used to disable osc sending) - add
norelease
option topush
for disabling osc messages when releasing the button true
andfalse
values are now properly sent as boolean- args type definition in
preArgs
option now uses the osc typetags only ('f', 'i', 'T', 'F', etc)
- engine
- electron 1.4.3
- misc
- rewritten matrices with prototypes inheritance
- bug fixes
- osc messages with 0-item and 1-item args are correctly unpacked and routed
- buttons can handle messages with 0 arg if one of their state has the value "null"
- ui
- nice and bigger scrollbar
- right-click no longer starts a dragging gesture
- editor
- copy/paste data auto-incrementation fix
- widgets
- new equalizer plotter
- push/toggles made more obvious
- knob's new options: angle and origin
- fader's new option: origin
- engine
- electron 1.4.1 (chrome 53, node 6.5.0)
- misc
- added
--examples
switch for showing the availabe example sessions instead of the history - rewritten sliders and plots using canvas and prototypes inheritance
- reorganized package using the two-package.json structure: js and css assets are now create at build time, and only necessary dependencies are shipped with the app
- added
- bug fixes
- regression (since 498ba4a06adf63d76fe7181691299c1cc55e8240) breaking the editor on touch devices
- cool stuff
- armv7l prebuilt binaries ! (raspberry 2, etc)
- engine
- electron 1.3.5
- bug fixes
- editor: widgets/tabs can be accessed through their parent's children list (#27)
- engine
- electron 1.3.1
- bug fixes
- pasted widget properly use the pointer's position
- traversing gestures are effective from the first touch, not after the first move
- out-of-range values are properly clipped by faders/knob
- ui
- Faders & Meters design improved
- The main font (droid sans) is now loaded...
- Knob's sizing got smarter
- Widgets don't blink not jump when they appear for the first time or when they resize
- misc
- Fader's
align
option replaced with boolean optionalignRight
- Widget's
label
now accepts special directiveicon: fontawesome-class
to display icons from FontAwesome - Text widget
defaultText
option added
- Fader's
- engine
- electron 1.2.2
- bug fixes
- [desktop] menu bar auto-hide
- [headless] multitouch support
- ui
- [mobile] better faders pips rendering
- fixed horizontal fader knob centering
- [mobile] better numeric inputs rendering (not blurred anymore)
- engine
- [desktop] electron 1.2.0 (chrome 51)
- bug fixes
- [again] touch fake-right-click only fires on long touch, not after every tap
- traversing gestures bug with touch
- misc
- better mouse/touch drag events handlers
- engine
- electron 1.1.1
- bug fixes
- touch fake-right-click only fires on long touch, not after every tap
- bug fixes
- feedback is now handled precisely by widets (ie not rounded according to the
precision
option, see issue #21)
- feedback is now handled precisely by widets (ie not rounded according to the
- engine
- electron 1.1.0
- bug fixes
- touch/mouse events are both handled simultaneously, module rewritten for better performances (see issue #18)
- engine
- electron 1.0.2
- bug fixes
- regression preventing newly created widgets from using the pointer's coordinates as position
- add 0.4.7's fix to headless mode
- bug fixes
- regression causing widgets with
preArgs
to not receive osc correctly
- regression causing widgets with
- engine
- electron 0.37.6
- node-osc 2.0.3
- features
compact
option added to knob and fader- if an osc input port is specified, osc messages will be sent from it. This enhances compatibility with apps that send their feedback messages directly to the sender.
- misc
- mouse/touch dragging handler rewritten, now using event delegation and direct handler calls instead of DOM event bubbling whenever it's possible
- engine
- electron 0.37.3
- ui
- new logo
- better lobby design
- misc
- renamed sliders/pads'
absolute
property tosnap
- renamed sliders/pads'
- bug fixes
- [headless] scripts are no longer bundled on the fly, it didn't work on some systems
- touching widgets without changing their value doesn't make them send the same value again anymore
- ui
- slightly tightened layout
- features
noPip
option added to knob and faderpreArgs
accepts object if the arg's type needs to be specified- knob supports breakpoints scale, same as fader's
- fader and knob pip scales now support custom label
- a push/toggle's value can be set to
null
if only the path needs to be sent in the osc messages - push buttons do not update their own leds and return their value (for state save and widgets sync) based on their last changed property (led state or touch on/off)
- misc
- refining the fader's pip scale that looked choppy on mobile devices. All pips are now evenly spaced, not relatively to the fader's height.
- [desktop mode] saved sessions are added to history
- features
- text widget can be
vertical
- panel widget
scroll
option
- text widget can be
- bug fixes
- smart pasting now works when the clipboard contains several widgets whose unsuffixed ids are the identical
- osc received array that contain only one item are correctly unpacked (fixes cross-app sync for widgets that don't accept array, broken since the introduction of
preArgs
) - memory leak when loading a new session (cached tabs were not properly purged)
- misc
- push widget doesn't fire its 'on' value if pressed while stuck in 'on' position
- panel widgets don't have inner margins anymore
- fader widget optimization : the pip scale is generated from a single gradient plus some elements for each breakpoint (instead of one element per percent), thus reducing the number of elements to draw.
- features
- new widget : text (just displays received values)
- bug fixes
- widget linking doesn't cause multiple unwanted osc sends anymore
- features
preArgs
option for widgets (prepends constants to osc messages args)
- engine
- electron 0.37.2 (chrome 49)
- ui
- new flat ui
- tab system rewritten : inactive tabs are detached from the DOM tree, thus improving performances while slowing down tab switching.
- widget categories in editor's context menu
- features
- logarithmic scaling (log10) support added to knob, fader & xy
- mousewheel support added to knob and fader (ctrlKey for fine control)
- new widgets : plot, visualizer & meter. Fader built-in feedback meter option
- traversing gestures switch in sidepanel
- custom color property for all widgets with inheritance (containers)
- editor pasting function now smartly increments widget's id and path while keeping label if different from default
- true theming support
- misc
- sync/link event handling improved
- stylesheets cannot be recompiled on the fly anymore (
--c
switch removed) - new state save file format, no backward compatibility
- electron updated to 0.36.11
- editor paste menu lets you choose between
Same ID
(cloned widgets) orNew ID
(resets id, label, linkId, and path) - minor style updates
- 3 new widgets
- multifader
- multitoggle
- multipush
- style update (push/toggle widgets, widgets' dragging handle)
- widget dragging/resizing doesn't get broken when editing the root
- sidepanel toggle doesn't select root for edition anymore
- editor code rewriting
- right-click context-menu quick editing (widget copy/cut/paste, add & delete tabs/widgets)