Max 8.3 Released
Apr 26 2022 | 5:08 pm
We are excited to announce the release of Max 8.3!
With 80+ new features and 110+ bug fixes, Max 8.3 offers many improvements to MC, support for 64-bit audio formats across objects that deal with audio files, adds a collection of 20+ new objects to enable creative music making with signals, and a whole lot more.
As always, you can download the update here:
https://cycling74.com/downloads
You can check out an overview of Max 8.3 features here:
https://www.cycling74.com/products/new-in-max
For a full list of all Max 8.3 improvements, check out the change log below, or here:
https://cycling74.s3.amazonaws.com/support/version_8_3_0.html
Happy patching!
Ben & Cycling '74
New Features:
• adsr~: 'triggermode' attribute
• attrui: 'storeinpreset' attribute which defaults to enabled (also applies to pattr)
• attrui: name and value can be saved/restored via preset / pattrstorage & can be parameterized
• buffer~: 'dither' attribute for write operations
• buffer~: 'readraw' message
• chooser: 'keynavigate' attribute
• click~: number message for scaled impulse
• clip / clip~: mode attribute to zero outside of boundaries
• crosspatch: patching editor for matrix-style routing objects
• Edit->Copy Attributes: new menu command
• File Support: exr file support
• frame*~ fft objects: added 'clear' message
• gate, switch, selector~, gate~: 'next' message to iterate through connections
• gate~ / selector~: 'ramptime' attribute
• jit.gl.cubemap: 'gamma_correction' option
• jit.gl.cubemap: added 'type' and 'autotype' attributes
• jit.gl.cubemap: equirectangular format import and conversion
• jit.gl.light: hemisphere light type
• jit.gl.meshwarp: masking mode
• jit.gl.meshwarp: texture output
• jit.gl.pass: @fxname gamma
• jit.gl.pbr: Generate physically based rendering materials for 3D objects
• jit.gl.texture / jit.matrix: image file drag support
• jit.gl.texture: new colormodes (srgb, srgb_alpha)
• jit.gradient.ui: GUI for creating 1-dimensional gradient matrices
• jit.openexr: supports js usage, added output file attr, exr drag support, file read notifications
• js: Rx256 JS extension added that uses xoshiro256 for random number generation
• live.banks: added warnings to explain non-reactivity in Max-only
• matrixctrl: new dialmode 2 for float gain tracking, stores cell values as floats
• max-fileformats: add mTXT for objects which exclusively want a .txt file save option
• MC Wrapper: 'applymessages' message to pass symbols and ints
• MC wrapper: 'op' attribute (like mc.generate~)
• MC Wrapper: voiceprob attribute
• mc.assign: assign messages to MC objects
• mc.channelcount~: signal outlet
• mc.chord~: output a variable-size list of values across MC channels
• mc.generate~: Generate values for a range of channels
• mc.in~ / mc.out~: MC versions of poly~ signal input objects
• mc.list~: 'chans' attribute
• mc.midiplayer~: Generate MIDI events from audio signals
• mc.pattern~: signal pattern sequencer and recorder
• mc.s~ / mc.r~: aliases to mc.send~/mc.receive~
• mc.snowphasor~: control many phasors
• mc.wrapper~: 'decide' message
• mcs.gate~ / mcs.selector~: new objects
• mcs.poly~: mcs version of poly~
• opendialog: 'path' and 'setpath' messages
• Patcher Dependencies: 'savedependencies' Max preference (defaults to 1)
• peakamp~: @interval attribute
• pgmin/pgmout: 'zerobased' attribute to use 0 / 1 for program count base
• phasegroove~: phasor-based groove-style sample playback
• phasor~: 'jitter' & 'limit' attributes
• plot~: 'applyfont' attribute
• preset: fifth outlet that can be connected to object to capture state of attributes
• qlim: usurp mode
• ramp~: a single ramp triggered by a signal
• random: 'classic' attribute
• sah~: 'triggermode' attribute
• savedialog: 'path' & 'setpath' messages
• select: fuzzy attribute (fuzzy float matching)
• sfplay~: 'openraw' message to open Raw audio formats
• sfplay~: Support for ~5GB wave files and wave64 files
• sfrecord~: @dither attribute option to apply triangular dither (TPDF) with noise shaping when writing PCM files
• sfrecord~: @resample is an attribute
• sfrecord~: bitdepth attribute
• shape~: phasor-driven line~
• slide~ / rampsmooth~: attributized / added signal inlets
• snowfall~: phasor-driven particle
• stash~: store and recall audio signal values
• Styles: 'Remove Unused Styles' option
• subdiv~: integer subdivision of a phasor
• swing~: subdivide a phasor
• sync~: @rtport attribute for direct MIDI input
• table~: signal table lookup
• twist~: non-linearize incoming ramps
• updown~: Trapezoidal function generator with constant attack and release
• what~: sample triggers based on a list of signal values
• where~: elapsed + predicted phasor~ time
• zigzag~: 'append' & 'insert' messages
• zigzag~: 'maxpoints' attribute
• zigzag~: set points with function object via line message
Fixed Bugs
• amxd~: uses correct name in errors and menus
• Audio Drivers: fixed delay when stopping audio
• AVF Video Engine: fixed crash when image frame loaded from movie file
• AVF Video engine: support for 16-bit images
• chooser: fixed scrolling when using a key
• click~, edge~, line~ (output only), snapshot~, peakamp~, sig~, subdiv~, what~, curve~: sample-accurate when SIAI is enabled
• closebang: fixed issues with views / recursion
• dict.pack: fix crash if no key is matched to inlet
• dict.pack: sending name message no longer invalidates dictionary
• dict.pack/unpack: outlet created when there is no argument
• DSP: prevent connections that happen during load from restarting audio
• Dynamic Colors: changed label of ‘live_control_fg’ to ‘Text /Icon’
• function: reduced minimum size
• GL3 jit.gl.cubemap: import/conversion of exr equirectangular images, with optional gamma correction
• GL3 jit.gl.gridshape: fixed cylinder end cap shading
• GL3 jit.gl.gridshape/mesh: fixed tangents (auto_tangents smooth_tangents attribute option)
• GL3 jit.gl.multiple: fixed crash with multiple textures and changing instance count
• GL3: fixed crash on shader compilation failure when texture is bound to state
• GL3: fixed lighting glitches on Apple M1 machines
• GL3: fixed mesh autonormals
• in~: non-MC is not multichannel
• inlet / outlet assistance: fixed crash with long strings
• Inspector: filter text is retained when reopening sidebar
• Inspector: fixed crash with modal text editor and focus changes
• jit.cellblock: exposed 'neverdirty' attribute to prevent dirtying the patcher
• jit.gl.asyncread: fixed crash when input type changes
• jit.gl.material: fixed broken materials in standalones
• jit.gl.model GL3: matrixoutput does not output when automatic is disabled
• jit.gl.multiple: fixed intermittent crash when bound to jit.gl.node and drawto set
• jit.gl.texture: fixed 'thru' attribute
• jit.gl.texture: setting type attribute forces type
• jit.matrix: 'importmovie' reports correct file name
• jit.matrix: improved native colorspace discrepancies when loading images
• jit.movie AVF engine: fixed plane swapping bug on first frame (Mac M1)
• jit.window GL3: fixed crash with matrix input and fullscreen
• jit.window: fixed issues when exiting fullscreen when floating is enabled
• Jitter GL: fixed matrixoutput assist and type for objects that don't support it
• js File: fixed issues with explicit (second) open()
• js: enforce .js suffix in save as dialog
• js: jsglobal is appropriately deferred
• js: patcher.filepath reports path to collective
• jstrigger: fixed potential crash when copying
• jsui: new Image from graphics context preserves alpha
• jweb / CEF: fixed usage in Max for Live (Windows)
• live.* ui objects: updated color code
• live.banks: banks configuration is retained if device is opened and saved in Max
• live.comment: linecount is preserved
• live.gain~: @orientation 1 typed-in a box works as expected
• live.gain~: auto-adapts when transforming to MC version
• live.observer: fixed value output after opening/closing Max editor
• Max Console / Event Probe: quotes are retained
• Max for Live / Gen: improved fixes for intermittent crashes
• Max Windows: fixed positioning in two monitor case
• MC Wrapper: attrui menu works
• mc.audiounit~: can instantiate
• mc.function: fixed crash when recalling saved data
• mc.function: handle pattrstorage interpolation more gracefully
• message extra arguments warning: can locate the receiver
• Message to Max: fixed ;something% (percent) crash
• MGraphics "tonamedmatrix": correct alpha in Jitter Matrix / "float32" support
• mgraphics: fixed tonamedmatrix drawing when not fully opaque
• mousestate: improved delta mouse reporting
• mtr: fixed track loop reporting in 'dump' message output
• multislider: select output is not deferred
• New from Clipboard: fixed amxd~ paste
• OpenGL Shader editing: retains parameter state
• OpenGL Status: align colors with other status windows
• Parameters window: reduce float display precision
• Patcher: better positioning when zooming/unzooming window
• Patcher: better sorting of styles / attributes of attributes
• patching: fixed crash when closing patcher while object box menu button is active
• patchline colors: improve dynamic color handling
• pattrstorage: 'storenext' works when there are no slots
• pattrstorage: restore behavior of 'getslotnamelist' (outputs slot 0 in unflitered mode)
• play~: sample accurate
• playlist~: fixed menu positioning when dragging from Format Palette
• plot~: definerange log actually works
• plot~: fixed dictionary updating
• pow~: accepts integers
• Quickrecord: added WAVE filetype to savedialog
• receive~: disabled 'chans' in non-MC version
• reson~: fixed typed-in argument errors
• RGB Music lesson: no longer crashes Max
• save dialog: improve default extension behavior when a generic file type is requested
• save/open dialogs: improved focus restoration
• scope~: 'displaychan' attribute is preserved
• select: 'matchfloat' aliased to 'exact'
• selector~: eliminated erroneous MC-related error
• seq: can write files with .txt extension
• seq: fixed potential crash on write
• seq: tempo improvements
• seq: writes type 0 or 1 MIDI files
• sfplay~ / sfrecord~ / sflist~: JUCE-based rewrite
• Sidebar Reference: tutorials are listed by title
• snapshot~ / timer: improved timing
• spike~: accepts ints in right inlet
• stretch~: readagain works as expected
• Styles: objects no longer erroneously inherit styles from other objects
• suspend: works as expected
• sync~: additional timing improvments
• sync~: offset works as documented
• tapin~: error messages added for non-existent attributes
• tapout~: unique mode works for signal inputs
• umenu: improved maintaining number-like symbols
• VIZZIE FOGGR: fixed changing dims
• vst~: fixed memory leak
• vst~: midievent is sample-accurate in SIAI
• waveform~: improved drawing when patcher is zoomed
• zigzag~: fixed crash with append
• zigzag~: set message and setline message jumps to the end after setting list
• zl.union: removes duplicates