jean-emmanuel / open-stage-control

Libre and modular OSC / MIDI controller
https://openstagecontrol.ammd.net
GNU General Public License v3.0
695 stars 88 forks source link

[Bug] Dynamic steps #832

Closed CtrlZ-Music closed 10 months ago

CtrlZ-Music commented 10 months ago

Trying to add the following code to a fader

{@{range_emsStepsEvents}[1]-1}

and get this error :

Uncaught RangeError: Invalid array length at this.getProp (src/client/widgets/sliders/slider.js:242:20) at super.onPropChanged (src/client/widgets/sliders/slider.js:255:21) at this.reCreateWidget (src/client/widgets/common/widget.js:975:21) at propNames.some (src/client/editor/data-workers.js:26:32) at this.select (src/client/editor/index.js:53:36) at this._listeners[evt].slice (src/client/events/event-emitter.js:36:29) at JSON.parseFlex (src/client/ui/ui-inspector.js:318:13) at dispatchEvent (src/client/dom.js:32:16) at onKeydown (src/client/ui/ui-inspector.js:339:20)

jean-emmanuel commented 10 months ago

This happens because #{@{range_emsStepsEvents}[1]-1} doesn't return a positive number, (eg. NaN when @{range_emsStepsEvents}[1] is undefined), you should provide a fallback value to prevent the error. I'll prevent the error in next release though.

jean-emmanuel commented 10 months ago

Fixed in sources.

jean-emmanuel commented 10 months ago

Fixed in 1.25.5