Max 8.1.2 Released

Ben Bracken's icon

We are happy to announce that we've just released Max 8.1.2.

With over 127+ improvements, this release focuses on Node For Max (updating to Node LTS 12.14.1), fixing issues related to MacOS 10.15+ (Catalina), vst~ improvements, Parameter improvements, and a significant set of other bug fixes. We hope you enjoy!

As always, you can download this update here:
https://www.cycling74.com/downloads

Enjoy!
Ben & Cycling '74

New Features:
• coll: added precision attribute for number representation
• jit.mgraphics: added svg_set message to reuse an existing SVG object that was created with svg_create; both support loading from file and string
• jit.movie (AVF engine): added seamless mode to the loop attribute to improve forward looping of a complete file
• jit.movie (AVF engine): added native support for HAP movie files
• live.* UI objects: added large text field for live.menu and live.tab parameter range in Inspector
• live.step: increased maximum number of sequence to 64
• mcs.tapout~: added mcs version of tapout~
• menubar: added appendpermanent message to permanently append new entry
• Node For Max: bumped bundled Node version to latest LTS, v12.14.
• patching: implemented pinch-to-zoom trackpad gesture
• select: added exact attribute to use float values
• thispatcher: improved script replace and added script pastereplace srcname dstname1 [... dstnameN]
• thispoly~: added third outlet that reports total poly~ voice count

Fixed Bugs:
• 3rd party externals: warn when com.apple.quarantine xattr is present
• Audio Driver: fixed crash on startup when there is no input device
• Audio Driver: fixed intermittent glitches starting audio (Mac)
• bitshift~: tests for NaN before output
• capture: writes to same txt file correctly the second time
• chooser: improved performance when there are many items
• closebang: sends bang when in subpatch in a subpatch
• cycle: fixed mode 1
• cycle~: improved phase calculation when set via float
• Debugging: Auto Step gets a check mark if it is selected
• Demo Button: goes away after minimizing and showing the window
• Doc Browser: search performed on method names
• Event Probe: fixed invalid <unknown> display
• File Browser: tutorials display title instead of file name
• filtercoeff~: peaknotch with negative number for gain no longer produces NaN
• filtergraph~: fixed jump when changing q / bandwidth with mouse
• Fonts: boxes with mixed character encodings render at proper sizes
• Format palette: uses inactive color
• frameaverage~: fixed crash when setting framecount
• Fullscreen: fixed issues when windows have certain flags (Mac)
• Gen expr: fixed issues when fixing mistyped functions
• Gen patcher: left toolbar shows + and wave icons for object browsing
• Gen ref popup: fixed sizing issues
• gestalt: path slashes are maintained (Win)
• Help Patchers: redraws properly after restored from being minimized (Win 10)
• Inspector color chooser: works after open/close
• Inspector color palette: can copy/paste gradient colors
• Inspector / Parameters: fixed crash when enabling/disabling parameter mode
• jit.dx.grab: fixed format list by filtering out unsupported types
• jit.playlist / playlist: append message appropriately does not create slots when an unsupported file is used
• JS Live API: fixed follow mode 1
• JS: built-in text editor sized properly when saved in full screen
• JS: int atoms from max no longer limited to signed 32bit integer
• jweb: js script runs after file/url reload
• live.* UI object / parameters: hidden visibility params no longer output after device is deactivated and duplicated
• live.* UI objects: automating integer parameters no longer outputs duplicate rounded values
• live.banks: improved undo
• live.drop: initial_enable 1 is retained when duplicating object
• live.gain~: deciBel mode of threshold_db attribute works
• live.gain~: automation dot follows triangle
• live.gain~: supports stepped increments
• live.slider: fixed modulation dot drawing
• live.tab / live.text: all characters respect boundaries of box
• Mac Device input: improved authorization process for audio and video devices on 10.14+
• Max Console: fixed crash when printing max 64 bit double value
• Max For Live / jit.pwindow: improved drawing GL pwindows (Mac)
• Max For Live / js: properly saves script when un/freezing a M4L device
• Max For Live: Live's 2px background color properly set when changing background color using thispatcher
• Max Plugin Scanner: increased timeout to 3 minutes (from 1 minute)
• Max startup: fixed hang on launch when Verdana font is missing (Win)
• mc.gain~: responds to setvalue message
• mc.gain~: retains multislider attribute when saved
• mc.gen~ fixed "disappearing" genpatchers and audio stoppage
• mc.mixdown~: improved busy map usage (checks downstream wrapper objects and turns autobusymap off)
• mc.pack~ / mc.unpack~: object argument of 1 makes an object with one outlet
• mc.poly~: up and down sampling work as expected
• mc.target: prepend argument / attribute works reliably when input is a list / symbol
• mcs.groove~: sync outlet works when there are 4+ channels
• menubar: append message refreshes menus
• menubar: checkitem, enableitem, and markitem messages update properly
• menubar: fixed crash when disabling item with a left parenthesis in a script
• mira.frame: no longer grows in size on subsequent delete/undo
• multislider: adjusted candycane2 default color
• Node for Max: MAX_ENV constants are exposed
• Node for Max: process.exit is a synchronous operation
• Node For Max: Squiggle example mouse drag is properly calibrated in web interface fullscreen mode
• node.script: npm init no longer fails when the parent directory contains spaces
• node.script: number 0 (zero) triggers proper handler
• Object Action Menu: aliased attributes appropriately appear only once
• Object autocomplete: no longer has 3 entries for multislider
• Open File: fixed hang when loading patches dynamically
• panel: drag_window attribute works for subpatcher windows
• Parameters: avoid crashing when enum attribute has fewer than 2 values
• Parameters: initial attribute type of integer always outputs on patcher load
• Parameters: replace bogus parameters when loading
• patcher: contextual menu window submenu shows available patchers
• patcher: object action menu lists patcher properly
• Patching: fixed issues with patch cord drawing (HiDPI on Win)
• Patching: fixed support for transparent patcher windows
• Patching: improved fixes for various issues with patch cord animation
• path: prevent infinite recursion when resolving an alias file pointing to itself
• plot~: display any channel of buffer~
• plot~: fixed buffer~ refer hang
• plot~: fixed various drawing issues
• poly~: fixed crash when toggling parallel attribute
• polybuffer~: fixed crashing when receiving clear/appendempty at high priority
• polymidiin: improved note-off voice allocation
• pong: fixed precision problems
• Preferences: all preferences show clues
• Ref Pages: Common Box Attributes textcolor args correctly listed as 4 floats
• seq: sysex sequence retains first value when stored or played
• sfplay~: fixed sync output issues
• sfrecord~: infers filetype from the file name
• Sidebar: no longer flashes when opened for the first time
• suckah: works when HiDPI / display scaling is enabled (Win)
• table: improved support for cut/copy/paste with select tool
• tapout~: no longer stops delay when it exceeds tapin~ amount
• tapout~: removed half-sample of default delay
• Text Editor: all fixed width fonts are available and render (Mac)
• Text Editor: font choices limited to fixed-width
• timepoint: correctly reports points that are close together
• Toolbar object browser: categories display appropriate objects
• Toolbar object browser: MC is properly listed only once
• Toolbar: shows proper icons after Modify Read Only
• Transform to bpatcher: preserves patcher arguments
• universal: fixed stack overflow issues
• vst~: fixed stack corruption with new vst3 format
• vst~: fixed SPAN crash input argument exceeds actual input count
• vst~: SoundToys AU plugin parameters are shown
• vst~: support for new vst3 folder package format on Windows
• vstscan: improve scanning of VST plugins in non-scanner mode (Win)
• watchpoints: fixed issues with window action column display
• waveform~: drawing improvements
• Windows save dialog: shows save:yes/no/cancel dialog in the proper position
• Windows toolbar: fix for Max menu bar incorrectly collapsing into a single chevron

Chris Rolfe's icon

Joy and felicity. Thanks for the new release and Catalina changes.

Any chance of an update to the SDK (current: 8.03)?

edit: or a Catalina-friendly XCode project?

yaniki's icon

Wow! From my perspective native support for HAP integrated with [jit.movie] is big enough to name the version 8.2. You are very... humble.

estevancarlos's icon
MAX.XAM's icon

Woohoo!

Florent Ghys's icon

live.step and hap features make me very happy! thanks so much for this!!

Mindaugas's icon

Thank you for all the hard work!

I've noticed that the startup time of the application deteriorated 2x (~10 seconds instead of ~5 on macOS 14.6) This can cause issues for exported standalones. Can this be related to "3rd party externals: warn when com.apple.quarantine xattr is present"?

Herr Markant's icon

@Mindaugas almost identical startup time here with 8.1.1 and 8.1.2 (macOS 14.6)

Ben Bracken's icon

For those of you who have updated to Max 8.1.2 and have had problems with the scale object, please re-download the Max 8.1.2 installers and reinstall, as we have updated them to revert the scale object's behavior back to Max 8.1.1 for now.

This is the only change, and a "silent" update, so the version number itself has not been bumped. Please let us know if you run into any issues!

Ben

Eero Pitkänen's icon

Yelloooo!
Is there any example on
• jit.mgraphics: added svg_set message to reuse an existing SVG object that was created with svg_create; both support loading from file and string

^ particularly on loading from string?
I'm trying with an svg/xml string, tosymbol, everything but can't get the svg to display :/