Max 9.0.5 / RNBO 1.3.4 Released

Ben Bracken's icon

We are happy to announce the release of Max 9.0.5 and RNBO 1.3.4. This update features 40+ new features and 175+ fixed bugs. This update focuses on Max for Live stability in the context of Live 12, fixes for Max 9 features, improvements to Jitter, and much more. This Max update also includes RNBO 1.3.4, also released today.

You can download the update here:
https://cycling74.com/downloads

The full list of improvements are below, or on the release pages:
Max 9.0.5:
https://cycling74.com/releases/max/9.0.5

Happy patching!

Max New Features

  • abl.device.spectralresonator~: new object

  • abl.device.spectraltime~: new object

  • crosspatch: shift-click-drag to change gain on multiple connections

  • curve~ / line~: activeout attribute to add "ramp active" signal outlet

  • dial / slider: inputrangemode attribute (improves Param Connect behavior)

  • gamepad: addmapping and addmappingfile support

  • jit.gl.pass: motionblur-hq pass effect

  • jit.gl.slab: PREV_VIEW_PROJECTION_MATRIX to compute velocity vectors etc

  • jit.gl.textureinfo: object to report texture planecount, type, dimensions

  • jit.gl.textureset: dumptextures message

  • jit.grab: uniqueid to disambiguate between identical connected devices

  • jit.ui*: getarrayfromlist for position attribute

  • jit.ui*: added default position

  • jit.ui*: added rounded corners for slider

  • KeyMidi Extra: octave is displayed / velocity can be changed with c/v keys

  • live.gain~: thickness attribute to set width of each channel's meter

  • live.line: orientation attribute

  • live.meter~: added 'disabled' option for @clip_size attribute

  • live.meter~: drawpeakhold attribute (defaults to on)

  • live.thisdevice: use_mpe_tuning attribute

  • matrix / matrix~: exclusive attribute for use with crosspatch

  • MC: spread* messages take optional exponent argument a la scale

  • mc.live.adsr~: MC version of live.adsr~ officially supported

  • mc.live.gain~: channel limit is now 1024

  • mc.range~: bang message, non-signal outputs, exp attr

  • mousestate: support for middle, right mouse buttons & scroll wheel

  • Patcher List View: parameter / mapping filters

  • Preferences: added pref to set default value of Snap to Pixel patcher attribute

  • Preferences: global scale factor

  • Preferences: logtosystemconsole and loglevel Logging preferences

  • Preferences: Syntax Coloring option for 'Default Text Color Only'

  • preset: dirty attribute to dirty patcher on slot save

  • ramp~: accepts notevalue syntax (except BBU)

  • RNBO: updated to v1.3.4

  • thispoly~: automute attribute for simpler voice allocation / muting

  • twist~: new implementation using a table lookup

  • UI objects: valuepopup and valuepopuplabel attributes to display value in a popup

  • v8 JitterListener: access to Jitter mouse button state

  • v8: relative path syntax support for include/require/etc

  • v8: require/include files added to Projects / Devices

  • vst~: Param Connect support

  • waveform~: zoomthresh and zoomstyle attributes for line drawing instead of interpolated drawing

Max Fixed Bugs

  • ABL objects: lower minimum oscillator freq from 20 to 0 Hz

  • abl.device.compressor~: increased max output gain

  • abl.device.drift~: @osc2enable now correctly enables osc 2, not osc 1

  • abl.device.echo~: duck attribute works

  • abl.device.echo~: fixed 'class_attr_addattr' error message

  • abl.device.limiter~: misc improvements

  • abl.device.roar~: fixed instantiation crash

  • abl.device.roar~: modulation is bipolar (a la Live)

  • abl.device.spectralresonator~: fixed @voices range

  • abl.device.spectraltime~: @freeze_mode respected when @resolution changes

  • abl.dsp.overdrive~: accepts 'midfreq -1' message (ABL enum safety improvements)

  • Authorization: fixed issues with machines using multiple primary ethernet adapters

  • bpatcher: fixed potential crash when closing embedded bpatcher window

  • chooser: hint and annotations work in background without cells

  • Clues: Toolbar + Autohide fixed to hide background as well as text

  • crosspatch: selecting already selected patch cord doesn't unselect others

  • Database: fixed potential hang on launch

  • Database: improved fix for error when defining substitution

  • dict: setparse correctly parses arrays and string

  • drunk: fixed setting negative step size with argument

  • drunk: removed accidental right inlet

  • DSP: fixed crash when enabling local audio from a subpatcher

  • Event Probe: component size changes when text size changes

  • function / preset: recallmulti support

  • function: shadow draws correctly when classic curve is set to 0

  • Gen codebox: reference opens

  • Gen: fixed unnecessary 'bad number' warnings

  • groove~: loopinterp is disabled if loop is off

  • hid: disable info output on instantiation

  • Inlets / Outlets: improved consistency in how to set hints / labels / categories

  • Inspector: fixed potential crash when typing in inspector search field

  • ioscbank~: no longer clicks when using external buffers

  • jit.anim.drive: fixed ui_key message handlers

  • jit.anim.drive: fixed ui_listen when used in Javascript

  • jit.anim.drive: improved behavior with jit.gl.camera @tripod 1

  • jit.anim.drive: ui_map functions the same as ui_map_clone

  • jit.desktop: fixed alpha value calculation

  • jit.fx transitions: fade is clamped to wipe

  • jit.fx.*: fixed errors with some objects on Windows

  • jit.fx.an.mean/min/max: adapts to input type

  • jit.geom.texgen: @planenorm is appropriately normalized

  • jit.geom.tomatrix: texcoords passed as expected

  • jit.gl.camera: fixed viewport leakage

  • jit.gl.handle / getattr: fixed crash when setting jit.world visible to 1

  • jit.gl.handle: works inside jit.gl.node with jit.gl.camera attached

  • jit.gl.lua: fixed no state errors

  • jit.gl.mesh: fixed crash when exporting empty geometry

  • jit.gl.mesh: fixed usage of jit.gl.buffer type color input

  • jit.gl.meshwarp: fixed bug with empty read message

  • jit.gl.meshwarp: fix show_ui with enable logic

  • jit.gl.meshwarp: fixed console errors in help patch

  • jit.gl.node: capture works with multiple cameras in parent

  • jit.gl.node: fixed multi-drawto usage

  • jit.gl.pass: bloom-hq added tonemapping and gamma_correction attributes

  • jit.gl.pass: gi ReSTIR updates

  • jit.gl.pass: removed support for quality lo

  • jit.gl.plato: fixed potential crash on Windows

  • jit.gl.slab: fixed errors when opening help patcher

  • jit.gl.texture: 'clear' message documented

  • jit.gradient.ui: can't create a new pointer on top of an existing one

  • jit.gradient.ui: fixed mouse offset when selecting pointers

  • jit.gradient.ui: fixed potential crashes

  • jit.gradient.ui: now uses the v8 engine

  • jit.movie: 'read' works when triggered from udpsend

  • jit.phys.body: concave shape picking fix

  • jit.scalebias: @bias and @scale visible in inspector / attrui

  • jit.ui: fixed bug with image button not appearing when resizing

  • jit.ui: fixed console error when saving patcher

  • jit.ui: fixed default random name for group

  • jit.ui: fixed group issues with collapse/expand clickable area and scaling

  • jit.ui: fixed issues with object that have no @canvas attr set

  • jit.ui: fixed label_line_length attribute

  • jit.ui: fixed roundness_corner attr application on patcher load

  • jit.ui: group improved behavior for enable attribute for objects in groups

  • jit.ui: improved slider precision_int

  • jit.ui: objects will keep working after jit.world @visible is toggled

  • jit.ui.group: improved mousing

  • jit.ui.group: position is recalled correctly via pattrstorage preset

  • jit.world: rotatexyz update attrui / getattr when changed via jit.gl.handle

  • Jitter Shader objects: fixed 'read' message with no argument

  • JS JitterListener: receives matrixoutput events as expected

  • js: fixed crash on snapshot or pattrstorage recall when patch contains jsui

  • js / v8: Image class fixed reading file from collective/amxd

  • jweb: cursor works with offscreen + transparent background

  • jweb: fixed crash when clicking on object in locked patcher

  • jweb: fixed offset when hi dpi is disabled (Windows)

  • keyup: works with extended keys (fe: number pad keys) (Windows only)

  • list.* objects: correct help patchers open

  • live.* UI objects: cannot be changed while being remote controlled

  • live.grid: eliminate crashing when value is changed from timer and UI threads

  • live.scope~: improved drawing

  • Mapping: MIDI scaling improvements with integer output

  • Max for Live Parameters: value not changed to initial value on save

  • Max for Live transport: fixed rounding errors

  • Max for Live: fixed 'setparamactive' error

  • Max for Live: fixed duplicate key event and focus restoration issues

  • Max Version: fixed build number for externals / Win FileVersion

  • MC: fixed issues with channel count when non-MC objects are connected

  • MC: fixed issues with some objects i/o assist strings

  • mc.abl*: reference pages work

  • mc.function / preset: supports two point interpolation

  • Messages to DSP: Audio Preference Window is updated

  • mgraphics: fixed mgraphics_user_to_device and mgraphics_device_to_user

  • MIDI Tester: fixed RT number box range

  • MIDI: fixed disambiguation when reading in driver names (macOS)

  • MIDI: prevent dropped messages during high message density

  • Modify Read Only: fixed potential crash when unlocking

  • multislider: added 'mouse-up only' option to @contdata

  • multislider: fixed issues with knobshape 'rounded'

  • multislider: preset nodes / recallmulti improvements

  • multislider: restored 23 candycane colors

  • node.script: fixed crash on script npm install with no js file

  • Param Connect: dial & slider min / max set correctly

  • Param Connect: fill all parameter values

  • Param Connect: fixed bad text strings

  • Param Connect: improve unit style behavior

  • Param Connect: param default is used for initial value of UI object

  • Patcher Contextual menu: Paste From appropriately shows active snippets

  • Patcher List View: improved jsui and v8ui display

  • pattrstorage: improved dirty usage

  • phasor~: fixed MFL / gen~ distortions and irregularities

  • phasor~: improved stability when changing time signatures and locked

  • phasor~: improved sync when locked and using notevalue time format

  • phasor~: negative tick values work as expected in Max for Live

  • playlist~: continue playing an already-playing source file if replaced via snapshot

  • playlist~: fixed issues with sequential messages

  • playlist~: fixed mode 3 normalized sync behavior

  • playlist~: improved hint and annotation display

  • playlist~: improvements to parameter recall on load

  • poke~: fixed float writing when audio is on

  • poly~: don't show (poly~) in titlebar if title has been set explicity

  • Preferences: Add Patcher to Search Path link in obtrusive error works

  • Preferences: improved Clue Bar preferences

  • preset: list attribute saved / recalled property

  • radiogroup: @selection can be typed into new object box

  • REPL: silenced some uninformative errors

  • RNBO Sidebar Ref: disallow drag for Fixed Attributes

  • Save as Project: saves correctly when patcher name includes a dot (Mac)

  • Search Path: error shown when adding too many search path items

  • Search Path: improved fix for issues with Japanese characters in paths

  • sfplay~: fixed argument corruption when using sync outlet and 64 chans

  • sfplay~: improved sync time position

  • Signal Probe: patchcord contextual menu appropriately draws over probe popup

  • Snap to Pixel: snaps when sizing objects

  • Snippets: fixed View in Browser

  • Text Editor: monaco editor no longer opens window when external editor is set

  • Themes: syntax colors are set correctly when changing Theme

  • Toolbars: fixed potential crashes

  • tri~: no longer outputs NaN when duty cycle is 0. or 1.

  • updown~: fixed lag when switching input ramp rate

  • updown~: fixed stall when loop sync output is very small

  • v8 / v8ui: enabled 'Edit Source' entry in Object Action Menu

  • v8 jit.proxy: return output for messages

  • v8 loadbangdisabled: works

  • v8 MaxobjListener: ensure targets are registered

  • v8 MaxobjListener: fixed crash

  • v8: accepts large messages

  • v8: fixed crash in LiveAPI callback

  • v8: fixed crash when assigning a typed array to a global object

  • v8: fixed crash when attempting to call a non-function variable

  • v8: fixed getattrattr

  • v8: fixed issues with setting assist string

  • v8: fixed memory leak

  • v8: fixed outlet_dictionary issues when called from another function

  • v8: max.frontpatcher works

  • v8: ParameterListener added

  • v8: patcher attribute is compatible with box patcher attribute

  • v8.codebox: array output works in bpatchers

  • VIDDLL: jit.record cache_size is now obsolete

  • vst~ / live.grid: improved behavior when reading values / writing pattrstorage presets

  • vst~ / pattrstorage: improved interp recall

  • vst~: object box retains size when duplicated

  • waveform~: use 0 instead of wrapping past the end of bufffer contents

  • what~: works at higher phasor~ frequencies

  • Windows Icon: made larger

  • Windows Taskbar: no longer show second Max icon

  • Zoom: pinch to zoom works below 100%

RNBO Fixed Bugs

  • AU Plugin Export: fixed MIDI chunking issues

  • gen~: fixed issues with variable names with dot characters

  • multibuffer~: fixed crash when deleting object when referencing @buffers

  • Param Connect: fixed potential deadlocks / crashes

  • Parameters: fixed potential deadlocks in the context of Max for Live

  • RNBO Runner: sysex input works as expected

  • Web Export: fixed TypeError after calling setPreset()