Max Changelog

What's new in Max 8.6.0 Build 240117

Jan 18, 2024
  • New Objects:
  • live.map: utility object for easily integrating mapping into your max for live device without having to make use of lower level LiveAPI functions. Especially helpful for use in conjunction with live.remote~ and live.modulate~
  • live.modulate~: similar to live.remote~ but allows for modulation rather than parameter takeover
  • live.routing: utility object for easily managing Audio and MIDI input and output routings without having to make use of lower level LiveAPI functions
  • Array objects: over 40 new objects for managing and operating upon arrays, including arrays of other objects like arrays, dictionaries, or strings. This is an important advance over flat Max lists which can only contain numbers and symbols. They make working with dictionaries that contain arrays much easier, including arrays of note events that are a big part of the new Max for Live MIDI Tools feature in Live 12.
  • String objects: over 30 new objects for managing and operating upon strings of characters. This is different from symbols in Max which persist for the life of the running process and have a 32k character limit. These objects enable users to work on dynamic string data without necessarily converting to a symbol along the way and allocating that memory until the application quits, or having to deal with upper limits. The set of objects include many helpful utilities for working with string data that are otherwise tricky to accomplish with other max objects and operating on symbols or lists of integer characters.
  • sfizz~ / mcs.sfizz~ / mc.sfizz~: new sampler objects integrating the open source sfizz sfz format sampler parser and synth. These objects make it easy to load and play a wealth of sample libraries or easily author your own with the straightforward sfz text file format that supports many advanced sampling features
  • gamepad: simple cross-platform gamepad integration based on SDL2. Makes working with gamepad controllers much easier than using the lower level and platform specific hi object.
  • dict.compare: compare the contents of two dictionaries
  • mc.miditarget: object to map MIDI channels to MC channels
  • Enhancements:
  • live.remote @normalized attribute: for controlling remote parameters with normalized range 0.-1. rather than needing to know or query target parameter range and scale before sending to parameter
  • Patcher:/ virtual path: new patcher relative path support using Patcher:/relative/path/to/file syntax
  • crosspatch improvements: improved highlighting and contrast on hover
  • New Editor Features:
  • Themes:
  • Follow Live Theme: For Live 12, we’ve added the ability to adapt Max objects and the Max editor to the current Live theme. This is enabled by default, but if legacy colors are desired either in Live or the Max editor, this can be disabled in the Max editor preferences by setting “Follow Live Theme” to “Off”. If you would like the Live theme colors to remain when launching Max directly (i.e. not launched from Live), you can set “Follow Live Theme” to “Persist”.
  • New built in Themes: We’ve also tuned and bundled a number of new built-in themes with Max, which include oft requested all-dark and very light themes.
  • Left toolbar:
  • Max for Live Category: the left patcher toolbar now has a dedicated Max for Live category for easily browsing Max for Live content, examples, and utilities to use in your patchers
  • Saving your place: the left toolbar will now remember where you were when you return to it for subsequent operations, so that any filtering and navigation within categories doesn’t have to be repeated each time you use it
  • More room: the left toolbar now has more room for viewing longer sub-categories and filenames
  • Snap/Grid Layout Operations:
  • Improved Zoom level coordinate quantization: now the current zoom level will be used for quantizing position and size
  • Snap to Pixel Patcher Attribute: Always snap box movement and sizing in patcher to integer coordinates. This is especially helpful for authoring patches at any zoom level without having fractional pixel coordinates.
  • Arrange Menu -> Apply Grid: This new sub menu allows applying a 1x1 pixel grid or the user specified grid for a patcher to selected objects
  • Miscellaneous:
  • Window Menu -> Move All Windows to Main Display: new menu item for collecting windows from other monitors, virtual desktops, non visible coordinates to main display.
  • Updated Technologies:
  • JUCE 7: We've updated the cross-platform JUCE framework to version 7. This includes many improvements underlying platform interaction, drawing performance, audio plugin hosting, and more.
  • CEF 114: For embedding and integrating web pages inside Max using the jweb object, we’ve updated the Chromium Embedded Framework to Chromium 114. A big jump from CEF 96, this enables some exciting web technologies for use inside of jweb, including WebGPU, MathML Core, WebTransport, JS and CSS updates, and more.
  • Node v20.6: Node for Max has had its embedded node version updated to Node v20.6 from the previous version of Node v16.6. This includes many performance improvements and new features like OpenSSL 3.0, Fetch API, Web Crypto API, an updated javascript engine, and more.
  • Full changelog:
  • New Features:
  • array & string: new objects for processing arrays and strings
  • CEF/jweb: Updated to CEF 5735 with Chrome 114
  • comment: bubble background color
  • crosspatch: ‘bang’ message to resync
  • crosspatch: dictionary output if client doesn’t understand setdictionary
  • crosspatch: dim circles / alpha dimming attribute / misc improvements
  • crosspatch: input / output connection highlighting
  • Database: improved behavior when externals are added/removed
  • dialog: ‘clearsymbol’ message
  • dict: @legacy mode for ‘get’ value output (on by default for old objects)
  • dict: rightmost outlet for file operation notifications
  • dict.compare: new object
  • dict.unpack: @legacy mode
  • Displays: Move All Windows to Main Display feature
  • gamepad: new object for receiving gamepad controller events
  • info~: rightmost outlet reports full pathname
  • jit.dx.grab: fps support
  • js / Max SDK: ability to pass a js patcher to an external
  • JS dict: ‘stringify_compressed’ method
  • Left Toolbar: Max for Live browser, Object browser improvements, etc
  • Live MIDI Tools: new MIDI Generator and MIDI Transformation device types (requires Live 12)
  • live.adsrui: @tethering attribute to suppress output when there is input
  • live.adsrui: outputmode attribute
  • live.dial: needlemode attribute
  • live.map: Get info for any Ableton Live parameter
  • live.modulate~: Realtime control of Ableton Live parameters without taking over control
  • live.param~: Support for applying live.modulate~ modulation
  • live.remote~: @normalized attribute for controlling remote parameters with normalized range 0.-1.
  • live.remote~: @getid attribute
  • live.routing: route MIDI & Audio inputs/outputs in Live
  • Max for Live: support for dynamic buffer sizes (as small as 32)
  • mc.makelist~: @fixed attribute
  • mc.miditarget: object to map MIDI channels to MC channels
  • mc.unpack~: replicate attribute (like mc.wrapper~)
  • mcp.record~: new MC mapping
  • Node for Max: updated to Node v20.6.1
  • Patching: allow for 1x1 patcher gridsize
  • Patching: Apply Grid (1x1 Pixel Grid, or Current Pixel Grid) Arrange menu items
  • Patching: Arrange->Apply Grid
  • Patching: Snap to Pixel patcher attribute
  • path: 'Patcher:' path prefix
  • pattr: @thru 2 (suppress output when triggered from inlet)
  • Preferences: 'Follow Live Theme' preference (defaults to on)
  • Preferences: new 'Add Patchers to Search Path on Save' preference
  • print: @bettersymquotes attribute for clearer symbol quoting
  • RNBO: update to RNBO v1.2.4
  • serial: @asyncread attribute to read continuously in the background (defaults to 0)
  • serial: @break_duration to determine the length of a break signal
  • serial: @postbreak_duration to specify a pause after the end of a break (MAB)
  • serial: @rts attribute to support enabling RTS flow control
  • serial: @rts to raise the RTS line
  • serial: support for non-standard baud rates
  • sfizz~ / mcs.sfizz~ / mc.sfizz~: sampler object based on the Sfizz library
  • stash~: @extend attribute
  • text objects: add ‘Edit…’ menu item support
  • Themes: New Themes
  • Fixed Bugs:
  • amxd~: improved read-only device attribute behavior
  • borax: detects illegal note numbers
  • bpatcher: fixed crash with closebang fontface
  • buffer~: fixed issues with writing > 2GB audio files on MacOS
  • CEF / jweb: improved startup/shutdown sequence
  • chooser: fixed crash with enter and key object (Win)
  • click~: improved sample accuracy at high signal vector sizes
  • coll: fixed crash when name is > 79 characters
  • Colors: fixed crash when setting bgcolor without any arguments
  • comment: Home and End in multiline jumps to correct line
  • crosspatch: dimmed connection alpha is constrained
  • Database: improved added/removed externals
  • Database: prevent potential hangs on quit
  • dict: ‘remove’ message supports array notation
  • dict: improved efficiency
  • dict.view: improve performance of large dictionaries
  • Displays: fixed ‘phantom’ handles (Win)
  • Displays: fixed drag of window between displays on Windows
  • encapsulate: can encapsulate 256 or more objects
  • File Browser: externals in internal packages are listed once
  • File Search Path: obtrusive error warning about adding single files to search path
  • fpic: drag and drop from project shows loaded image
  • function: modern curve now draws using the modern curve formula
  • function: redraws when changing classic_curve mode
  • fuzzy Math: improve float comparison epsilon
  • gen~ codebox: require finds genexpr files that are in Project paths
  • GLCore: allow 1D texture updates
  • GLCore: fixed crash when freeing camera when slab is receiving input
  • Help / Ref: missing object error now refers to the missing object instead of jbogus
  • hover: fixed usage with objects that have keyboard entry
  • Inspector: view updates immediately when dragging boxes
  • jit.gl.handle / jit.gl.mesh: works with auto_handle
  • jit.gl.material: improved vtf_normals heightmap
  • jit.gl.multiple: fixed drawing jit.gl.node color
  • jit.gl.sketch: fixed axes geometry
  • jit.gl.sketch: fixed issues on Windows / Max for Live
  • jit.gl.sketch: fixed vertex colors usage
  • jit.gl.sketch: glrect command re-implemented
  • jit.gl.text: fixed draw errors on visiblity change
  • jit.gradient.ui: misc improvements
  • jit.str.regexp: fixed crashing
  • Jitter GL: fixed crash with implicit context finder
  • js: jsarguments are no longer truncated
  • JSUI: fixed crash on Mac VMs
  • jweb: removed in built applications without CEF support
  • live.dial: increased arc line width to avoid blurriness
  • live.menu: svg files are included as dependencies in Projects
  • live.step: fixed crash on Push 3
  • live.text: properly sets value when mouse released outside box
  • matrixctrl: supports 'dictionary' message
  • Max for Live Devices / Node for Max: maintains organization when unfreezing
  • Max for Live Devices: fixed crashes when creating and freeing devices
  • Max for Live Devices: loadtime performance improvements
  • Max for Live: fixed loading of decoded Live audio files
  • Max for Live: improved mouse behavior in device with no parameters
  • Max for Live: Keyboard input changes parameter value during modulation
  • maxurl: fixed crash when object is created and destroyed quickly
  • mc.combine~: unassigned outputs are appropriately zeroed
  • mc.in~/mc.out~/mc.route~: bumped channels max to 128
  • mc.list~: eliminated 'bad number' warning when using @chans attribute
  • mc.poly~: fixed issues with resampling and vs
  • mc.sig~: fixed crash when changing chans attribute
  • midiselect: note off can only output a 0 from the note outlet
  • midiselect: release velocity is output correctly
  • node.script: dependencies are found when file paths are updated
  • node.script: fix error reporting
  • Object Action menu: fixed crash with very large number of attributes
  • Parameters: fixed issues with parameter value overrides
  • Parameters: fixed potential crash toggling parameter mode enable
  • Path: don’t search collective if a fullpath is given
  • Path: fixed plugin name conforming for VST3
  • pattr: @bindto works on project load in 3rd level nested subpatchers
  • pattr / pattrstorage: prevent feedback routings
  • pattrstorage: autorestore respects changeable arg when saving new view
  • pattrstorage: disallow managed pattrstorage objects in the same patcher
  • pattrstorage: fixed indent level in windows
  • pattrstorage: get edited works for AMXD parameters
  • pattrstorage: improved @changemode behavior with int/float comparison
  • pattrstorage: reduce output of a bound pattr object
  • playlist~: clip loop points are properly initialized
  • playlist~: improved resolution when patcher is zoomed
  • plugin~ / plugout~: fixed crash with bad arguments message
  • poly~: fixed crash with ‘wclose’ message when there is no loaded patcher
  • Presentation mode / thispatcher: fixed issues when quickly switching mode
  • Projects: amxds unfreeze to the M4L devices folder
  • Projects: development path available for amxds opened from Max again
  • Projects: Open Project Folder now opens the current project folder
  • regexp: substitution works as well as @substitute with no argument
  • ReWire: removed
  • sah~: reversed triggermode 4 / 5 labels
  • selector~: improved performance
  • serial: outputs 'read 0' when there is nothing in queue
  • Shortcuts: fixed cmd + apostrophe in French keyboard
  • Sidebar: fixed crash when triple-clicking on left sidebar icons
  • stash~: mode 1 works with all sizes
  • table~: fixed issues with @size attr / attribute order
  • table~: removed inmap scaling of next increment
  • textedit: hints work when ignoreclick is set to 1
  • thispatcher: fixed window messages when inside a bpatcher
  • Toolbar Browsers: improved behavior when DB is updated
  • umenu: ‘&’ character is drawn in dropdown
  • umenu: empty items are retained in parameter enum lists
  • updown~: handles ramps of very small values
  • VIZZIE AUDIOSPLITTR: fixed usage when there is no GL context
  • vst~: embedded editor updates values when changing controls
  • Zoom: improved zoom-dependent coordinate quantization

New in Max 8.5.7 Build 231219 (Dec 20, 2023)

  • New Features:
  • RNBO: bundled version updated to v1.2.3
  • serial: @postbreak_duration attribute
  • Fixed Bugs:
  • Ableton Live audio files: fixed loading of decoded files
  • jit.gl.sketch: glrect message support
  • js: attribute arguments no longer truncated
  • Live Object Model: Documentation updated to reflect Live 11.3.20
  • pattrstorage: fixed 'getlockedslots' message
  • Projects: fixed drag and drop issues (Windows only)
  • Projects / Max for Live device: @autoorganize is retained after export to amxd
  • Projects / Node for Max: paths are updated when file locations change
  • Push 3: improved support for frozen devices in Standalone Mode
  • serial: additional support for non-standard baud rates

New in Max 8.5.6 Build 230906 (Sep 6, 2023)

  • New Features:
  • live.adsrui: outputmode attribute
  • RNBO: v1.2.0 update
  • udpreceive: 'defer' attribute to set message output to the low-priority queue
  • Fixed Bugs:
  • curve~ / line~: pending ramps are appropriately cancelled if interrupted
  • jit.dx.grab: support for outputting at device max framerate
  • jit.gl.handle: autohandle works with jit.gl.mesh
  • jit.gl.pix: fixed dim variable breakage with codebox
  • jit.gl.sketch: fixed usage of vertex colors
  • jit.gl.text: fixed draw errors on visiblity change
  • jit.window/jit.pwindow: fixed visibility in Max for Live
  • jit.world: fixed crash when enabling/disabling fullscreen or floating
  • jsui: works in standalones
  • live.menu: svg files are included as dependencies in Projects
  • Max for Live Editor: fixed issues when multiple Max instances are running
  • Max for Live: fixed crash when setting 'is_mpe' attribute
  • MIDI: improved support for multiple devices of the same type (Windows)
  • scala: fixed default scale "B" from 1200 to 1100 cents
  • thispatcher / jit.window: improved manual fullscreen behavior / fixed regressions
  • xctlin: fixed usage

New in Max 8.5.5 Build 230613 (Jun 18, 2023)

  • New Features:
  • RNBO: v1.1.2 update
  • Fixed Bugs:
  • GLcore: silenced errors
  • jit.gl.lua (GLCore): gl.Color calls respect alpha value
  • jit.gl.mesh (GLCore): fixed crash
  • Jitter / Max for Live: misc fixes to support devices on Push 3
  • mapping: improvements to pickup/scaling modes
  • pattr: improved dictionary save / recall

New in Max 8.5.4 Build 230413 (Apr 15, 2023)

  • New Features:
  • RNBO: v1.1.1 update
  • Fixed Bugs:
  • curve~ / line~: appropriately outputs bang when last duration is 0
  • function: fixed crash with non-numeric 'setvalue' messages
  • jit.gl.pass (GLCore): fixed bug with texture copies when quality set to medium
  • jit.gl.path (GLCore): fixed matrix color input
  • jit.gl.plato/nurbs (GLCore): fixed rendering with jit.gl.material normal map
  • jit.movie (AVF): fixed image loading from URL
  • jit.pwindow: fixed single cell output on loadbanged matrix input
  • jit.tp.slide.jxs: output is clamped
  • jit.world: fixed sync 0 fps issues
  • Jitter GLCore: fixed default shading with lighting, blend and transparent color values
  • Live Object Model: updated docs
  • Max for Live: fixed audioschedulertime calculation when device is open in the Editor
  • metro in Max for Live: outputs bangs consistently when the Arrangement View's loop brace is active
  • pattr: fixed dictionary memory leak
  • sfplay~: fixed crash with timestretching in efficient mode
  • textedit / pattr: last appended item correctly stored
  • VIZZIE BFGENER8TR: basis visible to pattrstorage
  • VIZZIE: fixed EASEMAPPER
  • VIZZIE: fixed "patchcord has no connection" errors
  • VIZZIE FOGGR: fixed dim setting
  • vst~: fixed issues with multiple plugins when one vst~ object is deleted
  • vst~: improved loading speed for VST shell single plugin
  • vst~: partial-scan results are used in fas-scan mode
  • vst~: unique ID argument is used with plug_{format} messages
  • vst~: VST3 shell plugins cache info about other plugs in the shell

New in Max 8.5.3 Build 230214 (Feb 15, 2023)

  • New Features:
  • amxd~: can have a help file
  • fzero~: ‘quiet’ attribute
  • RNBO: v.1.1.0 update
  • umenu: @highlight color used in dropdown highlight when @applycolors is 1
  • Fixed Bugs:
  • Audio Scheduler timing: improved accuracy
  • buffer~: ‘writeraw’ file dialog is suppressed when file name is given
  • cascade~: works when input list contains integers
  • crosspatch: fixed restoration order
  • crosspatch: inlabel / outlabel have text editor in Inspector
  • crosspatch: presets/pattrstorage/snapshots connections cleared before restore
  • Database: fixed slow launch on Windows
  • GLCore: color attr of jit.gl.node can override color of attached objects
  • GLCore: fixed matrix context rendering
  • GLCore: support for distinct face drawing modes
  • GLCore: jit.gl.material support for two-sided lighting
  • hi: fixed crash with some controllers on disconnect (Mac)
  • jit.gl.material: fix default lighting
  • jit.gl.skybox / jit.gl.environment: drawn after fullscreen jit.window (Win)
  • jit.movie (AVF): fixed output ready/failure notifications
  • jit.movie (AVF): fixed texture clear
  • jit.movie (AVF): improved reading and disposing of files
  • jit.playlist: fixed issues on MacOS 13.1
  • line~ / curve~: end bang improvements
  • line~ / curve~: fixed stop after immediate output
  • live.adsr~: fixed decay stage when driven by a signal
  • live.step: parameter saved when set by dictionary input
  • mapping: improved ‘pickup’ behavior
  • Math fuzzy float comparision: misc improvements
  • Max for Live editor: tour suppressed when launched from Live
  • Max for Live editor: update checking suppressed when launched from Live
  • mc.function: fixed focus issues while changing points and values are output
  • mc.snowphasor~: reduced minimum allowable rate / interval to 0.1
  • MIDI: removed CC#0-31 restriction for 14-bit CC messages
  • mtr: fixed immediate output when events are inserted
  • mtr: saves empty track info
  • Packages: Package fonts are loaded on first run
  • Patcher Continuous Zoom: works in RNBO patcher / edited Max for Live device
  • path: don’t return ‘/’ if a ‘boot path’ fails to conform
  • pattrstorage: fixed ‘renumber’ message
  • playlist~: fixed harmless timestretching errors
  • plugsync~: fixed samplecount outlet when used in amxd~
  • Project / amxd~ / Gen: fixed crash when saving after ‘open original’ from bpatcher
  • sflist~ / sfplay~: fixed crash printing cues
  • snapshot~: bang message is sample accurate
  • Soundfile: improved mp3 loading on Windows
  • Standalone: fixed crashing when jit.window/pwindow is present
  • subdiv~: pattern cleared correctly (fixed no pattern behavior)
  • textedit: fixed value sync issues when setting contents via scheduler thread
  • themecolor: fixed notification for dynamic color human-readable names
  • VIZZIE: fixed bang output when texture-output enabled
  • vst~: hide JUCE 'MIDI CC %d|%d' parameters by default
  • vst~: permit 1 channel input/output
  • xctlin: first message not skipped with new channel

New in Max 8.5.2 Build 221213 (Dec 13, 2022)

  • New Features:
  • jit.gl.environment: ‘reflect_edge’ reflection map edge length attribute
  • jit.gl.meshwarp: added input matrix for mesh geometry
  • jit.gl.meshwarp: output_mesh_matrix message to output mesh vertex matrix
  • Projects: allow using templates via ‘add new file’
  • RNBO: v1.0.2 update
  • zl: ‘zlreset’ message to reinitialize but not reset ‘mode’ parameters
  • Fixed Bugs:
  • crosspatch: protect against feedback
  • dict: ‘contains’ supports ints
  • jit.cellblock: fixed drawing artifacts when referring to a coll
  • jit.gl.mesh: fixed crash with adjacency draw modes
  • jit.gl.path: fixed issues with adjusting evalin/out attrs
  • jit.gl.render (glcore): added error message when matrix rendering is enabled
  • jit.gl.skybox: fixed issues with jit.movie @output_texture 1
  • jit.gl.slab: fixed color attr for default shader
  • jit.gl.text2d: fixed ‘screenmode 0’ rendering with high DPI displays
  • jit.gl.text3d: fixed memory leak
  • jit.pix: attrui updates when param changes
  • Jitter JS: fixed ‘jit_gl_implicit’ “No such object" error
  • jweb: fixed memory leak with ‘readfile’
  • Max for Live metro: fixed issues with output when looping in arrangement
  • Max for Live: improved timing / sample accuracy
  • MC wrapper: fixed crash setting 'chans' message from scheduler thread when Overdrive is enabled
  • mc.gen~: fixed crash when saving with codebox (Win only)
  • mc.index~: buffer channel right inlet can be set
  • mcp.sfplay~: MC chans attr works
  • node.script: fixed memory leak
  • Parameters: ‘Stored only’ blobs work as expected
  • Patcher Window: fixed zoom button in fullscreen
  • RNBO patching: fixed errors when disconnecting patch cords via handle drag
  • RNBO: v1.0.2 update
  • Scheduler: fixed timing with UI operations that trigger signals (ex: bang->click~)
  • sfrecord~: fix crash on invalid path in ‘open’
  • Standalone: CEF is appropriately not copied when it is disabled (Windows)
  • Startup: small speed up (clippings are iterated later)
  • textedit: eliminated extra quote escapes
  • textedit: fixed crash when sending ‘clear’ via closebang
  • textedit: improved behavior of @nosymquote
  • textedit: text length does not affect presentation rect
  • thispoly~: works when created in modify-read-only subpatcher
  • VIDDLL HAP: fixed decoder error (Windows)

New in Max 8.5.1 Build 221108 (Nov 9, 2022)

  • Fixed Bugs:
  • curve~: fixed list received during pending lists
  • Patches: fixed issues with saving / recalling invalid patchlines from patcher dictionary
  • RNBO: RNBO 1.0.1 Update
  • Startup: fixed crash on machines with language settings that use extended characters
  • Text Editor: fixed crash on save in editor when RNBO is not authorized (coll, js, dict, etc)
  • zl.stream: fixed right inlet input

New in Max 8.5.0 Build 221101 (Nov 2, 2022)

  • New Features:
  • ftom/ftom~/mtof/mtof~: Scala support
  • GLCore: modern OpenGL Graphics Engine (gfxengine glcore)
  • jit.gl.environment: new object to manage environment maps for image-based lighting
  • jit.gl.lua: GLCore Support
  • jit.gl.model: support for PBR materails in glTF files
  • jit.gl.pass: new global illumination effects (atmospheric, tssao, ssr)
  • jit.gl.path: GLCore support
  • jit.gl.textmult: new object for efficiently rendering multiple words of text
  • jit.gl.tf: support for input-only buffers
  • jit.gl.volume: GLCore support
  • Max for Live Devices: added device pref to include packages when freezing
  • Projects: 'safe' mode (a la loadbang defeat)
  • RNBO: Support for new add-on patching environment
  • vst~: improved transport support / @legacytransport attr
  • vst~: support for named transports
  • Fixed Bugs:
  • amxd~: fixed typing a file into the inspector
  • attrui: prevent setting of read-only attributes
  • autocompletion: fixed misc issues for a few objects
  • buffer~: fixed importreplace / replace with some .mp3 files (Mac fix only)
  • Color Picker: does not add unecessary undo transactions
  • filtergraph~: fixed crash saving markers
  • gestalt / js: fixed arm64 architecture reporting
  • GLCore: @poly_mode 2 2 correctly draws points as circles
  • GLCore: fixed cull_face poly_mode behavior
  • Inspector: Color popup follows horizontal window resize
  • JA Translation: improved word wrap in help files (Win)
  • jit.gl.material (GLCore): fixed poly_mode
  • jit.gl.model: fixed skeleton mesh misalignment issues
  • jit.gl.text: removed 1024 maximum character limit (now 32768)
  • jit.matrix: fix exportimage file extension enforcement
  • jit.qt.engine: fixed Error 126 loading external (Windows)
  • js: increased Array/stringth length when posting (32767)
  • jsui: fixed crash when @filename is set with #1 (changeable arg)
  • lcd: fixed crash with long 'write' symbols
  • line~ / curve~: prevent bang on single value message (reverts to old behavior)
  • live.banks: window can be opened from subpatcher
  • live.object: fixed potential crash on empty message
  • Max Console: permit option key from Window menu to move to the main display
  • Max for Live Device: improved devuce unfreeze speed
  • Max for Live Device: M4L patcher attributes are retained when saved in Max
  • Max for Live: improved scheduleraudio accuracy
  • mc.pattern~: fixed crash on illegal channel index
  • New From Clipboard: ensure top-level loadbang is triggered
  • Node for Max: Fixed logging on Apple arm64 machines
  • Package install: improved installation / removal / etc
  • pattrhub: improved @patcher attach/detach
  • pink~: improved seeding / instances are unique
  • plot~: domain properly set from stored values
  • poly~: fixed right event outlet assistance
  • print: fixed comma-escaping
  • Projects: fixed crash if subpatcher window is open when Saving as Project
  • Projects: improved handling of invalid project search paths
  • Projects: reload no longer causes duplicate patcher instance if save dialog is cancelled
  • pvar: fixed crash when deleting object connected to a pvar
  • serial: improved open/close
  • sfplay~ / playlist~: fixed crash with high-channel counts
  • subdiv~: fixed @div attr arg initialization
  • subdiv~: fixed issues with patterns with small, followed by large, values
  • textedit: order attribute works when parameter_enabled
  • updown~: protect against over / under
  • vd.twist.jxs shader example: fixed for GLCore
  • vst~: added some aliases for @prefer
  • vst~: fixed argument parsing on patcher load
  • vst~: fixed crash with 'writebank' with no arguments (vst3)
  • vst~: fixed potential deadlock when changing parameters with generic interface
  • what~: fixed crash using @matches attr arg
  • zl.rev: fixed list with bang message
  • zl.stream: stream size retained when changing zlmaxsize

New in Max 8.3.2 Build 220913 (Sep 14, 2022)

  • New Features:
  • jit.gl.pbr: 'sendinput' message
  • jit.gl.pbr: environment texture support
  • jit.gl.pbr: more texture support (matrix/texture inputs)
  • js/jsui: pattrstorage support
  • Packages: install when drag and dropping a .maxpack
  • textedit: 'valuemode' attribute to store items as an atom
  • vst~: 'midievent' Real-Time message support
  • zl: 'fuzzy' attribute
  • Fixed Bugs:
  • attrui: mc.gen~ float param is scrollable
  • Audio Status: fixed frozen transport / hang with "None" i/o device
  • Audio Status: sample rate displayed correctly with Lynx AES16e card
  • Color Selector: theme-aware
  • comparison operators: support floats in either/both inlets
  • crosspatch / matrix~: UI reflects change when gain value is a float
  • crosspatch: fixed memory leak
  • curve~ / line~: bangs when last duration is 0
  • curve~ / line~: does not bang on transport tempo changes
  • curve~ / line~: fixed 'stop' message
  • curve~ / line~: fixed issues with simultaneous input of different priorities
  • dial: fixed attr label typo
  • Dynamic Colors: preserved for object box borders
  • Dynamic Colors: restored when loaded in a different Live theme
  • fullscreen windows: fixed black bar across top of screen
  • Gen Autocompletion: improved matching / text replacement
  • Help Patches: improved word wrap for JA Translations
  • Inspector: misc improvements to colors displays
  • jit.cellblock: removed 80 char limit when typing into a cell
  • jit.gl.cubemap: mipmap generation fixes
  • jit.gl.lua (GL3): supported in GL3
  • jit.gl.node/pix/slab (GL3): proper mipmap generation on capture output
  • jit.gl.pbr: fixed "blue tint" when rendering (Mac M1 only)
  • jit.gl.pbr: fixed crash when enabling rendering
  • jit.gl.pbr: fixed metal/roughness maps when parallax enabled
  • jit.gl.pbr: retains parallax when jit.world deleted
  • jit.gl.pbr: textures are oriented correctly
  • jit.gradient.ui: Fixed crash when loading json
  • jit.matrix: jpeg imports correct colors
  • jit.movie (AVF): fixed 'frame' message
  • jit.record: cannot overwrite existing directory
  • jit.world /jit.window: resized when exiting fullscreen mode and floating is enabled
  • Jitter GL3 lighting: hemishpere flag enabled for default lighting
  • js / Projects: require() files are included
  • js post(): supports longer arrays
  • js: Folder() can find folders in current Project
  • jsparamlistener: reports parameter automation
  • jsui: fixed crash when abstraction is set with @filename 1
  • live.button: drawing improvements
  • live.meter~ / live.gain~: fixed drawing when patcher zoomed
  • live.object: fixed Live crash on double-clicking an error
  • loadbang: fixed recursive loadbang issues
  • Max Console: "yellow" dot for warnings
  • Max for Live Device: fixed hang when setting Development Path Type
  • Max for Live Device: does not save erroneous data in .amxd
  • Max for Live: fixed Gen crashing
  • mc.poly~: fixed up/down sampling
  • midiparse: midievent message comes out first
  • midiselect/midiparse/midiformat: improved 14-bit @hires calculations
  • New From Clipboard: eliminated extra loadbang
  • New From Clipboard: fixed crash when loadbang triggers bpatcher creation
  • Package Manager: fixed issues when accent is in user name (Win only)
  • Package Manager: refined conditions for 'updates available' notification
  • panel: default bgfillcolor is correct in Max for Live
  • panel: improved inlet color
  • past: fixed list comparison
  • pattrstorage: improved speed of writing XML files
  • pattrstorage: support dict values in legacy XML files
  • pink~: uses xoshiro256 (like noise~)
  • playlist~: fixed out of memory error
  • plot~: domain set from stored values
  • poly~: fixed crash when parallel is enabled in Max for Live
  • poly~: fixed crash after changing voice count with no patcher loaded
  • poly~: fixed MPE caching off-by-one error when 'mpemode' is enabled
  • poly~: improved calculation of sample offset
  • ramp~: reduced min value difference and duration
  • Reference Sidebar: fixed broken links
  • Save Dialog: fixed crash (MacOS 10.11 only)
  • sflist~: fixed crash on 'open' message
  • sfplay~: file can be loaded with "preload" after delete/undo delete
  • sfplay~: fixed crash when playing / seeking high channel count files
  • sfplay~: fixed cue initial frame calculation
  • sfplay~: fixed sample rate conversion calculation
  • sfplay~: seek message works with timestretching enabled
  • Sidebar Reference: fixed JA Translations in info pane
  • snapshot~: made interval / non-interval bang reporting consistent
  • snowfall~: endmode 1 works when input is 0
  • standalones: can build on Mac machines factory shipped with OS 12.5
  • tri~: fixed right inlet assist
  • umenu: fixed duplicated items when there are spaces in items
  • updown~: improved behavior with short ramps
  • VIDDLL: fixed black output when context is rebuilt
  • what~: fixed high value triggering
  • Windows: fixed issues with hidden Save dialog when machine is busy
  • zl: fixed warnings when performing symbol comparisons
  • zl: right inlet list preserved when changing zlmaxsize

New in Max 8.3.1 Build 220510 (May 11, 2022)

  • Fixed Bugs:
  • crosspatch: updates when recalling pattr presets
  • crosspatch: works in the context of a Max for Live device hosted in Live
  • curve~: works with tempo-based values
  • filtergraph~: setting 'edit_Q' does not trigger output
  • Gen: improved help popup sizing
  • jit.gl.pbr: fixed crash on setting name attribute
  • jit.matrix: doubled maximum size (~2 GB)
  • jit.playlist VIDDLL: fixed broken UI when jpg image is loaded
  • jsui sketch: fixed image file rendering on Windows
  • matrix~ / sig~: improved CPU usage
  • mc.assign: float and int input delay appropriately in listiter mode
  • mc.pattern~: fixed outlet assistance
  • mc.shape~: @mode of function object is respected when @curvemode is set to 'auto'
  • phasor~: fixed setting phase offset
  • sfplay~: fixed playback with large numbers of channels
  • sfplay~: 'seek' playback improvements
  • sfrecord~: specifying file type and file name works
  • VIDDLL Engine: fixed image / texture output issues with some still images
  • VIDDLL Engine: fixed jpg image loading

New in Max 8.3.0 Build 220426 (Apr 27, 2022)

  • 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 (GL3 engine only)
  • 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~: bitdepth attribute
  • sfrecord~: 'resample' is an 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: new default 'Text / Icon' color follows Live themes
  • 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
  • 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
  • sig~: accepts ints in right inlet
  • snapshot~ / timer: improved timing
  • 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

New in Max 8.2.2 Build 220208 (Feb 9, 2022)

  • New Features:
  • getattr: dynamic color support (dump outlet)
  • jit.gl.model: 'dispose' message
  • mc.noteallocator~: added @hires attribute
  • mc.wrapper~: deviate message uses xoshiro256 random generator
  • Message to Max: 'purgemididevices' message
  • sfrecord~: 'sortloop' attribute (most recent recording is added to the beginning of the file)
  • thresh: symbol and anything support
  • umenu: 'symbolmode' attribute (all entries are converted to symbols)
  • xmidiin: new object to output raw midi from all devices
  • Fixed Bugs:
  • amxd~: eliminated extra border added to device after being dragged into patcher
  • amxd~: improved error message object identification
  • Autocompletion: Fixed usage in Gen
  • Autocompletion: Removed redundant sorting of message box autocompletion
  • closebang / closefile: eliminate recursive crashes
  • closebang: fixed output after sending bangs to object
  • coll / Text Editor: Extended characters properly handled when closing the editor window
  • curve~: curve factor of zero is linear
  • curve~: fixed behavior at -1 / 1
  • delay~: permit time attributes to default to samples instead of milliseconds
  • dict: shows parameter attributes in inspector when parameter mode enabled
  • dict: subdicts updated when 'remove' and 'append' are used
  • dict.deserialize: Fixed crash with some input
  • dict.pack/unpack: remove dummy foo:bar dict
  • dict.route: long strings no longer truncated
  • Dynamic Colors: default Max for LIve device patcher background color follows Live's theme
  • Dynamic Colors: loadtime improvements
  • Dynamic Colors: non-UI objects given dynamic color will retain set color on patch reload
  • Format palette: fixed crash when clicking format palette icon
  • Gen: contents of genpatcher are retained when 'changed attributes to arguments' is used
  • GL2: shader glsl include functionality
  • GL3 jit.gl.multiple: jit.gl.multiple drawing support
  • GL3 jit.gl.text3d: can be drawn with jit.gl.multiple
  • GL3: fixed initial reported values of videoplane color attribute
  • GL3: fixed materials using glsl includes
  • GL3: fixed screentoworld/worldtoscreen when drawing with multi-drawto
  • Global Transport: eliminated re-output of previously set position when tempo changes
  • jit.bfg: fixed crash when sending matrix with wrong number of planes
  • jit.gl.lua: fixed crash when using external text editor
  • Jitter Gen: drag of genjit files when holding down option will give jit.gl.pix option
  • Jitter MOP objects: arguments show up in autocomplete
  • JS File object: writes to proper directory after open()
  • JS Task: fixed issue with creating JS object with task
  • jsliveapi: ensure boxpath (fixes M4L.chooser issues)
  • jstrigger: fixed argument and empty expression crashes
  • jsui: fixed crash with tonamedmatrix on Apple silicon
  • kslider: don't allow click on invisible/unpainted rightmost black key
  • live.dial: Fixed triangle color
  • live.gain~: fixed cursor location on mouse up
  • live.step: dynamic colors work as expected
  • loadbang: fixed breakage when an undo transaction is canceled
  • Max Console: ensure that posts from different objects appear on separate lines
  • Max Console: fixed memory leak
  • Max for Live Device Projects: dirty the device when dependencies are added
  • Max for Live Patter device: fixed crash on load (Live 11.1.b8)
  • Max for Live unique identifier / ---: maintained when loading poly~ patchers
  • mc.dup~: fixed typed-in chans attribute
  • mc.noteallocator~: fixed MPE event parsing
  • mc.number~: fixed channel outlet numbering
  • mc.poly~: fixed autocompletion dropdown
  • message: fixed autocompletion text replacement after a comma
  • MIDI: retain MIDI prefs from missing devices
  • midiformat: accepts 'hires' message to leftmost inlet to set attr
  • MSP / Gen: fixed double denorm and nan check macros (doubles the headroom of audio)
  • object autocompletion: description text properly appears after editing box
  • Object drawing: fixed crash if component cached image is freed in the middle of painting (fixes o.display)
  • Packages: Fixed potential crash on success when dropping a maxpack on the Max Console
  • panel: fixed enabling / disabling window_drag in Max for Live subpatchers
  • patcher format: improved sorting of some json entries
  • Patching: fixed glitch when first opening patcher or opening calendar
  • Patching: improved drawing when moving in/out of Presentation mode
  • pattr: restore bindto connection after deletion/recreation of bound object
  • pattrstorage: changemode respected when setting values directly
  • pattrstorage: fixed crash when attempting to create a large preset number
  • pfft~: fixed in/out @attr_comment showing up in assistance
  • playlist~: avoid overwriting clip source with cached version
  • Projects: renamed 'snapshot' to 'archive'
  • pvar: prevent recursion if the named object is itself
  • receive~: using the r~ alias no longer outputs an MC patch cord
  • record~: fixed attribute labels
  • record~: records correctly when number of channels is greater than the referenced buffer
  • rslider / slider / dial: improved attribute update
  • s~ and r~: removed duplicate autocomplete results
  • scale~: fixed output when hi and low are reversed and exponent is used
  • Set to Default Value(s): fixed for non-style attributes
  • setclock / clocker: fixed usage & crash
  • sfrecord~: fixed loop recording when loop length is less than bufferlength
  • speedlim: fixed quantization
  • Support Info: appropriately shows Windows 11 info
  • table: retains length when changing name
  • textbutton: text / texton attributes set to nothing when there is no arg
  • textedit: commas and semicolons are properly parsed
  • textedit: eliminated double-escape when parsing the text field
  • thispatcher: fixed patchlinecolor scripting usage
  • trough: fixed issues for when float input ends with an even number
  • umenu: improved handling of numeric symbols
  • VIZZIE: fixed sync issues when using non-PROJECTR context
  • vst~: added pattr notification on "processor changed" event
  • vst~: cached plug descriptions are checked for up-to-datedness
  • vst~: improve reliability of program name harvesting
  • waveform~: updated chanoffset and chanoffset enum in inspector when buffer is modified
  • Windows: fixed corruption when opening delay.maxhelp
  • Windows: fixed crash on quit
  • workspace restore: loadbang improvements

New in Max 8.2.1 Build 211116 (Nov 18, 2021)

  • Fixed Bugs:
  • absolutepath: folders in Project-specific paths are found
  • Gen codebox: errors report correct line
  • Gen: Fixed param restore crash
  • GL3 jit.gl.mesh: auto_normals generation improvements
  • GL3 jit.gl.mesh: support for float64 input
  • GL3 jit.gl.model: autonormals with triangle mesh work correctly
  • GL3: 1 plane matrices are displayed correctly
  • GL3: dynamically update and read buffers in a transform-feedback process
  • GL3 textures: tex_map 3 projection correctly projected when object is rotated
  • jit.anim.drive: eliminated animation glitches related to easing
  • jit.gen: fixed crash with nearestpix sampler and dimcount > 4
  • jit.gl.lua: fixed outlet functionality (fixes Inspired by Nature Max for Live devices)
  • jit.gl.material / jit.gl.multiple: fixed issues with params texture
  • jit.gl.mesh: color input works as expected when lighting is enabled
  • jit.gl.model: fixed broken obj file read
  • jit.gl.multiple: fixed drawing multiple textures
  • jit.gl.node: fixed re-initialization when undoing deletion
  • jit.gl.slab/jit.gl.pix: outputs properly adapt to input type
  • jit.world: framerate no longer drops when number box updated (Win only)
  • live.scope~ / live.adsrui: updated icons
  • Patching: fixed hang when patching in large patcher (Win only)
  • Styles: saved in the correct location
  • subpatcher: no longer appears bogus when opened from project window
  • umenu: improve popup positioning with multiple displays at mixed resolution/zoom
  • vizzie: Fixed doubled output causing doubled fps
  • vst~: eliminated freeobject error and potential memory leak
  • vst~: fixed potential crash when instantiating new plugin
  • Windows: increased main thread stack size to match OSX (8 MB)

New in Max 8.2.0 Build 211012 (Oct 13, 2021)

  • New Features:
  • 3rd party objects install / quarantine: cache improvements
  • absolutepath/chooser/folder/savedialog/dropfile: added filtering by file extension
  • amxd~: 'realtime_params' attr for realtime report of parameter data from outlets
  • bucket: 'clear' message
  • capture: uses scientific notation for very large numbers
  • CEF / jweb: updated to CEF 90
  • chooser: 'deselect' message
  • dict.route: permit comparisions of nested elements
  • dict.view: expand /expandall messages
  • dict.view: key::path based expansion syntax
  • Doc Browser: new home page layout, navigation, new glossary & getting started docs, etc
  • Dynamic Colors: ability to use a name which references a dynamic color (follows Max/Max for Live Themes)
  • Edit Operations Trigger Loadbang: New preference
  • fileformat: added alternative "TXT " type
  • Fix width: use available patcher space at window edge
  • fffb~: increased maximum number of filters to 128 / mcs.fffb~ to 1024
  • freqshift~: added resetphase message
  • function: pointalign attribute
  • Gen noise: updated to use Xoshiro256+
  • gen~: signal averager example
  • GL3: now a factory package
  • Help: allow abstractions to map to help files via objectfile max message
  • jit.gl.pass: bloom-hq effect and corresponding SUBPASS functionality / documentation
  • jit.noise: seed attribute
  • jit.proxy: class attribute for querring class of target object
  • jit.proxy: now can function inside JS
  • jit.pworld: enable, fps attributes; bang, int messages
  • Jitter Tools: Package of objects and abstractions for expanding the Jitter toolset
  • jsmaxobjlistener / jsparaminfoprovider / jsparamlistener: new examples
  • live.adsr~ / live.adsrui: new objects
  • makenote: repeatmode 3 (does not trigger new note-on message)
  • Math objects: added @fuzzy attribute to floating-point comparison objects for inexact float comparison
  • Max Console: excess zeros on a float are truncated
  • Max Documentation: Glossary of common terminology
  • Max Startup: added '--log' command line switch to enable startup logging
  • MC Wrapper: applynvalues / replicatenvalues messages
  • mc.makelist: 'clear' message (only works on leftmost inlet)
  • Message to Max: userdb.resetvalidated resets list of extern validations
  • mtr: added touchenable and touchdisable messages to enable / disable touch on multiple tracks
  • multislider: copy, paste and pastereplace
  • Node for Max: updated to Node v16.6.0
  • node.script: restart attribute to suppress restarts on uncaught errors
  • noise~: updated to use Xoshiro256+ & 'classic' attribute (defaults to 0)
  • nrpinin/rpnin: @permissive attribute to skip the parameter number MSB
  • Object Palette: icons added for all live.* UI objects
  • Package Manager: option to 'update all' that have available updates
  • Packages: can have an 'ad' folder to load audio drivers
  • pitchshift~: new constantlatency attribute
  • print: @level to set post/warn/error/bug alert level
  • print: support multiple symbols (for multiple inlets)
  • Reinitialize: Edit->Reinitialize to fire loadbang/loadmess & reset parameters to initial values
  • reson~ / lores~: added attrs for cf, gain, q/resonance
  • sampstoms/mstosamps: accepts list input
  • send~ / receive~: added s~ and r~ shortcuts
  • sfinfo~: support for extended file types (like .mp3)
  • sfrecord~: @quantization attr (sets quantization rule), @dither attr (enables TPDF)
  • Snippets: "hot swap" of VIZZIE and BEAP modules (or any snippet containing a patcher)
  • spectroscope~: alpha can be used for background color in sonogram mode
  • thresh: increased max list size to 32767
  • thresh~: added list method
  • vexpr: @maxsize attribute - dynamic list size
  • wave~ / 2d.wave~: can set start and end points with list input
  • waveform~: 'set' with no arguments clears the buffer reference
  • zl: list.* alias, infrastructure for individual helps and refs
  • zmap: bang message to output current value(s)
  • Fixed Bugs:
  • 3rd party objects install / quarantine: cache improvements
  • adstatus: outputs correct values
  • amxd~: notifies parameter hub when device state changes
  • assistance: fixed crash with long strings
  • Audio: improved CPU usage when audio is off in Max
  • autopattr: fixed memory leaks
  • AVF: fixed HAP playback
  • BEAP: update to v1.0.4
  • bpatcher / Help: 'Help in Locked Patcher' works for bpatchers that have help files
  • bpatcher: eliminated visual glitching when resizing new view
  • buffer~: fixed crash when dragging sound file from file browser onto waveform window
  • capture~: first line is correct length
  • chooser: text justification is saved / restored
  • coll: able to open in external text editor
  • coll: fixed hang when closing editor window with many lines of text
  • Color Picker: Changing message box color with color picker is able to be undone
  • comb~: fixed limit to delay length
  • console object: outputs after Max Console is cleared
  • CoreAudio: update SR and restart audio when/if necessary
  • cycle~: prevented crash with negative buffer sample count for wavetable
  • dac~: fixed crash at startup when started with a loadbang/loadmess
  • Debugging: re-enabled patch cords trigger their watchpoints
  • delay: Fixed potential ITM crash
  • delay~: fixed crash when setting a delay time that relates to crossfade ramp time
  • delay~: fixed startup issues and improved interpolation accuracy
  • delay~: setting maxsize is more reliable
  • demosound: gain of filtergraph~ in noise view set to 1.
  • demovideo: remove grabber settings button and convert input menu to format
  • detonate: fixed crash when setting the ‘name’ attribute
  • dial: drawing respects arc boundaries
  • dial: draws complete circle when degrees is set to 360
  • dial: top of needle drawing improvements
  • dict: fixed writeagain issues
  • dict: help file makeover
  • dict: improve parsing of float-like strings
  • dict: improved saving / window closing behavior
  • dict: patcher not dirtied when @embed is set to 1 but not changed
  • dict: stricter parsing of number-like strings
  • dict: warn and don't crash when parsing invalid argument
  • Doc Browser: Home / Index page loads even while DB is rebuilding
  • Doc Browser: Home page loads when selected package is not present in Database
  • event probing: reports correct values past 2147483524 (Win)
  • expr: abs works on negative zero
  • fileformats: add missing types for AU and VST3 preset files
  • filein: misc improvements and cleanup
  • filtergraph~: added retro-compatible messages for gainresonant / gainapass
  • filtergraph~: tweaked range label
  • Fonts: fixed crash on startup when font doesn't have a display name or full name
  • function: attributes are updated when state is set via patter
  • function: domain attr returns to Behavior category in Inspector
  • function: fixed alpha color of linear line drawing
  • funnel / spray: increased max list size to 4096
  • Gen noise: fixed seeding
  • Gen: box port name optimizations
  • gen~ slide: fixed compile error when slide input is audio rate
  • gen~: fixed NaN reporting when 'Show CPU Usage' is enabled
  • gen~: fixed onepole coefficient
  • gen~: nocache attribute is visible
  • gestalt: fixed crash when outputting args
  • GL Engine: fixed crash if set to GL3 and package is not installed
  • Gradient Colors: fixed potential crash due to bad memory access
  • HAP: improved framecount calculation
  • hi: added xinput support
  • hi: fixed initialization of element count when device has no product name
  • hint attribute: hint correctly hidden in presentation mode when object is not
  • Inspector: fixed Windows modifier keys in standalone inspector
  • interfacecolor example: getcolorlist actually gets colors from maxcolors.json
  • ITM: fixed parsing of x.x.x format "symbolic" BBUs
  • jit.cellblock: display updated after interval is set to 0
  • jit.cellblock: gives better warning when writing is unsupported
  • jit.dx.grab: fixed alpha channel when output_texture is enabled
  • jit.gen: fixed wrap algorithm
  • jit.gl.material browser: is theme-aware
  • jit.gl.material: fixed normals and lighting calculations for vtf-normals
  • jit.gl.model: files can be loaded from Projects and collectives
  • jit.gl.model: fixed file loading when embedded in Max for Live device
  • jit.phys.*: fixed potential crash when retrieving object arguments
  • jit.pwindow: fixed rendering when a new view is opened/closed
  • jit.pwindow: renders texture in a new view
  • jit.pwindow: sync attribute is properly saved
  • jit.pworld: internal videoplane is enabled only if texture or matrix message received
  • jit.pworld: support for jit.movie (a la jit.world)
  • jit.world: fixed enable attribute when triggered with overdrive enabled
  • Jitter avf / hap: hap files are properly initialized
  • Jitter GL: fixed crash if jit_ob3d_setup called prior to jitter initialization
  • Jitter Object Boxes: inlet "hotness" improvements
  • JS File Object: empty typelist returns an empty array, as documented
  • JS maxObjListener: fixed notification response for null attrname
  • JS maxObjListener: object attrs are tested before box attrs
  • JS mgraphics SVG: fixed mapcolor crash
  • JS object: fixed recursive crash with incorrect entry
  • JS snapshots: works with dictionary values
  • JS: added getboxattrnames, getboxattr, setboxattr to documentation
  • js: fixed crash when accessing patchcords property of Maxobj
  • JS: this.patcher.wind.setlocation() method works
  • jsliveapi: eliminate crash when there's no 'this' for operations
  • jsliveapi: improved handling of large strings
  • JSON: trailing zero added to float values (1. becomes 1.0)
  • jweb: allow "max" property on root object (ie window) to be writeable
  • jweb: fixed crash when using 'select' dropdown (offscreen rendering mode)
  • Keyboard: option+arrow in text field no longer triggers OS alert sound
  • Lessons: added embedded vizzie 1.0 modules
  • limi~: ref page opens correct help file
  • line~: fixed crash with very large ramp time
  • linedrive: fixed crash
  • live.* UI objects: improve negative value handling with some units
  • live.* ui objects: Outputs the correct value when opened and initialized by pattr
  • live.banks: error reporting refinements
  • live.banks: fixed bank renaming in response to '-' argument
  • live.banks: fixed crash when adding a new bank with index 1 when banks are empty
  • live.banks: fixed crash with certain 'edit' messages
  • live.banks: fixed crashing with bad input
  • live.dial: fixed large mode automation drawing
  • live.drop: ensure value when restoring
  • live.scope~: fixed delayed drawing after deletion
  • live.scope~: fixed drawing in trigger mode when number of samples is lower than object's pixel width
  • live.scope~: reduced memory footprint when inactive
  • Max for Live / Help patchers: fixed crash clicking '?' menu in Live
  • Max for Live device project: fixed hang when changing the "development path type"
  • Max for Live Live Object Model doc: updated with Live 11 additions
  • Max for Live Parameters: filters hidden parameters before generating automation for Live
  • Max for Live pcontrol: scheduler works in patches opened via load message
  • Max for Live timing: improved locked metro accuracy
  • Mapping: ‘delete’ key removes mapping
  • Mapping: fix mapping in unlocked patcher with bpatcher containers
  • mapping: improved 'write' message behavior
  • Mapping: source maps to key when edited in mapping sidebar
  • Max Console in Max for Live: long text wrapped and shows device name
  • Max Database: fixed potential crashes
  • Max Database: improve warning when attempting to rebuild database while another rebuild is active
  • Max SDK: fixed issues with loading third party externals (__common_symbols)
  • Max SDK: fixed memory corruption in object_attr_getvalueof
  • Max Startup: improved Windows startup times
  • maxurl: fixed crash on quit due to in-progress maxurl (Win only)
  • MC Wrapper: replicate and initialvalues attrs are in inspector / refbar
  • mc.gain~: saves all sliders for presets / pattrstorage in multislider mode
  • mc.noteallocator~ properly auto-adapts to input
  • mc.noteallocator~: fixed reverse pitch bend output
  • mc.op~: max operator works with negative values
  • mc.vst~: fixed crash when scripting and input count changes
  • menubar: closeitem can disable the Close item in a menu
  • menubar: intercepts keyboard shortcuts on Windows
  • message box: accepts very large input / removed arbitrary patcher size
  • message box: removed list length limit when editing
  • MIDI: can set “AU DLS Synth 1” via the ‘port' message
  • MIDI: improved None/All handling
  • midiformat: fixed formatting of byte 2 in 7-bit pitch bend
  • MIDIMonitor.amxd: fixed crash
  • mousestate: fixed crash on double poll
  • mousestate: poll reports mouse down events when mouse is idle
  • mousestate: polling performance improvements
  • mtr: added TEXT file type
  • mtr: bindto no longer interferes with autopattr/pattrstorage
  • mtr: can add events via message while playing back and hear them before a loop
  • mtr: fix deferred loading
  • mtr: fixed crash when reading file with more tracks than the object has
  • mtr: playpos is accurate when a new first event is inserted
  • mtr: touch event added before first event adjusts delta time
  • multislider: fixed setting of minmax
  • Node for Max: Node for Max: node.debug no longer double-prints status
  • Node for Max: node.script / node.debug handles messages on patcher load
  • node.script: attrs to disable outlets and forward messages to callback instead
  • node.script: tmp folder sockets are cleaned up
  • node.script: works on standard user account
  • nodes: fixed crash when nsize list length does not match nodenumber
  • nodes: prevent out-of-bounds access
  • noteout: fixed selection of port via object action menu
  • nrpnin: fixed incorrect bitshift when calling "set" with a parameter number list (MSB LSB)
  • nrpnin/out & xctlin/out: added 'hires' inspector styles/labels
  • number box: dragging value in float box now creates same value as if typed
  • numbers: 64-bit truncation cleanup (Windows)
  • Object Action Menu: added none/all handling for MIDI objects
  • Object Boxes: inlets / outlets don't get stuck in highlighted states
  • Object Browser: Max for Live UI objects shown in correct category
  • Object Palette: icons added for all live.* UI objects
  • Open In External Editor: works in tabbed patchers
  • Package Manager: fixed issues with blank rendering
  • Package Manager: Website link styled correctly
  • Packages: Discover Max external in new valid package directory without restart
  • Packages: Fixed crash with empty package-info.json
  • Parameters: only dirty if it exists in a Max for Live device
  • Parameters Window / Inspector: auto-quote Info Title / Info
  • Parameters: load correctly when hot swapping bpatcher contents
  • Patch loading: improved patch / project loading times
  • Patching: click on box sizing handle to give patcher keyboard focus
  • Patching: don't try to autoconnect when target has no corresponding inlet/outlet
  • Patching: fixed capitalization of togedge, trough, and uzi
  • pattr: default_priority set properly when set to 0
  • pattrstorage: dictionary support for 'getstoredvalue'
  • pattrstorage: eliminate crash when setting scripted pattr value from client window
  • pattrstorage: fillempty handles missing values in pattr objects appropriately
  • pattrstorage: fixed infinite loop in 'fillempty' when item is missing
  • pattrstorage: ignore when parent patcher varname is changed
  • peak: fixed bad reporting when float ends with an odd number
  • Performance: CPU usage improvements after starting Max
  • pictslider: attributes are retained on load
  • pinch to zoom patcher (trackpad): improved behavior
  • pitchshift~: fixed issues with 'enabled' attribute
  • pitchshift~: fixed latency reporting and misc improvements
  • playlist: shows missing files in italics
  • playlist~: fixed duration / channel count reportage
  • plot~: fixed vertical scaling and y position of first x label
  • poly~: fixed crash when sending target messages and no patcher is loaded
  • poly~: fixed crash when there is no patcher and audio is toggled off
  • print: fixed name reporting when object does not have a box
  • prob: embed is now an attribute
  • Projects: disabled amxd type in inspector when Max is the Max for Live editor
  • Projects: warn if adding new file will overwrite existing file
  • regexp: removed extra space before ints, floats and lists
  • rslider: ‘minimum’ attribute can be a float
  • Save dialogs: improved usage when there are no writable types specified
  • savedialog: improved file type configuration (macOS)
  • send~/receive~: fixed freeze when setting names of objects
  • seq: fixed delay message
  • sfplay~: fixed issues with 'clear' message when inside a poly~
  • sfrecord~ / sfplay~: PCM files use full bit range
  • Signal Probing: Fixed crash when using signal probe with very large values
  • Snapshots: can save with a specific filename
  • Snapshots: works in tabbed patchers
  • Snippets: browser cleanup
  • Snippets: fixed crash when saving over an existing snippet
  • Standalone: multiple running instances containing node.script work as expected
  • Subpatchers: no longer erroneously open help patchers with same name
  • sysexin: sysex passed for all devices when set to 'all'
  • System Info: reports correct OS build version (Windows)
  • tab: set attribute works from tabs index outlet
  • Tabbed Patchers: fixed crash when changing showontab attribute
  • Tabbed Patchers: setactivetab works in standalones
  • Text Editor: file save prompt is not shown for embedded content
  • text: improve errors when invalid files are read
  • textbutton etc: fixed #N processing for UI objects that have "text" attributes
  • textedit: fixed restore of contents on reload
  • textedit: improved save/recall from pattr/preset/parameter
  • thispatcher: can use patchlinecolor in scripting commands
  • thispatcher: window flags nozoom works after save/reload
  • thresh~: does not change its other limit value with new limit value
  • thresh~: supports ints
  • Toolbar browsers: can drag and drop when multiple items are selected
  • Tour: fixed crash when clicking on inlet object
  • triangle~: improved argument / attribute parsing
  • umenu: shows pop-up menu on correct monitor when patcher is zoomed in
  • VIDDLL: eliminated warning of missing install in runtime
  • VIDDLL: fixed crash when asyncread called from JS
  • VIDDLL: fixed defaultcachesize preference
  • Video Browser: fixed crash when playing some files (Windows only)
  • VIZZIE 4OSCIL8R, OSCIL8R, FOLLOWR: rendering improvements
  • VIZZIE CROPPR: fixed input bug
  • VIZZIE croppr: matrix input allowed
  • Vizzie: fixed issues with bfgener8r parameters
  • VIZZIE: fixed js errors with help files
  • vst~: fixed cases where sampling rate and vector size is ambiguous
  • vst~: fixed crash when signal vector size is changed (Win)
  • vst~: fixed unique ids for VST2 plugins
  • vst~: reduce frequency of outgoing MIDI event callback to fix stalled MIDI output
  • Windows: lesson browser shows correct times
  • zl: no longer crashes with too many arguments
  • zplane~: fixed crash if input from filterdesign does not contain zpk info

New in Max 8.1.11 Build 210413 (Apr 14, 2021)

  • New Features:
  • function: added immediate edit option for inactive click
  • mc.function: added 'clickinactive' attribute for switching active function
  • Fixed Bugs:
  • event probing: disabled appropriately in Max for Live and runtime
  • vst~: fixed resolution of unique id for VST2 plugins
  • vst~: properly update sample rate when it changes

New in Max 8.1.10 Build 210222 (Feb 23, 2021)

  • New Features:
  • Clippings: new Global.db2Value clipping
  • Live Object Model: updated Documentation for Live 11
  • Fixed Bugs:
  • Audio Plug-In Scanner: works on Windows
  • CEF / jweb: update to CEF (primarily for MacOS and Apple Silicon compatibility)
  • Fonts: fixed crash on startup when font doesn't have a display name or full name
  • jit.textfile: fixed crashing due to bad memory access (fixes hot-swapping Vector FM and Emit presets)
  • Jitter in Javascript (jsjitter): fixed usage
  • jsliveapi: improve handling of large strings
  • live.banks: fixed bank renaming in response to '-' argument
  • live.banks: fixed crash when adding a new bank with index 1 when banks are empty
  • live.banks: prevent crashing with malformatted input, improved error reporting
  • mtr: read message works properly
  • send~/receive~: fixed freeze when setting names of objects (fixes Vector FM device)

New in Max 8.1.8 Build 201027 (Oct 28, 2020)

  • Fixed Bugs:
  • live.scope~: now marked as a factory object and not included in collectives and Max for Live devices
  • mtr: fixed crash on clear
  • Translations: Fixed use of custom Docs directory
  • umenu: fixed prefix output

New in Max 8.1.7 Build 201013 (Oct 14, 2020)

  • New Features:
  • jsparamlistener, jsmaxobjlistener: 'silent' property and 'setvalue_silent' method
  • Live API: Support for Dictionary as return type
  • Fixed Bugs:
  • Big Sur Compatibility: fixed issues with Node for Max / Max for Live
  • live.gain~: textcolor changes label text
  • mc: fixed crash with scheduler in overdrive
  • metro: outputs immediately when interval is specified in BBUs
  • MPE: polymidiin outputs correct channel when receiving CC before note
  • pattrstorage: retyping a pattrstorage object with a new name argument modifies the scripting name of the box
  • playlist~: properly set the active state so we are able to notify on start again
  • plot~: margins calculated properly
  • Tabbed Patchers: Fix setactivetab when used in top level patcher
  • table: unique identifier #0 for name is respected
  • VIZZIE: fixed PLAYR "read" message for legacy support, and update moviefolder help patch

New in Max 8.1.6 Build 200922 (Sep 23, 2020)

  • New Features:
  • Event Probing: reset / clear
  • Event Probing: transform last event to a message
  • Examples: Quad Spatializer update
  • function: autosustain & clicksustain Cmd/Ctrl Click / Double-Click options
  • function: pointsize attribute
  • jit.gl.shader / jit.gl.slab / jit.gl.pass: filewatcher support for externally referenced shader files
  • JS: 'patchcords' property for maxobj
  • js: getvalueof/setvalueof dictionary support
  • jspainter: autowatch for automatic update to UI
  • jspainter: can be used for object box, message, and comment
  • jspainter: mgraphics.textfieldvisible property to show text over jspainter background
  • jspainter: the Max jsobject is available
  • live.* UI objects: accepts comma for typing decimal numbers
  • live.scope~: new Max for Live UI object for visualizing signals
  • Max for Live: minimum_live_version, miniumum_max_version, platform_compatibility device patcher attributes
  • MIDI: ‘matchport’ attribute
  • midiselect: @hires attribute for pitchbend
  • mtr: many new features
  • multislider: 'scrollclear' message
  • Parameter Window: added annotation and annotation_name (Info and Info View Title)
  • Patching: toggle z-order of patch cords and boxes (u key or toolbar button)
  • peakamp~: signed attribute
  • train~: attributified, added resetmode, fixed initial delay issues
  • Vizzie 2.1.3: included as default factory package. For more info see the Vizzie 2.1 release announcement
  • Fixed Bugs:
  • 3rd party externs: added path/moddate for validated externals to the database
  • absolute~: fully recalculate the accumulator once per buffer
  • absolutepath: package path expanded appropriately (Win)
  • Live Device: shows UI instead of amxd~ when creating via double-click in toolbar browser
  • bpatcher: can type '@embed 1' in box while creating object
  • bpatcher: fixed crash when toggling presentation mode in a new view
  • bpatcher: fixed handling of quoted string arguments
  • buffer~: fixed issues with sending 'normalize 1' (integer) from scheduler thread
  • changeable / poundsign arguments: arguments preserved when abstraction is updated
  • Color popup: works in tabbed patchers
  • Database: Fixed issues with early DB shutdown sequence
  • Debugging: Auto Step gets a check mark when selected
  • decode: modernized, 64-bitized
  • dict: ensure correctly cached filepath when editing
  • dict: thread safety improvements
  • dict.route: fixed memory leak
  • Fonts: fixed memory leak
  • fpic: autofit attribute is visually disabled when using an SVG file
  • frame~ / framesnap~: fixed memory allocation issues
  • function: fixed drawing when colors have an alpha < 1
  • funnel: fixed issues with 'offset' message
  • Gen: improved error detection / fixed crash when retyping a non-compiling gen~ to gen
  • hover: works on textedit in locked patcher
  • inlet object: double click in tabbed patcher reveals tab view
  • Inspector color popup: stays on screen
  • Inspector: color popup allows selection of absolute white (1, 1, 1, 1) value
  • Inspector: fixed crash when closing while edit dialog is open
  • Inspector: fixed crash when selecting object and inspector is open
  • Inspector: Improvements to ITM parsing to fix most of the issues with the units menu
  • jit.gl.material: material browser maintains connection with parent patcher
  • jit.gl.model: shininess values clamped to valid range
  • jit.movie (VIDDLL): movie plays if loaded with rate set to 0
  • jit.movie (VIDDLL): playback works after reaching movie end with @loop 0
  • jit.playlist: properly adapts dimensions for matrix output
  • jit.record (AVF): no longer posts invalid errors after a short period of time recording
  • JS Live API: ensure that paths and objects are properly freed
  • JS: can access bpatcher box attributes
  • JS: fixed patcher getsize crash when patch is not visible
  • js: newdefault properly interprets space-delimited strings for object text
  • jsui: prevent crash when using mgraphics functions with no context
  • jweb / cef / node.debug: fixed update issues on second monitor
  • JXS include glsl feature and improvements to file reference UX
  • live.* UI objects / Parameters: 'hidden' parameter will output their value if changed when enabling device
  • live.* UI objects: shift + arrow key changes by 12 units
  • live.dial: improve triangle appearance
  • live.gain~: improved drawing performance
  • live.gain~: UI updates when short name changes
  • live.thisdevice: removed milliseconds unit from the latency attribute’s label
  • M4L Info view: shows when object is in a subpatcher
  • M4L search path: user defined file path available in Live
  • makenote: fixed iteration of note list when stopping a specific pitch
  • mapping: improve performance of outgoing MIDI mapping
  • Max Console: improved 'new content' dot updates
  • Max for Live / gen~: fixed crashing when hot-swapping presets of some devices that have gen~
  • Max for Live gen~ caching: devices updated when hot-swapping presets
  • Max for Live: prevent recursion when resaving built-in devices under the original name
  • Max Help: eliminated black flash on patch open (Win)
  • Max SDK: object_post in object free no longer causes a crash
  • maxdb: fix quoted path issue when caching the results of xattr validation
  • MC: fixed @values attribute crash
  • mc.bands~: channel count update is applied when a new band count is received at the 4th inlet
  • mc.poly~: fixed crash when changing voice count when audio is on
  • mc.vst~: mcisolate off no longer causes feedback when using plug-in UI
  • mgraphics: fontlist no longer truncates inappropriately
  • midiselect: @hires behaves like midiparse/midiformat
  • mira.multitouch: swipe reports finger count
  • mtr: numerous bug fixes
  • N4M node.script: first attempt of 'script start' in amxd device works
  • N4M: fixed addHandler JSDoc example
  • node.script: fixed message processing right after script start
  • Object ignoreclick: don't send cmd+click to ignoreclick boxes
  • Operate While Unlocked mode: fixed issues with ignore click enabled objects
  • parameter / loadbang: fixed restore sequence
  • Parameter Window: fixed potential crash
  • Parameter: patcher load does not dirty objects
  • Parameters: custom unit style is disabled when appropriate
  • patch cord: redraws after enabling / disabling
  • Patcher windows: titlebar height is 0 for notitle windows
  • Patcher: fixed painting of background when patcher is opened in presentation and objects have negative rects
  • Patcher: improvements to background color management
  • patching: fixed issues when abandoning drag of patch cord
  • Patching: prevent patch cord selection while patcher is locked
  • pattr: unique symbolic names are not renamed on delete/undo
  • pattrstorage: changed Interp wording in client window from "none" to "off"
  • pattrstorage: complete interpolated recall when overshooting destination value
  • playlist~: fixed crash when multiple files of different types are dropped on the object
  • playlist~: fixed crash while switching presets
  • playlist~: improved fix for crashes with time stretching enabled
  • plot~: domain calculation treats negative numbers as 0
  • plot~: fixed mousing coordinate being off on the y axis
  • plot~: lower background redraws with correct color
  • Projects / Node For Max: improve consolidation behavior
  • Projects: improved restoration of saved search paths
  • regexp: can match commas
  • scale: fixed 64-bit int arg truncation (Win)
  • Search paths: fixed multiple files warning when a file and folder share a name
  • Search: improve search results with double quotes
  • sfplay~: reverse playback improvements
  • Shortcuts: h key highlights when cursor is over box
  • snapshot~ / number~: performance improvements
  • standalones: externals are now copied to the standalone's resource folder (and no longer embedded in the standalone's collective) on macOS & Windows
  • sysmidi: added protection for invalid header data
  • sysmidi: performance improvements
  • text: improved .txt extension checks
  • textedit: cursor is no longer hidden in Max for Live device after text output
  • thispatcher / fpic: rendered correctly when nogrow flag is used
  • thispatcher: setactivetab message works in tabbed child patches
  • Tour: fixed background color
  • Transparent patchers: redraws properly when objects are moved
  • umenu: properly restore parameter values when @pattrmode=1
  • VST plugins: fixed crash when folder contains alias to itself (prevent recursive scanning)
  • vst~: fixed issues with plugins with a '/' in the logical name
  • vst~: improve parameter change repetition filtering
  • vst~: VST3 instruments work when created by dragging from sidebar
  • Windows: fixed issues related to Windows 10 antimalware protection

New in Max 8.1.5 Build 200616 (Jun 17, 2020)

  • Fixed Bugs:
  • BEAP: Bugfix update to v1.0.3 (see BEAP Github for changes)
  • install: improved Mac startup time (don't check validity on externals in Max's resources folder)
  • jit.gl.slab: fixed read message
  • jit.grab (AVF): fixed crash when device removed and getformatlist queried
  • jit.playlist: fixed issues when reloading patches with texture output and implicit drawto
  • jit.world: maintain connection to matrix only object on patcher load
  • Jitter: setting attributes with attrui does not crash
  • jsmaxobjlistener, jsparameterlistener, jsparaminfoprovider: added to Windows installer
  • jsparaminfoprovider: improve getinfo dictionary
  • live.banks: add/remove buttons work
  • Parameter: ensure dictionary ordering in patcher JSON
  • Parameter: fixed undo issues with stored only pattr objects
  • Patcher Windows popup in Toolbar: fixed crash when selecting some patchers
  • Patcher: transparent notitle windows work even when enabletransparentbgwithtitlebar is off
  • pattrstorage: ensure savemode respected when object is freed
  • Snapshots: fixed restore issues with some patches
  • VIDDLL jit.movie: fixed non-HAP texture alpha channel usage
  • VIDDLL jit.movie: position attribute does not trigger playback

New in Max 8.1.4 Build 200527 (May 27, 2020)

  • New Features:
  • 3rd party externals: dialog to allow 3rd party unsigned externals
  • dialog: three new modes (Alert, Confirmation, Extended)
  • jit.pworld: new object that encapsulates jit.pwindow and a GL context
  • jit.pwindow: support for texture input without a CPU readback
  • Jitter Probing: added texture support
  • JS Patcher / Maxobj: getattrnames / setattr functions
  • JS Task: new freepeer() function to unroot and mark object as invalid
  • JS: new MaxobjListener, ParameterListener, ParameterInfoProvider objects
  • jweb: added rendermode for transparent background
  • jweb: preference to enable debugging and set port for jweb / CEF
  • jweb: update to Chromium 80
  • package: support installing .maxpacks by dragging them onto Max
  • Patcher: assistshowspatchername attribute to set inlet/outlet assistance behavior
  • Patcher: enabletransparentbgwithtitlebar attribute to enable transparent background when title bar is visible (Mac)
  • patcher: transform abstraction to subpatcher
  • playlist~ / jit.playlist: preset/pattr/snapshot support
  • playlist~ / jit.playlist: added duration, durationms to content dictionary
  • playlist~: added selectionms, channelcount, samplerate to content dictionary
  • playlist~: autocreate mc.playlist~ when dragging multichannel files
  • playlist~: implement signal cue triggering / new mapcue feature
  • playlist~: set play head position with milliseconds
  • playlist~: signal driven playback
  • playlist~ / jit.playlist: undo/redo for slot changes
  • playlist~ / jit.playlist : exposed sfplay~ and jit.movie attributes
  • rslider: thickness attribute
  • VIDDLL: defaultcachesize preference (defaults to 0.5 GB)
  • Video objects: support for dynamic patchcords based on output type (matrix or texture)
  • Video Browser: support for Hap files
  • Fixed Bugs:
  • allpass~: no longer randomly removes one sample delay
  • append / prepend: modernized and fixed 64-bit truncation issue
  • Audio Status: added bullet style check mark in driver menu
  • Audio: non-signal connections from MSP objects no longer triggers DSP chain recompile
  • bitand~: fixed int usage in mode 2
  • bitor~: calculates output values correctly
  • buffer~ playback objects: fixed potential deadlock when changing reference to buffer
  • buffer~: filetype and format are now attributes
  • buffer~: sizing attributes change when any change (including sizeinsamps message)
  • capture: fixed crash when precision argument is invalid
  • dict: fixed readagain message
  • dict: quiet mode remains quiet for subdicts
  • fft~/ifft~: proper help patches open
  • fpic: fixed hang when loading SVG files via attribute
  • hover: works on contained components in a locked patcher
  • Inspector: fixed issues with color picker when setting gradient
  • Inspector: improvements for undo of non-box attributes
  • itable: fixed hint attribute
  • jit.mgraphics: svg_set method works
  • jit.movie: viddll engine can load JPG from URL
  • jit.playlist / playlist~: improved drawing performance
  • jit.playlist: improved attribute exposure and display
  • jit.playlist: improved still image support
  • jit.playlist: loadmess 1 can be used to start playback on patch open
  • jit.playlist: loads project media when using VIDDLL engine
  • jit.playlist: vol message works when clip is not playing
  • jit.pwindow: fixed zooming issues when rendering OpenGL
  • Jitter Probing: fixed matrix probing for video objects
  • JS Task: improved reliability (Task objects are now rooted)
  • jstrigger: fixed crash when entering two double quotes in box
  • jweb: better url path handling
  • jweb: fixed crashes when using max.outlet CEF js API
  • jweb: fixed interaction when "operate-while-unlocked" is enabled
  • jweb: txt & html files render properly
  • key: fixed reporting of arrow keys when bpatcher has focus
  • limi~: fixed assistance and reference page issues
  • limi~: properly constrain release and lookahead attributes
  • limi~: threshold attribute is now absolute instead of relative and eliminated ramp
  • live.banks: correctly handle live.banks in a subpatcher
  • live.banks: more descriptive errors when present in amxd~ in Max
  • live.slider: fixed mousing in horizontal slider when steps are used
  • live.thisdevice: no longer outputs preview state twice when inside a subpatcher
  • M4L info view: fixed visibility of info on mouse over (Win)
  • Mac Standalone: fixed app store entitlement crash
  • Mapping: don't draw outlines for hidden boxes in locked patchers
  • mapping: improved hit-testing of subpatcher views
  • Max For Live: clicking on a parameter will correctly change focus to device
  • Max for Live: increase sysex buffer to match Live's limits (256k per device)
  • Max For Live: reworked warning that VIDDLL is not installed by default
  • MC: mc.pack~, mc.combine~, mc.wrapper~ protect against > 1024 channels
  • mc.list~: minimum channel count is now 1
  • menubar: dirties patcher when script is manually changed
  • mtr: fixed play data corruption when triggering play from object output
  • multislider: fixed drawing vertical bars
  • packages: verify platform compatibility when the server reports an update
  • parameter window: fixed crash when adding columns
  • parameter: improve shortname behavior when restoring devices
  • parameter: improved ordering output in Max
  • parameter: initial_enable output improvements for patcher load
  • parameters: fixed potential memory corruption and crashing with blobs
  • patchcords: display improvements based on data type
  • patcher->bpatcher transform: fixed @ style args and memory leak
  • Patching: 'snapping' improvements and shortcuts
  • pattrstorage: recallmulti normalized weights more reliable
  • playlist~: beginning of long sample is no longer played twice when timestretching is enabled
  • playlist~: contextual menu follows object position (Win)
  • playlist~: fixed crash when adjusting channel count with audio on
  • playlist~: fixed crash when loading long filename with weird characters
  • playlist~: fixed issues when shift-dragging past right edge
  • playlist~: fixed playback at different sampling rates
  • playlist~: fixed playback when direction changes
  • playlist~: improved cursor position for command / option + drag operations
  • playlist~: improved playhead redraw when using signal playback
  • playlist~: removed click at end of sample when timestretch is enabled
  • playlist~: reports errors properly (instead of being labeled as sfplay~)
  • playlist~: sync outlet improvements
  • playlist~: sync output follows Max's sampling rate
  • playlist~: timestretching state is properly restored
  • playlist~ / jit.playlist: can drag attributes from inspector to create attrui
  • playlist~ / jit.playlist: fixed erroneous "start" notification when stopping a playing clip
  • playlist~ / jit.playlist: UI & interaction improvements
  • print: double-click in console on object print will open bpatcher's window
  • Project: retains chosen amxd export type
  • Projects: accepts folder names which are a superstring of the project name
  • scale: bang outputs last list to be consistent with number output
  • sfplay~: all attributes are listed (and greyed out, if appropriate) in quickref menu
  • sfplay~: eliminated repeated audio at the start of a long file when timestretch is enabled
  • sfplay~: ensure loop range under extreme conditions
  • sfplay~: fixed potential issues with cue loading
  • sysaudio: fixed crash when freeing audio engine
  • tabbed patcher: fixed crash switching tabs in fullscreen patcher with transparent background
  • textedit: ASCII 13 (cr) no longer adds an extra space
  • thispatcher: window notitle no longer zooms the window
  • tosymbol: single symbol can be up to 32K, input symbol can be 4K
  • VIDDLL: Fixed crash when using FlexASIO and VIDDLL
  • VIDDLL: improved performance with Hap files
  • vst~: fixed crash when replacing plugin
  • vst~: improvements to subname output
  • waveform~: fixed errors after second standalone build
  • Zooming: works more broadly across objects (chooser, umenu, playlist~, etc)

New in Max 8.1.3 Build 200310 (Mar 11, 2020)

  • Fixed Bugs:
  • Audio Status: fixed crash when audio is started via loadbang and input / output is set to none
  • dict.view: fixed crashing and redrawing issues when in a new view of a patcher
  • drunk: modernised seed implementation
  • File loading: fixed crash when opening a 'maxb' renamed to .maxpat
  • File Search Path: paths with " (double quote) character work
  • Inspector: shows correct colors after Theme change
  • jit.movie: works in standalones
  • jit.playlist: fixed crash on unsupported files
  • js: improvements to setting and getting global properties
  • jsliveapi: simplified means of acquiring the jsobject's classname
  • live.* UI objects: show annotations in Live info view
  • live.gain~: display cleared when device is deactivated
  • live.text: disabled roundness attribute
  • Max Console: preserves state of show only errors and show time stamps across launches
  • Max for Live Console: only show the Console window if it is already open (M4L)
  • MC wrapper: chans attribute can be changed when audio is off
  • mc.function: setvalue next message is sent to specified channel
  • mc.function: properly reports mouse position
  • object box: color attribute works as expected
  • Packages: improvements to CPU usage after changing xattrs (Mac 10.15)
  • popup menus: clicking outside the menu is consistent with platform behavior
  • radiogroup: parameter size properly initialized
  • record~: int and float behave as described in the documentation
  • scale: fixed usage of exponent less than 1.0
  • scale~: parity with scale in classic mode
  • sfplay~: fixed crash when toggling timestretch attribute
  • Standalones: adjust frameworks and extern plist for Catalina compatibility (Mac)
  • Standalones: unsign Frameworks and runtimes during builds (Mac)
  • suckah: fixed usage on Windows 7
  • svgcolor: works in multiple patcher views
  • Tabbed Patcher: fixed crash when changing showontab attribute
  • Tabbed patchers: setactivetab falls back to name attribute if title attribute is empty
  • thispatcher: fixed issues with triggering changes from the scheduler
  • zoom: changing zoom changes umenu, live.menu sizing of popup and object

New in Max 8.1.2 Build 200128 (Jan 29, 2020)

  • 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 a 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.1)
  • 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 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~: 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
  • scale: calculation parity with scale~ and negative value input improvements
  • 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

New in Max 8.1.1 Build 191112 (Nov 14, 2019)

  • New Features:
  • Preferences: ask to restart Max when glengine / translations prefs change (if needed)
  • Fixed Bugs:
  • Audio Drivers: prevent crash if there are no audio devices present
  • Dialog box: closing save dialog box via 'X' no longer closes unsaved patcher
  • Embedded / factory fonts: prioritize versions in the distro
  • Fonts: "light" font types render properly (Windows)
  • Gen: inlet/outlets update properly while editing Max for Live device
  • Inspector / parameter window: fixed modmode menu
  • Inspector: fixed crash when dragging attribute
  • Inspector: fixed potential crash when selecting an object with inspector open
  • Inspector: view is refreshed after undo
  • jit.gl.lua: fixed crash when using a lua file in frozen M4L device
  • Gen: fixed crash pasting Max objects into a Gen patcher
  • jit.gl.multiple: fix issues with pass effects that require VELOCITY and target object is bound to a material with a texture
  • jit.gl.pass: fixed file reading from a collective
  • jit.release: outputs correct signal types
  • jit.wake: attrui updates appropriately for "group" attrs
  • jit.world: fixed @output_matrix 1 crash on Intel_Iris GPU (Mac)
  • js: fixed crash when sending patchername message to poly~
  • live.* ui objects: fixed issues with output if scripted in a bpatcher when pattrstorage @greedy 1 is present in parent patcher
  • live.object: always pass full resolution floats back to Live
  • M4L: fixed crashing related to transport synchronization
  • M4L: improved launching Max editor from Live (Mac)
  • Max Console: fixed crash after an object that posts is deleted
  • mc.gen: mc_channelcount updates after chans attribute change
  • mxj: fixed issues with crashing, opening files, recover edits, etc
  • Patcher: showontab attribute is now a three-state enum (none, parent, top-level) instead of on-off
  • pattrstorage: pattr objects are properly registered when scripted
  • pfft~: fixed crash on patcher close
  • Ref sidebar window: fixed potential crash
  • Patching: fixed locked patcher context menu
  • Snapshots: no longer stores truncated float values
  • Standalones: no longer unnecessarily complain about missing files (Win)
  • tabbed patchers: tabs retained when creating a new view
  • Toolbar: removed extraneous ampersand in "Patcher Windows" context menu
  • umenu / live.menu / context menus: no longer block the scheduler while drop-down list is displayed (Mac)
  • vst~: correct VST3 Waves shell plugins load
  • vst~: fixed native editor UI rendering issues with some plugins
  • vst~/vstscan: scanning no longer blacklists non-signed plugs
  • Windows dependencies: prefer dependencies in the distro (libcef.dll, viddll/ffmpeg dlls, etc)

New in Max 8.1.0 Build 190924 (Sep 30, 2019)

  • New Features:
  • Inspector: save, restore view, disclosure, filter etc on a per-object basis and other improvements
  • jit.gl.graph: matrixoutput support
  • jit.mo: Package added to the standard Max distribution
  • live.comment: new object - text color follows Live interface colors
  • MC: initialbusystate attribute to set the default busy state to zero to avoid high CPU usage
  • pattrstorage: added filter bar to client and storage windows
  • Themes: allow loading from Packages (interfaces/themes)
  • thispatcher: can get path of .amxd
  • vst~: valuemode attribute to set output format
  • Fixed Bugs:
  • Audio Settings: Fixed crash with mismatched sample rates
  • Autocomplete: holding down arrow key works as expected
  • Database: fixed crash when harvesting a patcher missing a 'box' dictionary
  • Debugging: Window properly drawn at all sizes
  • dict.view: fixed issues and possible crashing with dictionary display
  • expr: random no longer produces an offset of -1 (Win)
  • Fonts: “light” and “italic” fonts fall back and render properly (Windows)
  • groove~: plays back without artifacts when sample rates do not match
  • jit.gl.render: high-res rendering enabled if enabled on app (via open in low resolution checkbox)
  • js: fixed logic of multi-line posts
  • jweb: fixed drop position with drag and drop from jweb to Max patcher
  • jweb: fixed flashing when deleting jweb (Win)
  • jweb: works in Max for Live
  • kslider: range no longer resizes object on reopen
  • live.banks window: fixes and improvements
  • live.drop: fixed issues with recalling large files
  • live.text: fixed crash with changing picture attributes
  • Mac OS: 10.15 Catalina Support
  • Mappings: all entries properly shown in window
  • Mappings: fixed issues with removing entries
  • Max Console: fixed crash after an object that posts is deleted
  • Max for Live Device: border color follows Live theme
  • Max for Live phasor~: @lock 1 does not degrade
  • Max for Live: fixed crash when editing a device while a large number of files are open
  • Max for Live: fixed errors with floating point arguments like in sprintf
  • MC amxd~/vst~: fixed issues transforming to multichannel versions
  • MC: objects in a subpatch can be muted
  • mc.selector~: wrapper no longer converts int to float
  • opened object: works at app launch
  • Packages: max.db.json respects exclusions (Win)
  • Parameter window: fixes and improvements
  • Parameters: fixed crash when automating a parameter via another parameter
  • Patching: patch rendering improvements
  • pattrstorage: client window updates interp column when default_interp is set on client pattr
  • pattrstorage: corrected cell colors
  • pattrstorage: fixed crash when double-loading a file
  • playlist~/jit.playlist: loop button always appears
  • poke~: protect against zero sized buffers
  • poly~ / thispoly~ outputs voices in correct order
  • print: no longer adds a space before list messages
  • Templates: "New from Template" no longer triggers duplicate loadbang, loadmess, and js post
  • text object: entering cr works as expected
  • textedit / pattrstorage: recalls properly
  • textedit: set message is synchronous
  • vst~: eliminate double output of some parameter values
  • vst~: fixed crash after plug_vst followed by params message
  • vst~: fixed setting attributes in object box
  • vst~: parameter names correctly reported with Reaktor plug
  • vst~: state restored when plugin name differs from plugin display name

New in Max 8.0.8 Build 190808 (Aug 9, 2019)

  • New Features:
  • chooser: new selectedclick attribute
  • expr/vexpr: fmod operator for float modulo operations
  • Max Console: Copy Selected Text option in contextual menu
  • sprintf: allows list input to cold inlets to set subsequent inlets
  • vst~: 'get' message accepts a parameter name
  • Fixed Bugs:
  • amxd~: fixed crash on unfreeze of device (parameter restore issues)
  • atoi: no longer truncates floats
  • audiounit~: improved usage of preferred plug format in response to plug_au/vst/vst3 messages
  • autopattr/pattrstorage: fixed issues with deleting/reinstantiation of objects
  • capture: @size attribute works when there is no object argument
  • Collections browser: filenames with single-quotes no longer throw sqlite errors
  • Create Template: fixed text wrapping in panel
  • detonate / pianoroll: color theme improvements
  • dict.view: improved performance with large dictionaries
  • expr: fixed differences with pow on Windows
  • expr: increased random range
  • external editor: fixed issues with using some editors on Windows
  • Font Panel: uses localized font names
  • gain~: multislider attr is disabled in non-MC version
  • Gen reference: removed duplicate ref pages
  • Groups: fixed crash when editing a poly~ patch or abstraction that contains grouped objects
  • Help: fixed windowing bug
  • hover: fixed crash when deleting an object when @mode is set to 1
  • JS: fixed crash using bracket notation
  • JS: require works in frozen Max For Live device
  • jstrigger: fixed issues with complex expressions
  • live.* UI objects: improve how different mouse drag speeds changes values
  • live.arrows: fixed presentation issues
  • live.arrows: parameter-enabled (off by default)
  • live.arrows: rename idle -> off in enum
  • live.banks window: misc UI improvements
  • live.dial: correctly draws modulation ring
  • live.drop: disabled 'type' in inspector
  • live.observer: object with property argument observes after id is sent
  • live.text: added blinktime attr and scheduling for passing bangs while in button mode
  • loadbang: fixed hang when triggering the scripting of a new patcher
  • Max For Live SR switching: fixed issues with speedlim, pipe, midiout, LFO etc, when switching SR in Live
  • Max For Live: fixed crashing of some Max 7 amxds (parameter cloning issue)
  • Max For Live: removed 2 pixel border in device view
  • MC object reference pages: removed duplicate discussion tag
  • mc.gen: added ref page
  • mc.gen: registers param objects
  • mc.mixdown~: activechans 1 outputs as expected
  • mc.playlist~: sync output is single channel
  • mc.send~ / mc.receive~: opens correct ref pages
  • mc.send~ / mc.receive~: correct ref pages open
  • mcs.* objects: improvements to help / ref
  • MFL jit.pwindow: fixed issues with creation in Live (fixes some LFO display issues)
  • MFL jit.vcr: write works in the MFL editor
  • MFL midiin/midiout: fixed CPU spikes when two midiin/midiout devices are in a Live set
  • MFL parameters: fixed some issues related to parameters being loaded in abstractions
  • midiin/midiout: fixed CPU spikes when two midiin/midiout devices are in a Live set
  • New Font Panel: follows Theme color changes
  • nslider: alias 'staffs' to 'staves'
  • omx.* objects: restored parameter ranges to signed values and fixed all level parameters with internal "dB" values
  • out~: fixed crash when transformed to MC version (which doesn't exist)
  • Package Manager: can update "extending" package
  • Parameter window: correct text colors
  • Patching Modes: Programmatic setting of presentation mode updates the toolbar
  • pattrstorage: adding/scripting new objects added to correct level in patcher hierarchy
  • pattrstorage: getcurrent and storagewindow indicate same slot after insert
  • pattrstorage: storagewindow properly updates
  • polybuffer~: removed appendempty channel limit
  • sflist~: open message works
  • standalone: respects attributes set in object box
  • stutter~: threadsafe
  • textfield: fixed justification of italic fonts
  • umenu: filter by type improvements
  • vst~ / amxd~: fixed applying 'show controls in patcher' on multiple objects
  • vst~: fixed crash in IEM plugin
  • vst~: improved response to DSP settings
  • vst~: improved support for 64-bit processing

New in Max 8.0.6 Build 190611 (Jun 12, 2019)

  • New Features:
  • Font Panel: custom font window (pref on Mac for OS font panel)
  • Fonts: limited emoticon support
  • Fonts / Packages: fonts folder for custom Package Fonts
  • live.toggle/live.text: enter key inverts value (as the native Live UI does)
  • mcp.sfplay~: independent control of N sfplay~ objects (outputs one MC signal)
  • mgraphics: 'setsvg' method to load SVG from file or string
  • Node For Max: MAX_ENV environment variable to determine runtime environment of the JS script
  • Patching: preference to enable patcher scrolling with arrow keys
  • vst~: @prefer attribute to select a preferred plug-in format
  • xctlin/out: @lsbfirst attribute
  • Fixed Bugs:
  • ad_rewire: fixed MIDI driver
  • attrui: fixed crash when connected to comment in displaymode 2
  • attrui: fixed keyboard input when display mode is not automatic
  • BEAP: fixed keyboard module
  • comment: patching_rect respected when scripted (ie About Max window)
  • detonate: fixed crash when moving selected notes
  • Font panel: can be typed in (Windows)
  • Font Panel: Lato and Ableton Sans are available (Windows)
  • fontlist: returns all font face+style combinations (Windows)
  • Fonts: fallback font improvements (Mac)
  • Fonts: fixed rendering of many characters
  • Fonts: object box width no longer changes when font is changed (Windows)
  • function: fixed crash when clicking/dragging while lists incoming
  • Gen: calculation of large values no longer produces errors
  • Gen: does not generate code for inputs when no inlets are present
  • Help patcher tabs: fixed crash when clicking on + icon to show hidden tabs
  • ITM: minimum positive values (metro interval minimum is 0.1ms)
  • Japanese Installer: Japanese characters are rendered (Windows)
  • JS: console post no longer adds extra lines
  • jit.gl.model: fixed getmaterial_dict crash (Windows)
  • jit.pwindow: appropriately hidden when changing view to tabbed patcher (Windows)
  • jit.pwindow: fixed crashes when changing rect due to changing DPI (Windows)
  • jit.window: fixed crash with rect message / DPI issues (Windows)
  • jit.window: improvements for multi-monitor setups (Windows)
  • JS: fixed error: method pushcontextframe called on invalid object (M4L Chooser, etc)
  • limi~: fixed crash when changing lookahead
  • live.* UI objects: improvements to make value output consistent
  • live.path: outputs properly when in a subpatcher that is in a poly~
  • loadbang / freebang / patcher load: general improvements
  • mapping: relative mode improvements
  • Max For Live: audio fades in/out when editing devices
  • Max For Live: fixed crash when freeing cached genpatcher
  • Max PlugIn Scanner: safeguard against bad XML in plugin names
  • maxdb: fixed issues when dequeuing tags
  • Node For Max: Improved Documentation
  • OpenSSL: updated version
  • Package Manager: File Browser window is no longer blank after uninstall and restart
  • slider/dial: updating range works
  • standalone: fixed namespace issues with Max objects and node_modules files
  • standalone/projects: embedded folders work (Windows)
  • Styles: border color and text color are saved when modified
  • vst~: multiple channel layouts support

New in Max 8.0.5 Build 190409 (Apr 11, 2019)

  • Fixed Bugs:
  • degrade~: signal input into right inlet no longer crashes
  • jit.gl.material: fixed heightmap vtf crash
  • jit.gl.mesh: fixed crash with 1 dim color matrix input
  • Node For Max: POST_LEVELS work as expected
  • parameter: reverted to Max 8.0.3 behavior of how the default value is set in the absence of an initial value
  • poly~: fixed crash when receiving a midinote message
  • poly~: voicing is consistent after switching poly~ patcher name
  • poly~ / live.path: outputs in all voices
  • preset: slots draw properly on loading pattrstorage preset data

New in Max 8.0.4 Build 190319 (Mar 20, 2019)

  • New Features:
  • itoa/atoi: utf8 attribute to always produce / expect UTF-8
  • jit.gl.bfg: GL implementation of jit.bfg
  • jit.gl.node: support for shader attribute
  • Node For Max: cluster support
  • Node For Max: custom binary paths
  • Node For Max: double click opens the node.script js file
  • Node For Max: global Max preferences for debugging
  • Node For Max: 'npm init' messages allow the creation of package.json files directly from Max
  • Node For Max: support for passing on CLI options to the Node binary
  • Node For Max: support for remote debugging scripts
  • VIDDLL 1.2.1: support for rtsp url streaming
  • VIZZIE: Added new TEXTURE2MATRIX utility module
  • Fixed Bugs:
  • audio: fixed memory leak in dspchain starting / stopping audio
  • autopattr/pattrstorage: fixed issues with deletion/reinstantiation
  • BEAP: sync from BEAP repo (master branch)
  • Blackmagic driver: fix issue with crash on multi-input devices
  • chooser: can use jspainter to draw over dataview
  • coll: fixed crash when a symbol doesn’t have any argument
  • extras menu: alphabetization improvements
  • GL: fix crash when instantiating jit.gl.model from JS without first instantiating outside JS
  • Groups: copy and duplicate of individual objects no longer retain Group information
  • Inspector: Object > Name menu no longer closes sidebar inspector
  • ITM "time" attributes: update in inspector/attrui when value is changed
  • jaudiowrapper: ensure that device is open before start/stop
  • jit.gl.light: allow binding to jit.gl.node sub-contexts
  • jit.gl.mesh crash with large dims
  • jit.gl.scenegraph: refactoring
  • jit.gl.slab: fix sendshader read message
  • JS: fixed memory leaks
  • JS: rebuilt with a newer SDK to support Notarizing for App Store
  • jsxmlhttprequest: fixed crash when sending a number via setRequestHeader
  • kslider: fixed issues with touchscreen mode
  • line: fixed memory leaks
  • line: initial duration of 0 works
  • live.step: direction random properly works with the next message
  • loadmess: single float argument was truncated to 32 bits
  • Max For Live: Breakpoint editing works in Arrangement
  • Max For Live: fixed 'Clang' crashes
  • Max For Live: pasting into an edited device no longer changes device name
  • Max path: Applications folder is not added (Mac-only) if Max is installed there
  • MC: fixed crash when wrapping with prefixed name
  • MC: fixed issues with MC-version transform and some MSP objects
  • mc.cascade~: coefficients work when input to right inlet
  • mc.function and others: help file opens from ref page
  • mc.number~: outputs number of channels when no input is connected
  • mc.rampsmooth~: can accept ints in its inlets
  • mc.stereo~: disables and ignores pan control mode
  • mc.voiceallocator~: better handling of post "endevent" audio release
  • mc.voiceallocator~: fixed crash with non-event messages
  • meter~: fixed usage with Mira
  • multirange: displays pattr-recalled data correctly
  • Node For Max: improved start, stop and restarting behavior
  • Node For Max: node.debug switches to ‘npm’ tab automatically when running any npm related tasks
  • Node For Max: node.script helpfile improvements
  • panel: fixed bad error messages when @drag_window is used in embedded bpatcher
  • parameter: any attribute in an abstraction can be edited
  • parameter: initial value is retained when duplicating
  • parameters: improved bpatcher support
  • patcher: fix old patcher loading
  • Patching: command/ctrl before click to disable snapping
  • Patching: fixed intermittent crash when right-clicking
  • pattrstorage: fixed issues leading to crash in VSynth
  • pattrstorage: getsubcriptionlist outputs a 'done' if there is nothing subscribed
  • pattrstorage: subscription improvements
  • peakamp~: improved memory initialization to avoid garbage output
  • pfft~: fixed crash when adding fftout~ to an MRO-ed patcher
  • pipe: fixed memory corruption
  • preset: clean up pattrstorage linkage
  • print: long lists are no longer truncated
  • scale: @classic 0 attribute works when scaling a list and using the exponent
  • seq: fixed addeventdelay message
  • speedlim: no longer stops when scheduler restarts
  • Support Info: package list sorted alphabetically
  • Vizzie: parameters are stored and recalled properly with pattrstorage
  • vst: fix editor crash with uninitialized audio
  • vst~: AUv2can load component plugins using filepath/drag
  • waveform~: fixed memory leak

New in Max 8.0.3 Build 190108 (Jan 9, 2019)

  • New Features:
  • mc.ifft~: added MC version
  • mc.plugin~: @chans attribute (like mc.plugout~)
  • Fixed Bugs:
  • dialog: fixed colors of Windows version (follows Theme)
  • jit.cellblock: fixed crash on clear all when using refer to coll
  • jit.gl.slab: fixed crash when opening text editor with shader that has errors
  • Jitter: fixed crash when processesing XML
  • Max For Live: fixed MIDI output after opening device in editor
  • MC Wrapper: accepts ints in inlets
  • mc.dac~ arguments no longer ignored
  • mc.gradient~: fixed crashes
  • node.script: improved finding .js files in amxds
  • regexp: fixed intermittent crash with empty symbol replacement
  • scope~: fixed issues with intermittent drawing
  • signal probe: fixed potential crashes if object is deleted
  • sqlite: fixed db errors when using certain characters in an object box
  • vst~: fixed right channel input for some plugs
  • vst~: generic controls are visible in presentation mode

New in Max 8.0.2 Build 181127 (Nov 29, 2018)

  • New Features:
  • BEAP: v1.0.2 cosmetic updates for Max 8
  • cycle~: 'reset' message to reset phase (a la phasor~)
  • inlet object: attr to define hot / cold state
  • limi~: lookahead limiter (mc and mcs versions too)
  • MC Wrapper: 'setvaluerange' message
  • mc.sum~: alias to mc.op~ @op sum
  • node.script: amxd~ support
  • Patching: "Keep Duplicated Objects in View" preference (defaults to off)
  • playlist~ / jit.playlist: append without arguments opens File dialog
  • playlist~ / jit.playlist: reportprogress attribute
  • Projects: search bar (by name)
  • Projects: viewmode to switch between flat and hierarchical views
  • Projects: Duplicate Project functionality
  • savebang: new object to bang on save
  • Snapshots: importsnapshot/exportsnapshot (Snapshots functionality for Standalones)
  • standalone: Added way to specify application icon with standalone object attribute
  • Typing: bring object to front when typing
  • VIZZIE: SOLARIZR module (based on jit.fluoride)
  • Windows multitouch: multitouch support for multislider
  • Fixed Bugs:
  • amxd~: dependencies updated after re-save
  • amxd~: files are found in the same directory
  • autocomplete: aliased objects have descriptions
  • autopattr/pattrstorage: fixed issues with deleting/reinstantiating objects
  • atoi: outputs int when there's only one value
  • buffer~: 'write' messages with simple filenames works
  • chooser: fixed crash updating with scheduler in overdrive
  • chooser: margin is respected
  • chooser: updates pattr objects when value changes
  • closebang/freebang/savebang: consistently support bang and dblclick
  • coll: fixed crash when dumping a large line
  • coll: fixed issues with using name of object/vignette/doc/etc
  • Core Audio: remove constraint on sample rates
  • dict: fixed crash with garbage values
  • expr: negative inputs to "expr fact($i1)" work
  • font panel color wheel: changing object text color no longer pollutes undo history
  • format palette: "changed attr" bar resizes properly
  • gridmeter: outlet and click on square to mute
  • groove~: followglobaltempo works with looped groove~
  • Groups: outline of group is not shown in Max For Live devices
  • Help patchers: fixed issues with third party seealsos in question mark tab
  • Inspector: fixed "Show in Reference"
  • jit.cellblock: improved signalmode responses
  • jit.dx.grab: fixed crash when vdevice set but no device present
  • jit.gen / jit.pix: min attribute of param works
  • jit.gl.handle: auto_rotate works in jit.window/world
  • jit.gl.imageunit: fixed
  • jit.gl.node: does not grab objects that have explicit drawto set
  • jit.matrix: fixed javascript exportimage usage
  • jit.playlist: finds referenced media in a standalone
  • jit.playlist: viddll engine fixed multi-file drag and drop
  • jit.textfile: fixed crash on matrix input
  • jit.window: fixed duplicate mouse data output
  • jsui: avoid crash when there are too many sketch instances
  • live.grid: fixed error when interpolating presets
  • Mappings: outlines hidden for non-presentation objects in presentation view
  • Mappings: drawing improvements
  • Mappings: improved key mapping display for modifiers
  • Mappings: rename 'bang' trigger mode to 'retrigger'
  • matrixctrl: display disabled cells properly
  • Max 7 templates: handle bgfillcolor existence when opened in Max 8
  • MC Wrapper: applies attribute values to new channels
  • MC Wrapper: wrapper messages work to non-leftmost inlets
  • MC Wrapper: fixed crash when wrapping with prefixed name
  • mc.function: redraws properly after receiving clearchans
  • mc.gen~: fix for issues with finding gendsp file for all instances
  • mc.gen~: no longer attempts to load Max patchers
  • mcs.groove~: sync outlet has correct number of channels
  • menubar: 'append' message refreshes menus
  • mgraphics: fixed image_surface_draw memory leak
  • MIDI: fixed crash on Windows sending single byte to midiout
  • MIDI: fixed crashing on app close
  • MIDI: unplugged devices on Windows appropriately disappear from MIDI options
  • mute~: fixed crash when used with MC
  • Node For Max: fixed dict access after maxApi.post and maxApi.getDict
  • Node For Max: NPM execution status updates properly
  • Node For Max: fixed missing restart filePath when using @watch 1
  • Node For Max: improved NPM execution status updates
  • node.script: can find .js files in amxds
  • node.script: fixed crash closing help file on Windows
  • node.script: fixed potential hangs on Windows
  • node.script: symbol usage optimizations
  • Object Browser in Toolbar: internal objects are displayed
  • Open GL Status Window: Fixed crash when opening
  • Package Manager: OS versions are validated correctly
  • Parameters: gestures start on time for undo to stay in correct order
  • Parameters: 'assign' messages work as they should
  • Patcher: "zoomed" patcher window location is saved
  • Patching: fixed issues with bogus object when ref file of the object's name is in the same folder
  • pattrhub: resolves pattr-bound boxes in subpatchers
  • pattrstorage: fixed extreme memory leakage when storing value in parameter mode
  • pattrstorage: greedy attribute no longer inherited by pattrstorage objects in subpatchers
  • playlist~: cursor no longer disappears after command drag
  • playlist~: fixed single click to deselect
  • plugin~ / plugout~: can have multiple instances of these objects again
  • popup menus: fixed memory leak
  • Preferences: all show clues
  • Projects: item lists are converted to dictionaries for fast lookup
  • Projects: jxf jitter files are added to 'data'
  • Projects: improved nomenclature and display of project items
  • receive: fixed crash when clicking on Object Action Menu and object has no argument
  • Recent Messages: fixed shortcut key (shift+m)
  • Save Dialog: Select All works in File Save dialog (Mac)
  • scope~: fixed text rendering in automatic mode
  • Search: opening gen patchers works
  • speedlim: fixed stalling when changing speedlimit time
  • Standalones: accommodate unicode in pathnames
  • Standalones: does not create Projects and Max for Live Devices folders when running
  • Standalones: does not overwrite Max preferences
  • Standalones: further fixes for unique location for standalone prefs
  • Standalones: packages load properly in versioned standalones
  • suckah: fixed use on Windows with display scaling enabled
  • Toolbar: audio power button aligned with audio level meter
  • Tour: fixed error on last slide - jit.gl: invalid extension called (Win)
  • Typing: fixed issues with dead characters while typing in a box
  • Typing: improved arrow key handling when editing text
  • VIZZIE FEEDR: fixed gain dial
  • VIZZIE INTERPOL8R: outputs alpha
  • VIZZIE RECORDR: fixed output dims to match input dims and added realtime/codec parameters (based on engine)
  • VIZZIE SNAPPR: Fixed image saving
  • vst~: fixed crash when closing patch when plug-in window is open
  • vst~: fixed loading of shell plugins
  • vst~: no longer tries to load plugs twice
  • vst~: VST3 snapshots and presets
  • Windows: save dialog is sizable

New in Max 8.0.1 Build 181016 (Oct 23, 2018)

  • New Features:
  • VIZZIE: New modules - 1PATTERNMAPPR, 3PATTERNMAPPR, 3PATTERNJOINR
  • Fixed Bugs:
  • Audio: fixed crash when using apple air pods
  • autocompletion: message box improvements
  • CEF: framework copied over to standalone
  • coll: contents available for output immediately
  • coll: fixed freeze with goto messages
  • Color: fixed issues with changing color of text
  • function: fixed copy/paste crash
  • jit.cellblock: improved dump behavior when matrix is attached
  • jit.window: fix broken pos and size attr args
  • jweb: functional for non-admin users (Mac)
  • levelmeter~: fixed single channel dB output
  • live.* UI: MIDI note name with can be typed properly
  • Mac app: removed 32 bit option
  • Mapping: disable mappings in embedded amxds (for now)
  • mappings: exponent works
  • MC: fixed noise when retyping any object connected to MC wrapper object to 1 channel
  • MC: help files open from Extra Help menu
  • mc.matrix~: inlets and outlets initialized correctly
  • Node For Max: Improved Debug Logging
  • Node For Max: Improved Max CPU usage
  • Package migration: does not attempt to migrate when there are no Max 7 packages
  • pattr: type properly restored when loading patcher
  • rpnin / rpnout: instantiate correctly
  • seq: fixed crash when opening file given as object argument
  • slider/dial: entering parameter range works as expected
  • ubutton: communicates its value to parameter system
  • Windows installer: open Max 8 checkbox works

New in Max 8.0.0 (Oct 23, 2018)

  • New Features:
  • Audio signal probe: history and scope display modes
  • buffer~: waveform display is scrollable
  • button: blinktime attribute
  • capture: usability improvements
  • chooser: Display a scrolling list of selectable items
  • coll: dialog rewording when closing text window
  • Collections Browser in Toolbar: supports bpatcher drag like the File Browser
  • Color palette: new implementation
  • comment: bubbleusescolors attribute to use background color for bubble mode
  • console object: Console output in patcher
  • dial: Live, Classic, Needle and Pan modes
  • Dict: performance improvements for big files
  • Event Probing: display event data from the patch cord under the cursor
  • external editor: preference to use an external editor for some text-based objects (js, coll, text, etc)
  • frame~: Output a list as an FFT frame or a signal vector
  • framesnap~: snapshot a spectral frame inside pfft~
  • gen (no tilde): event domain Gen
  • Gen: @expr mode for expression evaluation in a single object box
  • gestalt: modernization
  • Global Transport: icon in the Toolbar by default
  • gridmeter~: Display signal levels as brightness
  • Groups: Manage multiple objects as a single group
  • Inspector / Max Console, etc: selection color reflects focus state
  • jit.anim.drive: non-qwerty keyboard usage in help/ref (ui_dict keyboard layout attribute)
  • jit.cellblock: signal modes
  • jit.gl.asyncread: can perform texture readback and works with invisible contexts
  • jit.gl.camera: capture fsaa functionality
  • jit.gl.model: FBX, glTF and OpenGEX file format support
  • jit.gl.node: can be a jit.gl.multiple target
  • jit.gl.node: objects can belong to more than one sub-context
  • jit.gl.node: scene dict output
  • jit.gl.pix: trunc() support
  • jit.gl.slab: text editor opens to a default .jxs pass shader
  • Jitter: GL objects can automatically find and join a render context
  • Keyboard shortcut: shift + option + command opens subpatcher window
  • kslider: negative low offsets
  • line: multi segment like line~
  • line~/curve~: maxpoints attribute to increase list length
  • live.banks: manage parameter banks on Push controller
  • live.param~ / live.remote~: respects exponent attr on live.* ui objects
  • live.text / live.tab: improved SVG functionality
  • matrix~: connect message has a gain argument
  • Max Console: Filter and timestamp events
  • Max Console: toolbar badge indicates when new messages or errors have arrived
  • Max PlugIn Scanner: new implementation to improve notifications / progress
  • mc.cell: Format messages from a jit.cellblock for use with MC objects
  • mc.channelcount~: Report channel count of MC signals
  • mc.deinterleave~: Multichannel audio deinterleaver
  • mc.dup~: Duplicate signals into multiple channels
  • mc.evolve~: Multichannel breakpoint driven audio modulation
  • mc.gradient~: Generate a time-varying function over the space of a multi-channel signal
  • mc.interleave~: Interleave two or more multichannel signals
  • mc.list~: Create a multi-channel signal from a list of values
  • mc.makelist: Create a list from non-signal output of MC wrapped objects
  • mc.mixdown~: Mix and pan a multi-channel signal
  • mc.noteallocator~: Determine a voice number for MIDI / MPE events
  • mc.op~: Combine the channels of a multi-channel signal using an arithmetic operation
  • mc.pack~: Combine inputs into a multi-channel signal
  • mc.range~: Generate a constant multi-channel signal with a range of values
  • mc.resize~: resize a multi-channel signal to a fixed number of channels
  • mc.route: direct output of messages based on an index received
  • mc.separate~: Split multi-channel signals
  • mc.target: Format "setvalue" messages to control multi-channel wrapped objects
  • mc.targetlist: format setvalue messages to the multi-channel wrapper to target specific instances
  • mc.transpose~: reorganize signals based input channel index
  • mc.unpack~: split a multi-channel signal into single-channel outputs
  • mc.voiceallocator~: Determine a voice number for Max messages
  • mc.wrapper~: Multichannel (MC) versions of most MSP objects
  • MIDI: name attribute for matching incomplete port name
  • Modifier: reports ALT key
  • multirange: Graphical function breakpoint editor
  • Node for Max: control and communicate with custom applications using the Node JavaScript framework
  • nodes: clickmouseinactive attribute
  • nodes: filternodeschanges attribute
  • nodes: setnodename message
  • nrpnin: Output received NRPN values
  • nrpnout: Format 14-bit MIDI NRPN messages
  • number box: support for arrow keys in flonum
  • Operate While Unlocked: mode to adjust user interface objects while you are patching
  • Package Manager: Support local Packages w/o package-info.json
  • Patcher UI: rendering performance improvements
  • patching: improved mousewheel / trackpad patcher zooming
  • Patching: keyboard shortcuts for turning probing on and off
  • Patching: preference to turn off selection rectangles in patching mode
  • Patching: shift drag to insert/remove object from patch cord
  • phasor~: transport attribute
  • Platform / OS: Windows N and KN compatibility
  • poly~: bypass message
  • poly~: legacynotemode attr added for note / midinote messages to use old voice assignment algorithm
  • poly~: patchername attribute can specify multiple patchers
  • poly~: voice outlet to identify which voice sent the last event
  • print: new features - time, show output, float precision
  • print: removed 2048 character limit
  • Project: choose multiple files when using an OS file dialog for adding files
  • Project: Empty project accepts drag
  • Project: right click to add new or existing files in empty window
  • rpnin: Output received RPN values
  • rpnout: Format 14-bit MIDI RPN messages
  • Search Path: duplicate files in search path prints locations
  • Search Sidebar: unified search across the Max application and the Cycling ’74 web site
  • send + receive: contextual menu items to create the other object
  • Set Patcher to Default Values in Object menu when nothing is selected
  • Sidebar: can be closed while it has focus
  • Styles: implement deleting a named style from the style pop-up menu
  • Styles: paste and match style option to use the current patcher style
  • tapin~/tapout~: no longer introduce a vector size of delay automatically
  • Text editor: save window position when JS or other objects open the same text file within a launch
  • textedit: accepts any drag to set its text
  • themecolor: Change and/or listen for changes in interface colors
  • Themes: color themes for the Max interface
  • umenu: dump message
  • VIZZIE 2.0: rebuilt with OpenGL
  • vst~: can swap plugs via drag and drop
  • vst~: support for 64-bit processing
  • vstscan: Audio Plugin Scanner
  • watchpoints: print watchpoint
  • Windows: HiDPI support (Win 10+)
  • xctlin: Output received 14-bit MIDI control values
  • xctlout: Format 14-bit MIDI controller messages
  • Fixed Bugs:
  • amxd in project: fixed internal project conflicts with parent
  • amxd: fixed save as project usage
  • amxd~: fixed issues with temp svg files being repeatedly written
  • attrui: eliminated leftover cursor when changing parameters
  • Audio Driver: ad_portaudio driver no longer crashes with some sampling rates (Mac)
  • Audio Settings: Live audio driver is not selected if you haven’t launched from Live
  • bpatcher: transform to bpatcher works when space is in name
  • clue window: removed errant sidebar
  • coll: dialog rewording when closing text window
  • coll: improved performance
  • combine: fixed crash with cold inlet input
  • crash recovery: no longer makes empty patcher if original file was deleted
  • deltaclip~: fixed blow up when changing the minimum
  • Dict: fixed crash when opening text editor after receiving 2nd append message
  • Dict: fixed crash with append and @parameter_enable 1
  • Doc Browser: alphabetized messages to objects
  • Documentation menubar entry: fixed issues with occasional disappearance (Mac)
  • expr: improved text to float conversion
  • filtergraph~: fixed issues with setting Q and bandwidth with mouse
  • fpic: fixed pic / embed attribute issues
  • function: draws 0,0 point correctly when next point has an X value of 0
  • function: dump message includes curve info
  • Gen codebox: scroll even when genpatcher is locked
  • Gen: codebox font size is modifiable
  • Gen: fixed crash moving patchcoords with sub-patchers
  • Gen: fixed crash related to undo and Modify Read-Only
  • Gen: fixed crash when pasting Max objects into a Gen patcher
  • Gen: gen operator prevents recursive loading
  • Gen: improved syntax highlighting
  • Gen: poke and splat no longer add unnecessary parameter
  • Gen: removed unnecessary params/attrs in attrui
  • Gen: respects style/template choices
  • Gen: work is saved when first argument is not a valid genpatcher in the search path
  • Gen: work not lost when renaming a [gen~] to [gen~ awesome]
  • gen~ codebox: stateless functions calling stateful functions do not share state
  • gen~: @expr clears the expression when retyped
  • gen~: cycle @name attribute works
  • gen~: export samplerate and vectorsize in export are variables (not constants)
  • gen~: fixed issues with gendsp dependencies and codebox errors
  • gen~: functions returning objects no longer crash max
  • gen~: param @default is respected
  • gen~: reset_param properly resets the parameter
  • Global Transport: icon in the Toolbar by default
  • groove~: always responds to float message
  • hover: improved behavior on lock
  • Inspector: improved scroll behavior when clicking to edit attribute
  • Inspector: keyboard navigation improvements
  • ITM: objects ignore bogus input
  • itoa object: fixed bug with extended ASCII that lead to patcher bloat and corruption
  • jit.anim.drive: fixed "turn" message
  • jit.anim.drive: non-qwerty keyboard usage in help/ref (ui_dict keyboard layout attribute)
  • jit.anim.path: fixed crash when setting a new path without sending the 'getlength' message
  • jit.anim.path: fixed crash with evallength
  • jit.gen : fixed crash when using more than 13 total inlets/outlets
  • jit.gen: fixed swiz crash in for loop
  • jit.gl.cornerpin: fixed mouse interaction when capture dims don't match window dims
  • jit.gl.cubemap: improved behavior
  • jit.gl.model: assimp node naming scheme changed
  • jit.gl.model: fixed @file attr usage in object box
  • jit.gl.model: fixed crash when attached to jit.gl.material and name attribute changed
  • jit.gl.node: can be a jit.gl.multiple target
  • jit.gl.node: non-automatic objects in a jit.gl.node sub-context respect camera transforms
  • jit.gl.shader: fixed crash when freeing file with errors
  • jit.gl.sketch: fixed screentoworld when bound to jit.gl.node or jit.world
  • jit.gl.videoplane: fixed gridmode error
  • jit.grab: fixed crash with 'open' and output_texture 1 when there is no render context
  • jit.grab: index indicator appended to devices with the same name
  • jit.gradient: fixed crash
  • jit.matrix: interp attribute no longer fails if 1d matrix dim is above 65537
  • jit.movie / VIDDLL: fixed crash when rate changed
  • jit.movie / VIDDLL: fixed crash when using loop 2
  • jit.movie: fixed automatic usage which was broken in certain situations
  • jit.movie~: respects sample rate of file
  • jit.net.send / jit.net.recv: no longer alters float values
  • jit.record: fixed crash with certain dims
  • jit.window / jit.gl.videoplane: fixed Invalid Framebuffer errors under certain circumstances
  • jit.window: fixed full screen issues on Mac OS 10.11
  • jit.window: fixed issues with visible attribute and rect in some cases
  • jit.window: fixed mouse output when fsaa is set to 1 (Win only)
  • jit.window: fullscreen mode works with esc key in Max For Live
  • jit.world: fixed auto handle shape distortion
  • Jitter Gen: fixed issues with exportcode isd
  • JSON: improved accuracy of stored floating point numbers
  • jweb: improved performance
  • jweb: improvements when in presentation mode, tabbed patcher etc
  • jweb: no longer displays over sidebar
  • lcd: getsize reports correct value
  • levelmeter~: improved rise and fall time
  • line: improved timing and output linearity
  • live.gain~ : inspector updates when changing number of channels
  • live.gain~: minimum size is not too small
  • live.gain~: signal output set properly after loadbang in bpatcher
  • live.grid: fixed error when recalling preset and object is in matrix mode with 1 row
  • live.numbox: displays slider bar when inactive
  • live.param~: fixed invalid object warnings
  • live.step: 'Display Mode' can be frozen
  • live.step: loop clips to the minimum
  • live.step: stepcolor alpha is used
  • Max App: firewall dialog suppressed when Max launches
  • Max For Live Parameters: fixed issues with initial values, exponent and ranges
  • Max For Live: device development path respected in Max
  • Max For Live: device width stays the same on re-save
  • Max For Live: fixed accidental saving of snapshots
  • MIDI: fixed memory leak in sysex handling
  • midiout: improved sysex performance when sending large packets
  • model.anim.blend example: fixed
  • Modifier: reports ALT key
  • multislider: can have a transparent background in line / point scroll modes
  • Package Manager: fixed errors when installing some packages on Windows 10
  • Package Manager: Support local Packages w/o package-info.json
  • Parameters: fixed Parameter window memory leak
  • parameters: UI objects in parameter mode are no longer missing some attributes
  • Patchers: no longer save locked_bgcolor and editing_bgcolor when they are default values
  • Patching: fixed crash when deleting patch cords when audio is on and iovs is set to 128
  • pattrstorage: clears stored values for missing objects
  • pattrstorage: greedy attribute no longer inherited by pattrstorage objects in subpatchers
  • phys.6dof.spring example: positions initialized correctly (Win only)
  • plot: color attributes can be frozen
  • poke~: responds to lists
  • poly~: fixed crash with no arguments
  • poly~: always note-offs when voice-stealing
  • poly~: fixed issues with notemessage / adsr~
  • poly~: legacynotemode attr added for note / midinote messages to use old voice assignment algorithm
  • poly~: subpatchers properly show/hide signal probes
  • polyin : outlets are correct when using port and channel arguments
  • pong: no longer produces NaNs with bad range input
  • print: fixed hang when printing many lines quickly
  • Projects: fixed potential crash when right-clicking files
  • Projects: save as from project-based patcher added to Recent Items and Calendar
  • Prototypes: fixed usage with live.* UI objects
  • qlist: no longer clutters console when reading files
  • Right inlet of int operators: input values no longer limited to 32-bit (Windows)
  • rslider: size < 2. displays correct range
  • scale: scaling and exponential calculations performed in correct order
  • sfplay~: plays back .wav multichannel files
  • Sidebar reference: fixed crash when scrolling
  • Sidebar: can be closed while it has focus
  • snapshots: fixed undo/redo deletion issues
  • speedlim: fixed memory leak
  • speedlim: improvement when stopping/starting the scheduler
  • Standalone: fixed crash with jitter objects
  • Standalone: no longer tries to create shared user directories
  • Styles: fixed name field issues / hang
  • Styles: redefine style is enabled when a patcher-level style is dirty
  • Styles: styles copied to library retain parent style information
  • swatch: four-float message changes alpha
  • Sylenth1: fixed crashes in Live (Win)
  • tab / umenu: fixed crash with certain accent characters in inspector modal editor
  • tapin~ / tapout~: no longer introduce a vector size of delay automatically
  • Templates: bgcolor / bgfillcolor used in subpatchers
  • Templates: bgfillcolor is no longer dirtied by default
  • Templates: list updates after saving a new template
  • Templates: prevent saving a template with an empty name
  • Text editor: save window position when JS or other objects open the same text file within a launch
  • textedit: accepts any drag to set its text
  • thispatcher: recognizes active window
  • Toolbar: right toolbar is shown when patcher is full screen
  • tr.vignettes.jxs: fixed error on param changes
  • Transform: Changed Attributes to Arguments no longer removes quotes
  • viddll / jit.gl.model: fixed crash when loading model file
  • VIDDLL: improved playback of videos with mono audio tracks
  • VIZZIE / BEAP: fixed problems with dragging modules to patch in presentation mode
  • vst~: fixed editor hint issues
  • vst~: fixed issues with quitting Max while 'plug' dialog window is open
  • Windows: all Max processes appropriately exit after crash
  • workspace restore: restores subpatchers correctly
  • xnoteout: outputs correct velocity values

New in Max 7.3.5 Build 180307 (Mar 9, 2018)

  • Fixed Bugs:
  • filterdesign: plugged a memory leak
  • gl.plato: lighting works when drawing from jit.world / jit.gl.node
  • jit.anim.node: fixed worldtolocal
  • jit.gl.handle: fixed rotation errors
  • jit.gl.model: fixed broken animations
  • jit.gl.model: fixed minor issue animenable message
  • jit.gl.node / jit.gl.camera: non-automatic objects in a jit.gl.node sub-context respect camera transforms
  • jit.gl.sketch: fixed screentoworld when bound to jit.gl.node / jit.world
  • jit.gradient: fixed crash when planecount not 4
  • jit.world / jit.gl.text: fixed issue with handle causing slowdowns
  • opened: object works in standalones
  • paths: fixed APFS iteration issues

New in Max 7.3.4 Build 170530 (May 31, 2017)

  • Fixed Bugs:
  • attrui / nslider / tab: fixed memory leak
  • BEAP: miscellaneous fixes
  • Debugging: fixed error when patch cord is disabled
  • Export amxd from Project: device appropriately frozen
  • fpic: no longer grows when force aspect is on
  • Install: Max starts normally on other user accounts (Windows)
  • jit.anim.path: no longer crashes on 'next' message
  • jit.gl.camera / jit.gl.slab: fix for strange behavior with capture jit.gl.model @cull_mode 2 to jit.gl.slab
  • jit.gl.model: finds model file in Project when using @file attr in object box
  • jit.gl.multiple / jit.gl.material : mat_diffuse is appropriately applied to all instances
  • jit.gl.multiple: fixed crash when second argument is > 10
  • jit.gl.multiple: fixed drawing with certain rotatexyz values
  • jit.gl.node: fixed capture output when sent directly to syphon
  • jit.gl.pass: fix recursion crashes due to user error when setting layer and child attributes
  • jit.gl.pix: fixed issues with only setting a @min param
  • jit.gl.slab: fixed crash when changing subdiv attribute
  • jit.gl.slab: fixed errors when processing texture from capturing jit.gl.node
  • jit.gl.textureset: misc bug fixes
  • jit.grab: fixed clear message
  • jit.movie: fixed unique behavior with still images
  • jit.movie: no longer outputs after 'dispose' and @unique is set to 1
  • jit.movie: restarts after stop when rate is set to -1
  • jit.movie~: fixed usage in Max For Live
  • jit.phys: fixed crash when filter count arg exceeds 10
  • jit.playlist AVF engine: fixed playback when playing clip slot that is not looped
  • jit.pwindow / OpenGL: fixes for rendering in Max For Live if certain vst plugs are loaded
  • jit.pwindow: fixed use in bpatcher
  • jit.record: fixed misaligned planes for certain dims
  • jit.rubix: fix crash with 64 bit and fix all warnings
  • Jitter OpenGL: fixed invisible GL contexts in windows
  • Jitter OpenGL: fixed 'turn' message errors
  • Jitter: fix for software rendering with matrix context on Windows
  • live.remote~ / gen~: fixed threading issues that was causing Live UI freezing
  • Max For Live: fixed issues when clicking 'edit' in device toolbar
  • maxurl: stability fixes
  • midiformat: pitch bend input is constrained
  • mira.frame: added to standalones
  • miraweb multislider: size attribute is updated in browser when changed with list input
  • Patching: color is not retained when duplicating more than once
  • Patching: Fixed crash when deleting patch cord
  • pattrstorage: improved state recall and subscription list updates
  • peak / trough: second inlet is hot
  • playlist~: Fixed file ordering when dragging/dropping a folder
  • playlist~: Playback properly continues after 'remove' message
  • qlist: ‘fwd’ message with arg no longer freezes Max
  • qlist: ‘set’ message appropriately uses arguments
  • seq: fixed crash when reading saved text file
  • Standalones: improvements for signing issues
  • VIDDLL engine: fixes for memory leaks, a rework of 'File Open' functionality & misc other updates
  • VIDDLL: Can now play pcm audio files
  • VIDDLL: Fixed crash when audio-only files are loaded
  • VIDDLL: Fixed photo-jpeg output_texture
  • VIDDLL: Improved support for prores codecs
  • vst~ / character encoding: fixed charset issues when reloading Max patchers with VST snapshots

New in Max 7.3.3 Build 170301 (Mar 2, 2017)

  • Fixed Bugs:
  • pattrstorage: Fixed issues with subscription list initialization/save (fixes Sonic Faction Hypermorph Live Pack)
  • seq: fixed issue with 'write' message absolute path arguments
  • seq: fixed multi track save issues with type 1 MIDI files
  • vst~: fixed plugin path garbage characters in context of pattrstorage / parameters
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: Please read the following page to see what versions of Java are supported for your OS: Java Support.
  • Import features for buffer~ are limited

New in Max 7.3.2 Build 170214 (Feb 15, 2017)

  • New Features:
  • AVF grab: allow capturing connected iOS device
  • Gen: gen.chucker~, gen~.gcd_and_lcm, gen~.interpolation, gen~.interpolation.splinecurve, gen~.routing examples
  • jit.gl.material: new heightmap_mode attribute
  • jit.gl.node: support for capturing to texture non-automatic objects via “begin_capture” notification
  • jit.gl.slab / jit.gl.pix: new rectangle attribute
  • jit.vcr: support for audio bitrate options (see help patcher)
  • Max: 'clearmaxwindow' message to Max
  • Projects: sort files within sections in Project window via attribute in Project Inspector
  • seq/follow: supports Type 1 standard MIDI files
  • Fixed Bugs:
  • AVF grab: fix for some crashes
  • combine: fixed crash with 'list' input
  • Database: fix for crash on startup when a corrupt obj-qlookup.json file is in a pacakge interfaces folder
  • dict.group: Negative int values are preserved
  • embedded bpatcher: new view window sized appropriately
  • Gen: param declaration as an attribute in object box no longer gives error
  • groove~: lock 1 no longer causes playback distortion
  • jit.matrixset: fixed 'read' in 64 bit mode
  • jit.matrixset: fixed exportmovie with AVF engine (forces VIDDLL usage)
  • jit.movie: fix for wrong height value return on getmoviedim on win 64
  • jit.movie: fixed flatten in place / jitter crash
  • jit.record avf engine: fixed overwriting existing files
  • jit.streak / jit.sprinkle: now work in 64 bit
  • Jitter colormodes: fixes for AVF and VIDDLL colormodes
  • JS: fixed issues with tasks from a non-jsthis-bound callback
  • JS: fixed XMLHttpRequest intermittent crash
  • JSUI: fixed setpixel method
  • live.remote~: fixed stack corruption and possible threading issues
  • Max For Live: fixed conditions for when automation would become disabled
  • MFL Crash Recovery: fixed
  • MFL devices / amxd~: only freeze AMXDs when they have been frozen before
  • MFL devices: Fixed issue with deactivated devices not outputting any sound when they have been hot-swapped/replaced
  • MIDI setup: improvements to disabling MIDI ports
  • mira.frame: arbitrary frame size attribute (for Miraweb only)
  • Packages: removing a package also removes its enabled/disabled state from the prefs
  • pattrhub: eliminated unnecessary error message
  • pattrstorage: improved performance when using @subscribemode
  • seq: when file is not found, correctly posts error and no longer opens a file open dialog window
  • Snapshots: fixed save issues
  • spectroscope~: fixed crash under special conditions
  • spray: works with symbols
  • vst~: implement 'get -11' to return the count of user presets, as documented

New in Max 7.3.1 Build 161019 (Oct 20, 2016)

  • Fixed Bugs:
  • codebox: Fixed autocompile
  • live.object: fixed 'type' message parsing (which also fixes Push "takeover" mode issues)
  • MFL parameters: eliminated memory leak with Blobs
  • jitlib: fix for using hapQ files on Mac OS
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: Please read the following page to see what versions of Java are supported for your OS: Java Support.
  • Import features for buffer~ are limited

New in Max 7.3.0 Build 161012 (Oct 13, 2016)

  • New Features:
  • live.remote~: smoothing attribute and ramp messages (requires Live 9.7 or higher)
  • Java: support on Mac x64 for Java versions other than the legacy Apple Java
  • Max paths: 'usermax' points to '~/Documents/Max 7' on both platforms
  • Max / Max For Live: can now launch without Java installed
  • Fixed Bugs:
  • File / Ref Browser: no longer uses port 7474
  • Gen Code Export: Improvements for ARM processors
  • Gen codebox: fixed command + click crash in unlocked patcher
  • jit.world: render draw bang is correctly output when @visible 0
  • Max paths: '~/' appropriately points to user home on Windows
  • MFL jit.movie: additional texture_output fixes
  • Other Changes:
  • Gen Code Export: Updated License
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: Please read the following page to see what versions of Java are supported for your OS: Java Support.
  • Import features for buffer~ are limited

New in Max 7.2.5 Build 160915 (Sep 17, 2016)

  • Fixed Bugs:
  • hi: fixed 64bit usage
  • jit.expr: fixed functors for 64 bit
  • jit.gl.imageunit: fixed for Mac El Capitan OS
  • jit.movie~: works in a standalone
  • Max For Live jit.movie: fixed texture_output glitches in Live in certain situations
  • MIDI: deleted devices are properly hidden from the UI and @name attribute
  • mpeparse: correct zone number in mpeevent output for channel pressure events
  • playbar: only bangs jit.movie if @automatic is set to '0'
  • plot~: redraws properly after a buffer~'s size is changed
  • polymidiin: properly outputs all cc/pitchbend messages
  • VIDDLL jit.movie: fixed crash when asyncread sent with movie file already loaded
  • VIDDLL jit.movie: fixed issue with certain gifs when @output_texture is enabled

New in Max 7.2.4 Build 160725 (Jul 26, 2016)

  • New Features:
  • Mira: supports USB connectivity (Mac only)
  • Mira: misc bug fixes and Max 7 compatibility
  • mpeparse: @index attribute to set mpeparse to output only on the specified voice number (from 1 to 15)
  • mpeparse: added third release velocity value for note output
  • mpeparse: accepts 'mpeevent' messages
  • MIDI: @name attribute to set the object's MIDI port based on a device name (case-sensitive partial string match)
  • VIDDLL video engine: can set ffmpeg options via dictionary input
  • VIDDLL video engine: jit.record & jit.vcr functionality
  • VIDDLL video engine: jit.movie asyncread to read movie files in a background thread
  • VIDDLL video engine: jit.movie loadram caches frames in a background thread (BETA)
  • VIDDLL video engine: jit.movie~ external for sending movie files with audio tracks to MSP (BETA)
  • VIDDLL video engine: jit.movie support for animated GIFs
  • VIDDLL video engine: jit.movie support for reading from URLs
  • Fixed Bugs:
  • AVF video engine: fixed blackmagic crash when Blackmagic UltraStudio Mini-Monitor is plugged in
  • date: reports correct time / date
  • Gen codebox: appropriately locked in abstraction
  • Gen codebox: no longer replaced by default genpatcher on save (when hosted in poly~)
  • jit.grab/jit.movie: fixed output_texture crash when enabled without valid gl context
  • jit.movie: more consistency in behavior on loop end across video engines
  • jit.movie: fix for non-unique output on VIDDLL and AVF engines
  • live.param~: now uses a 64 sample buffer to avoid distortion / zippering
  • Max For Live: fixed deadlock when freezing a device
  • MIDI input ports: properly registers Novation Launchpad multi-ports
  • Packages: fixed multi-arch packages on windows 32 bit OS
  • pictctrl: no longer ignores offset

New in Max 7.2.3 Build 160517 (May 17, 2016)

  • Fixed Bugs:
  • autocomplete: no longer fails with delete key on windows and fn+delete on mac
  • AVF video engine: fixed movie load frame issues
  • dict: right inlet is properly ‘cold’
  • Gen: Code panel brackets expressions properly
  • Gen: delay operator ref appears in sidebar
  • gen~: further fixes for samplerate in exported code
  • jit.grab: Fixed fallback to dx engine
  • jit.matrix: importmovie fixes for VIDDLL engine
  • jit.movie: fixed crash with some m4v files and viddll engine
  • Jitter: Windows no longer requires Quicktime
  • Max For Live: fixed OpenGL-related crash when un-freezing some amxd devices
  • normalize~: fixed large value output miscalculation
  • Rewire: msprewiredevice.bundle back in installer
  • sfplay~ / buffer~: fixed issues with read / import mp3 in 64 bit when OS language is Polish
  • spigot~: fixed crash on Windows x86 when Quicktime is not installed
  • VIDDLL: properly found and used when included in standalone
  • VIZZIE / BEAP toolbar mini browser: fixed crash when scrolling mousewheel or two-finger swipe

New in Max 7.2.2 Build 160420 (Apr 21, 2016)

  • New Features:
  • Factory media: updated media movie files for better compatibility with VIDDLL
  • Gen: dattorro reverb example
  • jit.movie help and ref: updated for new video engines
  • nslider: added @staffs attribute for display of staff lines
  • Package Manager: factory package updates, ratings, new toolbar item, etc
  • poly~: new @mpemode attribute for direct voice allocation based on MPE voice from mpeevent message
  • VIDDLL: Included in factory install and is the default video engine for Windows
  • Fixed Bugs:
  • buffer~: removed artificial 250 channel limit
  • Crash recovery: restores subpatcher changes
  • gen~: division optimization
  • gen~: fixed usage of loop iterator for poke() channel index
  • jit.pwindow: fixed crash in MFL when loadbanging fsaa and interp attributes
  • kslider: fixed polyphonic mode deselection issues
  • Max DB: fixed missing files in internal Packages
  • Max For Live Devices: movie files can be found in frozen amxd
  • MIDI: multiple midi devices of the same type are given a '#' suffix
  • packages: .maxzip files are not added to 'Recent' menu, but the unzipped Project is
  • parameter: fixed crash when deferring output
  • pipe: fixed crash with lots of floats
  • poly~: fixed 'bad number' error from note messages with symbols
  • poly~: fixed 'target 0' float input issues
  • poly~: fixed crash with midinote message when a bogus patcher is used
  • prototypes/styles: now saved to ~/Documents/Max 7
  • standalone: fix for 'fileusage' problem when building a collective from a patcher
  • standalone: fixed numerous Jitter errors related to jit.gen, jit.gl.passes and friends
  • standalone: viddll.engine properly found when included in standalone
  • VIDDLL: fix for toggling output_texture and minor updates
  • VIDDLL: improved playback when looping, reverse, palindrome, etc

New in Max 7.2.0 Build 160301 (Mar 1, 2016)

  • NEW FEATURES:
  • New Tutorials: Video & Graphics (found under Help->Reference->Documentation Home, links on the bottom of the left grey 'Contents' sidebar)
  • Multidimensional Polyphonic Expression (MPE) support:
  • midiparse / midiformat: @hires attribute to output a two-byte list to set high-resolution (14-bit) pitch bend output
  • mpeconfig: Configure MIDI devices that support MPE
  • mpeformat: prepare MPE-compatible MIDI messages
  • mpeparse: Interpret and parse raw MPE data (similar to midiparse)
  • polymidiin: Output MPE MIDI data in a patcher loaded by poly~
  • poly~: @midimode attribute to send MIDI events to all voices
  • poly~: @zone attribute for setting the MPE 'zone' that the poly~ will listen to (the default is to ignore zones)
  • vst~: accepts 'mpeevent' message to handle MPE data
  • FIXED BUGS:
  • amxd~ / vst~ snapshots: check mark appropriately changes after new snapshot is added
  • deferlow: no longer breaks 'stdlist' behavior (autofanning of lists to object inlets)
  • dict.print: no longer changes dictionary if it contains strings
  • function: documented mousemode and mousereport
  • gen~: fix for gen~ curve~ emulation in the case of the curvature being zero
  • gen~: fixed delay time calculations (spline/cubic delayed by proper amount and @feedback 0 works)
  • gen~: fixed subpatchers reverting to default gen patcher issue
  • jit.gl.material: fixed errors when sending texture to emission and heightmap inlets
  • jit.gl.mesh: autonormals works with large dims
  • jit.matrix: fixed exportimage memory leak
  • jit.matrix: png image import correctly calculates alpha channel
  • jit.movie: outputs file name on read failure
  • jsui: fixed crash when parameter enabled (x64)
  • live.dial: fixed mousing in 'enum' mode
  • live.step added 'next' message
  • live.step: added 'getcurrentstep' message
  • live.step: dump_to_dict properly contains interval
  • live.step: set message properly et the targeted sequence
  • Max For Live: device development path respected in Max
  • Max For Live: fixed jit.gl.render / jit.pwindow memory leak after open / close in Max editor
  • Max For Live: pattr in parameter mode properly outputs value when @_parameter_linknames is set to 1
  • Max For Live Device Project: amxdtype attr is correct for default / old devices
  • Max For Live Devices: SVGs appropriately deleted from User/Temp folder (Win only)
  • Max For Live parameters: blob param fixes
  • Max For Live parameters: automation optimizations
  • maxurl: always process incoming headers
  • playlist~ / jit.playlist: improved memory leak issues
  • objects explorer: filters duplicates
  • parameter: fixed problem when typing values into parameter box UI
  • Parameters: fixed deferred parameter output
  • seq: fixed crash on reading text files
  • Side Bar: minimization behavior improvements
  • standalone: fixed crash when building project
  • standalone: no longer creates a ~/Documents/Max 7 folder
  • sync~: improved timing
  • toolbar calendar: fixed week start
  • vst~: snapshot message works as expected when changing file name
  • 64-BIT LIMITATIONS:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record (support for use of jit.record on Mac 64-bit)
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: On Mac, Oracle Java RE is not supported. You will need to install Java for OS X, provided by Apple (Download Here).
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 7.1.0 Build 151214 (Dec 14, 2015)

  • New Features:
  • buffer~: removed channel limits for buffer~, waveform~, index~, poke~, peek~, jit.buffer~, record~, wave~, play~
  • comment: 'suppressinlet' attribute
  • flonum: very large numbers now use scientific notation
  • javascript: added 'readtext' feature that reads a text file into a string
  • jit.matrix: support for TIFF image export on both platforms
  • Package Manager
  • Patcher Snapshots and Snapshots API
  • 'relaunchmax': message to Max to restart
  • Fixed Bugs:
  • BEAP: presentation rect is respected
  • Debug Window: improved highlight colors
  • Doc Browser: improved relevance sorting for doc search
  • Encapsulation: encapsulation in new view respects patching/presention mode
  • Encapsulation: no longer adds to presentation when in new view
  • filterdesign: fixed Live crash when saved in MFL device
  • flonum: fixed crash when trying to display large number
  • Inspector: fixed standalone window opening issues
  • Javascript Documentation: layout improvements
  • jit.convolve: fixed crash with long matrices in 64-bit
  • jit.gl.shader: fixed crash on shader file replacement and free
  • jit.gl.text / jit.textfile: no longer renders errant characters
  • jit.gl.text: fixed issues with input from jit.str.fromsymbol
  • jit.grab: fixed crash when adding / removing USB capture device (AVF)
  • jit.matrix / jit.movie: improved PNG file reading
  • jit.movie: 32 QT engine reports correct framecount for stock h264
  • jit.movie: animated gif support for QT 32
  • jit.movie: asyncread works with AVF engine
  • jit.movie: avf engine @adapt 0 @output_texture 1 properly reads files
  • jit.movie: avf engine non-adapt asyncread outputs first frame
  • jit.movie: clear/dispose messages work with output_texture 1
  • jit.movie: fixed avf engine issues when switching from palindrome loop mode
  • jit.movie: fixed avf engine memory leak with read message
  • jit.phys.ghost: fixed crash when closing patch
  • jit.phys.multiple: properly outputs right to left
  • jit.phys.picker: fixed touch message
  • jit.pwindow: reports correct mouse coords when bound to gl context
  • jit.window: disabled OS fullscreen capabilities for all windows ('fullscreen' message still works)
  • jit.world: fixed toggle fullscreen crash
  • jstask: properly freed from memory
  • Keyboard input: fixed crash with 2-set Korean (el capitan only)
  • live.gain~/plot~: dsp is properly not restarted when changing the number of inputs
  • live.param~: appropriately gets parameter value on device load
  • live.param~: fixed invalid object warnings
  • Max Database: improve database performance especially in the case of network user accounts
  • Max network user accounts: improved database performance
  • Max For Live: fixed crash on freeze/unfreeze of device with BEAP module
  • Max For Live: fixed crash when starting Max 7 with ARCLite signature
  • Mouse: cursor no longer disappears when typing any key
  • nslider: removed roundness attribute
  • Objects: editing text of box no longer sets fontface attribute to default
  • onepole~: frequency response accuracy improvements
  • patch cords: improvements to horizontal curve / bend
  • patching: fixed crashing when escaping an in-progress patchcord connection
  • patching: patch cord connections work as expected when scheduler is stopped (and 'Stop/Resume Scheduler' returns to the Edit menu)
  • patching: performance improvements for dragging many boxes and patchlines
  • playlist~: fixed 'append' usage without arguments
  • Projects: non-explicit files in the project search path are found
  • Reference & Documentation: properly uses digest entries instead of label values
  • rslider: fixed jittery drawing of low range value
  • Snippets: embedded bpatcher snippet is no longer empty when dragged from mini browser in toolbar
  • Standalone: fixed mp3 buffer~ inclusion crash
  • vst~: fixed crash when unchecking 'show controls in patcher'

New in Max 7.0.6 Build 150930 (Sep 30, 2015)

  • Fixed Bugs:
  • amxd~: header name appearance fix
  • attrui: style attribute is a menu in inspector
  • Audio Driver: fixed issues Logitech camera audio input
  • BEAP: misc fixes
  • Debug window: improved highlight color
  • file paths: improved path normalization implementation
  • filtergraph~: attrui updates when sending message to object to change filter
  • Find bar: closes when patcher is locked and Format Palette is open
  • gen~: fixed local variables "leaking" between codeboxes in the same genpatcher
  • gen~: properly determines variable type in a control-flow sub-block
  • gen~: work is no longer lost if the gen~ was named but the gendsp was not found
  • inspector: remembers setting of show column header state
  • jit.dx.grab: adapt functionality
  • jit.dx.grab: output_texture support
  • jit.gen: noise() works with float64 matrices
  • jit.gl.camera: capture works when bound to a gl.node sub-context
  • jit.gl.graph: no longer breaks when changing drawto
  • jit.gl.sketch: fix for opengl errors with jit.pwindow in a bpatcher
  • jit.grab: Native Blackmagic driver improvements
  • jit.gradient: fixed crash with large dim
  • jit.matrixset: importmovie message imports all requested frames
  • jit.playlist: fixed crash with qt engine when connected to jit.world
  • jit.playlist: preview strip display fixes
  • jit.pwindow: fixed excessive rebuilding of the gl context view on instantiation
  • jit.pwindow: fixed issues when in a bpatcher
  • jit.vcr: better audio sync with video
  • JUCE: fixed WebKit cursors crash on El Capitan
  • live.param~: fixed crash when deleting object
  • M4L: fixed crash in jit_gl_render_setup on closing a Live set
  • M4L: mapping_index shown for parameters
  • Max app: cleaner quit routine
  • MFL: fixed OpenGL errors when changing visibility of MFL device
  • MIDI in Max For Live: works in the editor when Max is not authorized
  • MIDI: fixed crash when changing midi port x64
  • midiparse: fixed issues with bogus bytes
  • mtr: fixed issues in 64 bit mode
  • mxj / mxj~: fixed error when saving a patcher that uses mxj
  • mxj: classpaths no longer printed twice
  • mxj: fixed 64 bit crashes
  • Objects: editing text of object box no longer sets fontface attribute to default
  • opendialog: removed errant multiple file selection option
  • Parameter window: visual improvements
  • pattrstorage / autopattr: changing subpatcher's name updates in client objects window
  • pattrstorage: autopattr_vis updates in client/storagewindow
  • pitchshift~: fixed using attribute as arguments
  • portaudio: removed availability for Windows 10
  • presentation mode: fixed fade when objects are selected that aren't in presentation
  • Projects: added developer directory for Max For Live dev and export
  • Projects: fixed crash when reopening Max when there is an image in the opened patcher
  • Projects: fixed Export Max for Live device typo (Liv&e) (Win-only)
  • Reference sidebar: all message / attribute entries are shown
  • rslider: fixed graphical glitch when mousing
  • savedialog: extension works in MFL device
  • seq: misc fixes including read functionality
  • snippets: BEAP-seqsynth.maxsnip properly instantiates
  • Standalone: jit.movie able to find find embedded media
  • Standalone: more trimming of app size
  • Styles: Library style properly applied
  • Templates: workspace restore uses default template
  • thispatcher: window exec messages no longer stop openGL rendering
  • umenu: Windows folder population no longer lists parent folder names
  • Vizzie: misc fixes
  • vst~: fixed issues when plug has less input channels than output channels
  • waveform~: selection is properly visible with large buffers

New in Max 7.0.5 Build 150727 (Jul 28, 2015)

  • New Features:
  • jsbuffer: new send() method
  • Fixed Bugs:
  • bpatcher: fixed offsets and zooming issues
  • Doc Browser: added messagename highlighting and links
  • Doc Browser: no longer returns items that are not ref or doc pages
  • Doc Browser: fixed seealso descriptions on 3rd party refpages
  • gen~: local variables no longer "leak" between codeboxes in the same genpatcher
  • gen~: properly determines variable type in a control-flow sub-block
  • jit.gl.slab: no longer crashes in text editor when shader file is malformatted
  • jit.movie: fixed avf engine playback issues
  • jit.movie: fixed crash when switching movie files and @colormode uyvy (avf engine)
  • jsbuffer: improved accuracy of length returned in ms when in 32-bit
  • Max For Live: changing Live's sample rate no longer stops MIDI
  • Max For Live: fixed Jitter jit.gl.render-related crash
  • Object Browser in Toolbar: fixed crash when clicking outside patcher browser after showing object category menu
  • Packages: Support folder on Windows allows for both 32 and 64 bit lib folders
  • Projects: application-building from a Project now includes Packages
  • radiogroup: no longer grabs tab key focus
  • vst~: improved in/out channel configurations
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record (support for use of jit.record on Mac 64-bit)
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: On Mac, Oracle Java RE is not supported. You will need to install Java for OS X, provided by Apple (Download Here).
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 7.0.4 Build 150625 (Jun 26, 2015)

  • NEW FEATURES:
  • Beap: help files for all modules
  • Gen: code export improvements
  • gen~: added creepyreverb example
  • jit.grab: native Blackmagic driver implementation
  • message: added dontrestore attribute to clear contents on save/close/etc
  • nslider: can use note names for input
  • Preferences: added preference to disable adding saved patchers to the search path
  • FIXED BUGS:
  • amxd~: parameters can be changed with messages on Windows x64
  • avf / grabbr: fixed crash when setting input attr / when instantiating vizzie abstraction
  • bpatcher: properly keeps reference to abstraction when there is a space in the patcher name
  • coll: fixed writeagain message memory leak
  • coll: nsub message pushes to jit.cellblock
  • crash recovery: fixed problems for patchers containing mira objects
  • crash recovery: no longer fails to recreate patch cords to subpatchers in some situations
  • dict: export_json no longer forces the extension
  • dict: pattr properly stores state on save
  • dict.route: fix for not matching identical dicts after whitespace change in jed
  • dict.route: fixed syntax / matching issues
  • dirac: now named ZTX
  • Doc / File Browser: fixed minor deletion bugs
  • Doc Browser: sidebar link generation works when target has no text
  • File Browser: fixed blue drag and drop highlight sticky-ness
  • File Browser: fixed jitter-examples/render and jitter-examples/javascript/render naming conflict
  • Gen: generated code in Code sidebar is properly bracketed
  • gen: prefix/classname/namespace that's added to gen~ exportcode struct and API
  • gen~: fixed amxd crash
  • gen~: fixed compile fail with "call to fasterpow is ambiguous"
  • gen~: function declaration
  • groove~: ‘set’ message fixes
  • groove~/play~: fixed clicks when buffer reference is changed and in overdrive/siai
  • Installer: fixed warnings in Chrome browser
  • jit.dx.grab: @adapt functionality
  • jit.dx.grab: output_texture support
  • jit.gl.cornerpin: fixed mouse interaction when bound to jit.world
  • jit.graph: fixed clearit attribute
  • jit.matrix: avf engine properly displays large still images
  • jit.matrix: importmovie with avf backend now properly handles single plane matrices
  • jit.matrix: updates to exportimage reference to better reflect current functionality
  • jit.movie: fixed dispose message to properly free movie file
  • jit.movie: output_texture no longer outputs blue frame immediately after reading file
  • jit.phys.picker: fixed touch message
  • jit.world: toggling fsaa no longer breaks escape fullscreen on Yosemite
  • live.drop: fixed crash when freed (Win only)
  • live.gain~: fixed graphical glitches with inlets / outlets
  • live.step: dump_to_dict contains interval
  • Max For Live: device width no longer changes on re-save
  • Max For Live: fixed dragging width of "defined initial window position"
  • Max For Live: fixed maxurl-related crash
  • parameter: display device-only attributes in patchers opened from the device project
  • playlist~: fixed pitchshift reset problems
  • project: unfreezing no longer causes creation of a nested device folder
  • Projects: adding a JSON file no longer tries to create a patcher
  • Projects: dependencies are found when project is out of search path
  • Projects: ensure that project-based patchers aren't added to the search path
  • Projects: new files will be written directly into their correct category folders on creation
  • Projects: reads .lua files
  • Reference: enum descriptions are properly rendered
  • retune~: properly respects pitches
  • serial: sending 'open' message after valid port selection no longer kills connection (Win only)
  • sflist~: sound files no longer cut off
  • sfplay~: fixed clicks when re-enabling time stretching
  • standalone: fixed issue where two instances of patcher would open on startup when built from a Project
  • Styles: no longer makes copies of styles when saving patcher
  • Text Editor: can paste into find bar text field (Windows only)
  • 64-BIT LIMITATIONS:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record (support for use of jit.record on Mac 64-bit)
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: On Mac, Oracle Java RE is not supported. You will need to install Java for OS X, provided by Apple (Download Here).
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 7.0.3 Build 150402 (Apr 3, 2015)

  • Fixed Bugs:
  • curve~: fixed crash when ramp time is 0
  • ezdac~: fix for @local attribute
  • jit.gl.multiple: fixed crash when receiving matricies of unexpected plane count
  • Max For Live: Fixed compatibility issues with Mac OS 10.10.3
  • serialosc.js: misc fix

New in Max 7.0.2 Build 150311 (Mar 13, 2015)

  • New Features:
  • Beap New Modules: Poisson, One Shot, Freq Shifter
  • Beap Updates: Keyboard, Karplus, Mixer, Karakuls, Harmonic
  • database: added fallback database and db rebuilding progress indicator
  • dict in js: 'getsize' and 'gettype' methods
  • gen~ new operators: t60, t60time, slide, phi, elapsed, voice, round.
  • jit.gen: mixed matrix format input
  • jit.world: ability to output collisions dictionary from jit.phys.world
  • Jitter Gen new operators: nearestpix, samplepix
  • Max For Live: allow Live to authorize Max 7
  • Preferences: 'lockdown' message to thispatcher
  • Preferences: "Check for updates automatically" Max preference (enabled by default)
  • Preferences: URL Proxy preference to override system proxy settings for jweb and maxurl
  • umenu: @allowdrag attribute
  • Vizzie: modules now have an on/off toolbar
  • Fixed Bugs:
  • About Max window: added title to window
  • amxd~ in project: fixed internal project conflicts with parent
  • amxd~: save as project no longer results in extraneous and corrupt patcher files
  • amxd~: silenced “latency” error
  • amxd~: dspstate~ outputs status
  • amxd~: MIDI works regardless of DSP status
  • amxd~: patchername attr no longer lists name twice
  • audio file drag: no longer causes purple border in locked patch after the fact
  • Audio toolbar browser: faster opening when many files are present
  • borax: correctly calculates duration output when in an edited MFL device
  • CEF: can remove CEF for smaller standalone apps
  • click~: fixed differences in Max 7 vs Max 6.1.9 with SIAI
  • curve~: no longer bangs on tempo change
  • dict: fixed crash when "," is used as a key
  • dict: support 'get' message with int arg
  • dict: write/export message no longer adds .maxpat before the .json extension
  • dict/coll: properly reads on Live set load
  • dictionary: improvements for names that contain non-terminal brackets
  • Documentation Browser: documents on a non-system drive can be rendered
  • Documentation Browser: disabled cmd+click on navigation links
  • Encapsulation: background color no longer changes with objects that have text color changes
  • Export to Max Device: exported device no longer remains open, invisible
  • ezdac~: reflects DSP state in amxd~
  • Factory styles: added bgfillcolors
  • File Browser: can add new files to a pre-existing collection
  • File Browser: collection sub categories properly show up
  • file browser: fixed query errors when recalling saved searches of "Recently Added"
  • File Browser: nested popouts for sidebar entries
  • File Browser: fixed sidebar pop up overflow
  • filewatch: fixed crash when starting filewatcher multiple times
  • flonum: displays properly in Mira
  • Format palette: fixed extra characters in tooltips (Win only)
  • Gen / poly~: fixed memory corruption and crash when saving poly~ patcher containing gen~
  • Gen: Allow reserved words as param names
  • Gen: fix for setting title on gen subpatchers via first argument
  • Gen: fixed crash on gendsp use when the 'require' is outside codebox
  • Gen: genpatcher contents no longer revert to default when the same patch is open
  • gen~: crash in M4L if device has error on first load
  • gen~: fixed crash on starting audio
  • gen~: fixed link errors on code export
  • gen~: function declaration error improvements
  • Genpatcher: fixed using z / shift-z keys for zoom
  • groove~: sync improvements when timestreching is on
  • Help Menu: improvements for using key command to open Ref Browser
  • incdec: fixed arrow visiblity (Win)
  • Inspector: better positioning for color palette
  • Inspector: standalone inspector window works on windows
  • Javascript: fixed errors when attempting to convert non UTF-8 characters when converting patcher to project
  • Javascript: fixed errant open dialog after save
  • Javascript: fixed misc Task crashes
  • jit.gl.handle: fixed issues with ctrl + mouse drag (Win x64 only)
  • jit.gl.light: fix for use when enable is set to 0 initially
  • jit.gl.light: fixes for shadows and hierarchical jit.anim.nodes
  • jit.gl.light: proper shape for shadows when OB3D rotatexyz is set to -90 0 0
  • jit.gl.node: disabled objects no longer cast shadows
  • jit.gl.slab: fixed double-click to open text window
  • jit.gl.text2d: fixed position issues
  • jit.grab: @automatic support on Windows
  • jit.movie: AVF and uyvy with @adapt 0 no longer causes x-dim of video to be halved on read
  • jit.movie: avf/qt engine audio file usage consistency
  • jit.movie: clear and dispose messages works for avf engine
  • jit.op: fixed crash when @op is not followed by an arg
  • jit.pwindow: @shared attribute is persistent
  • jit.vcr: fixed glitches and audio / video sync issues
  • jit.window: fixed issue when toggling visible attribute
  • jit.window / jit.world: fixed @fsaa 1 on Mac OS 10.10+
  • jit.world / jit.gl.node: fixed add to context bug
  • jit.world: fixed worldtoscreen/screentoworld message handlers
  • join: fix for ‘set’ message with no arguments
  • kslider: note border is visible in Mira
  • Latest Support Information: opens in system's default browser
  • Lessons: can be opened from File Browser, and non-lesson files are hidden
  • live.grid: fixed matrix mode multitouch crash
  • live.text: activebgcolor alpha of 0 no longer makes png invisible
  • Max For Live: fixed audio issues after starting audio in another patcher
  • Max For Live: fix width takes the view size in to account
  • Max For Live: fixed issues with exporting audio in Live
  • maxdb: AU plugins are no longer harvested on every restart of Max
  • metro: @active fires in MFL editor
  • metro: fixed lag when opening windows and using quantization (scheduler issues)
  • mira: increased package version to 1.1.18, now factory externals
  • Morphing Sequencer BEAP: fixed crash when deleting
  • mousestate: mode 2 accounts for toolbars
  • jit.gl.camera: fixed multiple captures from jit.gl.node
  • multislider: fixed reverse line scroll issues (Win only)
  • nslider: fixed making a preset in polyphonic mode
  • number: fixed Mira issues
  • number: renamed attribute mouseup to mousefilter
  • Object autocompletion: popup dismissed when patcher is not frontmost
  • OpenGL: fixed FBO errors when adding pwindows to MRT scene
  • OpenGL: fixed GL errors posted when context freed (Win only)
  • OpenGL: optimizations for how gl objects are added to their contexts (p/window, jit.world, matrix, gl.node)
  • panel: fixed bgcolor change crash
  • Patch cords: fixed problem where multiple duplicate patch cords can persist in a patcher
  • Patcher browser: removed duplicate entries
  • Patching: fixed issues with shift+drag on patch cord handle
  • pattrstorage: 'write' message can be triggered directly from the write operation of a pattrstorage
  • pattrstorage: fixed 'no such file in collective' error message in standalones
  • pattrstorage: fixed crash when closing patcher and audio is on
  • pattrstorage: storage window 'interp' column is wider
  • Performance: fixed interface slowness when large data is in the clipboard
  • phasor~: @lock 1 no longer drifts out of sync when signal vector is small
  • play~: plays entire sample when changing buffer by "set" message w/ SIAI
  • playlist: remembers file usage in standalones
  • playlist~: 'append' without arguments brings up dialog
  • playlist~: fixed ‘integer out of sound file range’ playback issue
  • playlist~: fixed crash when changing selection and speed
  • Preferences: "Import Patches Using Default Values" no longer dirties patchers on open
  • Projects: newly-added files appropriately get a filewatcher
  • Projects: suppress autoorganize if there are open specs
  • Projects: new JS file properly saved
  • Reference Browser: fixed key command usage
  • Reference Browser: fixed opening of object reference from inside some help patchers
  • Reference page / helpfile: objects can have help and ref fallbacks (JS/JSUI/etc)
  • scale~: fixed problems when calculating non-exponential output under certain circumstances
  • scope~: y axis is no longer reverted in xy mode
  • serial: improve iteration and connection strategy for devices on Windows
  • serial: permit output in timer thread
  • sflist~: fixed crash on Windows
  • sflist~: no longer cuts playback of audio files
  • sfplay~: fixed crash/hang when playing preloaded cues with close loop points
  • Snapshots: fixed possible crash when restoring from undo history
  • Standalones: collective is placed in Resources (Mac)
  • stretch~: fixed crash when deleteing referenced buffer~ while stretching
  • stretch~: fixed hang when changing quality during stretch
  • stretch~: fixed issues with multiple stretches when using buffer~ import
  • styles: no longer reset when typing in the object box
  • table: fixed issues with saved / recalled data (Win x64 only)
  • table: keeps range after second table with same name is created
  • textedit: imports textcolor properly
  • thispatcher: wclose properly asks to save dirty subpatcher (Win x64 only)
  • Toolbar Browsers: can click above patcher browser windows to close them
  • udpreceive: fixed object_retain/release/free crash
  • umenu: improved drag and drop behavior for legacy patches
  • umenu: mira fixes
  • umenu: properly saves compatibility bgcolor
  • vectral~: multiple instances work
  • Vizzie / Beap patcher toolbar browsers: fixed "sticky" categories
  • vst~: transport location synced
  • vst~: fixed audiounit crash when setting a menu parameter bigger than 1
  • vst~/amxd~: fixed 'open' message with window coordinate arguments
  • waveform~: improved drag & drop behavior for legacy patches

New in Max 7.0.1 Build 141203 (Dec 4, 2014)

  • Fixed Bugs:
  • audio file drag and drop: drag in locked patcher no longer causes purple border after the fact
  • AVF video backend: fixed memory leak / crash
  • bpatcher: fixed ui interaction issues with offsets and clickthrough
  • buffer~: fixed issues with resizing buffer~ while recording
  • calendar: fixed crash after opening a file in stream view
  • comment: background color from a style is properly applied
  • crash recovery: fixed issue for when there is nothing to recover
  • dial: fixed drawing issues
  • dict: documentation of js usage
  • Doc Browser: properly escapes apostrophes and other characters
  • docs: can open help files from refpages where helpfile name !== .maxhelp
  • File Browser: sidebar is resizable
  • filebrowser: proper path for bookmark when dropping folder from secondary volume to sidebar
  • filebrowser: renaming collection snippet no longer removes it from the collection
  • filebrowser: sidebar pop ups properly scroll on overflow
  • filewatch: fixes for (some) paths containing accented characters
  • gen patcher: snippets browser lists collections alphabetically
  • Gen: clicking file->save while in the embedded gen offers 'save as' dialog
  • Gen: double click on [in] and [out] in gen brings parent patcher forward
  • Gen: fix for filename arg on gen subpatchers not being used
  • Gen: fix for issues with gen subpatcher loading
  • Gen: fix for Params when not connected with patchcords
  • Gen: fixed problems with require
  • gen~: fix for buffer not compiling due to missing symbols and prototype
  • gen~: fixed codegen error with splat due to re-use of local variable name
  • GenExpr: code that buffer is dependent on is not erroneously deleted
  • groove~: buffer is properly cleared when timestretch is on
  • groove~: loop points/loop start work with timestretch enabled
  • inspector: fixed section header under 32-bit
  • inspector: standalone inspector on Windows works
  • inspector: restrict title bar size
  • jit.gl.mesh: fixed @cache_mode vertexbuffer usage
  • jit.gl.multiple: support for velocity render target
  • jit.gl.pass: MRT works with @adapt 0
  • jit.grab: avf unique output_texture works as expected
  • jit.phys.picker with jit.world: fixed issues when modified by jit.gl.handle
  • jit.record: fixed avf engine error in Max Console
  • jit.world: @hi-res 1 no longer posts "invalid object" message to the Max console
  • jit.world: fixed drawto attribute
  • Lessons: bar captions properly disappear
  • Max application: can rename
  • Max Console: additional fix for mystery white columns
  • maxdb: AU plugins are no longer reharvested on every restart of Max
  • maxdb: files in subfolders of package aliases are properly harvested as package files
  • maxdb: fixed harvesting metadata from plugins with a ' in the manufacturer name
  • meter~: fixed orientation issues
  • MFL editor: toolbars can be customized
  • MFL MuBu device: fixed crash on load
  • nslider: note color properly changed when setting patcher style
  • number: properly converts values when switching between integer and decimal
  • pach cords: implement revert to default for color
  • Paste From: fixed conflicts with clippings and snippets in the same package
  • patcher font: change is properly reflected in attrui, umenu, tab, textedit
  • Patcher Inspector: fixed crash when clicking on 'show in reference'
  • patching: click on inlet/outlet creates a connection even with segmented cords off
  • path: fixes for OSX aliases on Yosemite
  • playlist: added notifications for starting playback
  • reference sidebar: section headers have gradient
  • Rewire: misc fixes
  • saveas dialog from patcher: removed entries for files we don't directly save
  • scheduler: SIAI improvements
  • sidebar: disabled in floating / nogrow windows
  • snippets patcher browser: fixed status view for files
  • snippets: conversion utility for clippings
  • snippets: fixed crash when editing/saving a snippet with no contents
  • snippets: fixed drag/drop from a non-known snippets location
  • snippets: save notification / browser link appears longer in toolbar
  • standalone: no longer crash on startup (Win)
  • stretch~: fixed crash or hang when deleted while stretching
  • subpatchers: pin state is saved
  • Templates: first-time template creation properly updates menus
  • Templates: subpatcher grid settings saved properly
  • text fields: Max no longer crashes when hiding textfield attributes
  • textbutton: fix for jspainter usage
  • Toolbars: fixed double object creation issue
  • typeroute~: added refpage
  • umenu: arrow attribute is back
  • umenu: fixed dropdown menu appearance in Mira with Max 7
  • umenu: imports Max 4 colors properly
  • umenu: popupmenu uses specified font
  • umenu: setcheck always draws
  • User Docs folder: fixed issues when username contains accented characters
  • vst~: fixed crash when pressing recall directly after dropping
  • wave~: fixed error when using @interp attr in the box

New in Max 6.1.9 (Oct 16, 2014)

  • FIXED BUGS:
  • closebang / freebang: no longer crashes when using to close Max
  • Dict: embedded dict appropriately dirties the patcher
  • Gen & MFL: fixed memory corruption triggered during editing of amxd with gen~
  • Gen: caching respects connection count
  • Gen: fix for .genexpr not loading
  • Gen: fix for gendsp use when the 'require' is outside codebox
  • Gen: fixed crash when param name has non-alpha-numeric character
  • Gen: fixed crash when editing nested genpatcher via Modify-Read-Only
  • Gen: fixed inlet creation issues in Max For Live context (and more)
  • Gen: fixed inlet/outlet and crashing isssues (gen_patcher_load)
  • gen~: fixed pfft usage
  • gen~: fixed samplerate in nested poly~
  • Inspector: fixed crash when hovering over "boxtextinfo" attribute
  • Jitter Gen: respects the block level of declared values
  • Max For Live: fixed dict save bug
  • Max For Live: re-instate Java check
  • Parameters: fix for parameter list corruption
  • Parameters: fix invalid focus crash when deleting objects under certain circumstances
  • pattrstorage: fixed writexml crashes
  • regexp: fixed memory leak
  • udpreceive: improved crash protection
  • vst~: fix for invalid memory access of plugin program and presetname
  • vst~: improvements to parameter change audio 'clicking' artifacts
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.gl.text2d
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: On Mac, Oracle Java RE is not supported. You will need to install Java for OS X, provided by Apple (Download Here).
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.grab, jit.qt.grab, jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 6.1.8 (Aug 8, 2014)

  • New Features:
  • Gen: Compilation optimizations
  • Gen: Gen editing included for all Max users
  • FIXED BUGS:
  • detonate: misc fixes
  • dict: memory leak fixes
  • Gen: creating project with .gendsp dependencies works as expected
  • gswitch: no longer changes input selection when receiving a bang in the right inlet
  • jit.gl.pix: ISF export no longer fails with dim operator
  • js sqlite: request to fetch out-of-range results no longer crashes
  • JS: fixed DB access (fixes get_plugs.js for vst usage)
  • kernel: removed QtKit and Quicktime Frameworks for Mac App Store compatibility
  • matrixctrl: no longer complains about missing default images
  • maxurl: allows the setting of a proxy server
  • maxurl: misc fixes
  • Max For Live: fixed crash in Max for Live editor with poly~
  • Max For Live: fixed crash on unfreeze with certain devices
  • Max For Live: removed Java dependencies on OSX
  • Max For Live: ‘set’ message to Live UI objects no longer causes output
  • Multithreaded memory and symbol performance improvements
  • objects: dict, attrui, genpatcher, glstatus, etc, properly marked as factory externals
  • packages: makes a folder for Packages when Max is opened
  • pattrstorage: fixed cpu issues during modulation
  • pong~: attribute order fixes
  • Projects: app building properly includes gen~ abstractions
  • round: right inlet is now shown as cold
  • textedit: fix for random crashes
  • umenu: 'set' message accepts float as documented
  • Windows: keyboard shortcuts for the save dialog when closing a dirty patcher
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.gl.text2d
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: On Mac, Oracle Java RE is not supported. You will need to install Java for OS X, provided by Apple (Download Here).
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.grab, jit.qt.grab, jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 6.1.7 (Apr 23, 2014)

  • NEW FEATURES:
  • Gen: added subpatcher message to gen subpatchers
  • Gen: ISF export to jit.gl.pix gen patchers (see Gen Code Export ISF Wiki Article)
  • maxurl: wrapper around libcurl that can perform HTTP requests
  • poly~: prevents opening window if subpatcher was saved with the window open
  • FIXED BUGS:
  • audio bitwise objects: work the same on all architectures
  • buffer~: fixed 4th arg to the 'read' message so that a '0' will resize the number of channels
  • buffer~: fixed behavior of 'replace' to resize the number of channels in addition to the length
  • buffer~: fixed crashing on 'importreplace'
  • buffer~: writes raw data
  • coll: improvements for very long entries
  • dict: 'contains' works with heirarchy
  • dict: fix for not wrapping symbols in quotes if the symbol starts with a digit
  • dict: fixed crashing when setting a value at an invalid array position
  • dict: fixed memory leak
  • dict: improved error reporting when using 'set'
  • dict: improved syntax parsing when quotes are used
  • dict.pack: added name argument
  • gen~: fixed gate operator compilation under certain circumstances
  • jit.gl.node: enabling @capture no longer affects the color of gl objects
  • jit.gl.pix: fix for cell operator
  • jit.phys.body: no longer loses child shapes when enable toggled or shape changed
  • jit.phys.ghost: fixed crash with colliding ghost objects
  • jit.phys.multiple: @shape attribute no longer is reset when receiving a new mesh_matrix
  • jit.release~: fixed possible hang on free
  • jit.turtle: fixed crash / memory corruption
  • jsui: new Image from graphics context preserves alpha
  • kslider: fixed potential memory corruption
  • live.drop: fixed spurious 'Attempting to convert non UTF-8 characters' warning
  • live.drop: restores protected sample presets
  • Max For Live: misc fixes for parameter blob recall and freeing
  • Max For Live: reading of encrypted samples now works in 64-bit mode
  • Max For Live: undo gesture improvements
  • mxj: no longer crashes when it can't find a class
  • number/flonum: no longer stops scrolling in bpatcher
  • object defaults: fixed dialog box when saving settings
  • Packages: Extensions folder can contain mxe64 files
  • Packages: extras folders now added to the searchpath
  • patchcord menu: 'delete' no longer removes text in object box
  • poke~: fixed crash when there is no valid buffer
  • poke~: fixed sound distortion issues
  • polybuffer~: numeric sorting for channel in window
  • pong: fixed fold mode
  • pong~: properly reads attributes
  • pow~: no longer sends NaNs or denormals
  • Projects: app building includes gen~ abstractions
  • Quicktime: removed API calls from Max kernel
  • transport: fixed bar count with uneven time signatures
  • uzi: middle outlet no longer stops firing under certain circumstances
  • vst~: fixed cpu spike with pitchbend updates
  • vst~: fixed midi out note velocity
  • waveform~: fixed redrawing issue with channeloffset
  • 64-BIT LIMITATIONS:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.gl.text2d
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Java: Oracle Java RE is not supported. You will need to install Java for OS X, provided by Apple (Download Here).
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.grab, jit.qt.grab, jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 6.1.6 (Dec 12, 2013)

  • FIXED BUGS:
  • attrui/inspector: properly displays certain numbers
  • buffer~: fix for crash when writing to invalid or unauthorized directory on Windows 32/64
  • cycle~: no longer crashes with 'set' message in certain circumstances
  • docs: misc improvements for documentation usage by 3rd party developers
  • equals~ etc: backwards compatibility for when incorrectly connected
  • jit.anim.*: fix for breakage when context changes
  • jit.anim.node: children reconnect after parent attributes updated on its box
  • jit.gl.model: 'getfile' outputs proper path on Windows
  • jit.gl.multiple: fix for arbitrary parameter usage
  • jit.gl.slab: fix for file attribute in inspector and wheel menu
  • jit.matrix: 'exportimage' works in 64 bit
  • jit.net.send/recv: fixes for running in 64 bit
  • jit.qt.grab: iSight fixes for Mac Retina machines
  • jit.window: shared + fsaa fixes
  • Jitter: no longer requires Java installation
  • js/sqlite: error reporting improvements
  • js/sqlite: works with databases on a non-boot disk on Windows
  • line~: no longer outputs bang when tempo is changed on global transport
  • mxj: fixed hangs/crashes/running on Mavericks
  • OpenGL: fix for software renderer on Windows
  • parameters window: fixed crashing when clicking on items and sorting columns
  • pattrstorage: fixed memory leak when interpolating presets
  • preset: fix for setting a preset using shift+click
  • live.thisdevice: 'setwidth' triggers correctly when device is in a rack
  • startup: fixed crash restoring a prefs file on launch
  • vst~: fixed hostsync inside Max For Live
  • vst~: generic editor UI updates with messages to object

New in Max 6.1.5 (Dec 3, 2013)

  • FIXED BUGS:
  • Mac OS 10.9 Support: fixes for crashing on audio start/stop
  • capture~: 'write' message no longer crashes
  • genexpr: MRT no longer is being detected as dead code
  • gl.window: no longer posts erroneous warnings
  • Jitter Gen: gen patcher export naming fix
  • kslider: recalls parameter/pattr properly
  • Max startup: fixed crashing and improved error checking/reporting when creating temp files
  • multislider: fix for hang on set/select
  • OpenGL: gl texture memory use improvements
  • patching: fix for crash when clicking on patch cord handles
  • vst~: 'get' message works properly
  • waveform~: improved fix for refresh/redraw
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.gl.text2d
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • Other features currently unsupported or limited:
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.grab, jit.qt.grab, jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 6.1.4 (Oct 17, 2013)

  • New Features:
  • join: argument usage for @triggers
  • plot~: added 'definexorigin' and 'defineyorigin' messages to set the plot origin using max messages
  • plot~: grid color is definable
  • FIXED BUGS:
  • 2d.wave~: no longer crashes when the buffer is empty
  • bpatcher: audio works in embedded bpatcher
  • buddy: no longer corrupts memory with big lists
  • buffer~: read/import and offset argument fixes for x64
  • buffer~: fixed import .mp3 crash on Win
  • buffer~: write 32bit wave no longer produces files with bad values
  • buffer~: fixed write format/samptype issues
  • coll: fixes for closing a dirtied text editor window
  • colorpanel: interaction improvements
  • debugging: opens subpatchers and reveals send/receive pairs
  • dict: fixed crash when setting subdictionary values in M4L
  • dict: fixed problems saving dict data as param in MFL
  • dict: improvements to 'set' message to dict when there are many dict instances
  • dict: setting a subdictionary triggers notifications
  • Gen: improvements to variable aliasing
  • info~: no longer reports erroneous information
  • javascript: fixed crash when setting a attr
  • jit.gl.cornerpin: changing drawto of gl.cornerpin to a gl.node no longer posts error message
  • jit.gl.mesh: index matrix and autonormals improvements
  • jit.gl.pix: memory use improvements
  • jit.gen: fixed SWIZ 0 1 and SWIZ 2 error
  • jit.gl.lua: @args work as expected
  • jit.gl.model: fixed errors with vbo mode
  • jit.gl.shader: fixed matrix parameters bug
  • jit.gl.text3d: precision attribute is easier to set from an inspector/attrui
  • jit.qt.grab: no longer crashes when there's no available devices
  • JS: file creation fixes
  • jsfolder: no longer corrupts memory with very long file names
  • jssqlite: no longer crashes on open with incorrect arguments
  • live.arrows: no longer grows when activating the same arrows
  • live.grid: no longer corrupt memory in matrix mode
  • live.text: easier to resizes when in button mode
  • live.toggle: in right category in object browser
  • Max for Live: help audio works in unauthorised Max
  • packages: update searchpaths and menus when packages are added/removed while Max is running
  • patcher toolbar: tooltips show in correct location when patcher is narrow
  • pattr: can set @type attr
  • play~: fixed issues with playing back long sound files
  • polybuffer~: reports correct buffer~ information
  • projects: paths are correct when updating dependencies for dicts
  • standalone: unchecking usesearchpath attribute works as expected
  • tab/live.tab: drawing improvements for when in multiple views
  • table: respects load/normal historic mode
  • translate: no longer crashes on close
  • udpreceive: no longer crashes when packets are dropped
  • uzi: fixed threading problems
  • waveform~: redraws properly when the size of the buffer~ increase
  • Windows OpenGL: improvements for some ATI cards
  • zl.dequeue: properly dequeue with recursion
  • zplane~: no longer crashes with unsupported order

New in Max 6.1.3 (Jun 19, 2013)

  • New Features:
  • dict.deserialize: nested key support
  • Gen: @default attribute for default value for unconnected gen inlets (ex: [in 1 @default 10])
  • jit.lcd: works in x64 Max
  • jit.mgraphics: reset alpha state
  • jit.path: implementation in a javascript
  • Jitter GL: quaternion conversion objects order-of-rotation attribute
  • max/js: get the architecture of Max with ;max getarch or 'max.arch' (JS)
  • FIXED BUGS:
  • ad_rewire: fixed sysmidi error when max is configured to use ad_rewire when launched
  • attrui: mouse drag respects attribute type
  • attrui: Moving an object by sending it a rect message updates an attached attrui's value for patching_rect
  • Audio: fixed crash servicing scheduler when parallel audio processing is on with SIAI
  • Audio: fixed startup crash when no core audio input devices
  • Audio: NRT speed improvements
  • bitxor~: mode 3 works as expected in 64-bit version
  • bpatcher: audio objects created in bpatcher work
  • buffer~: 'import' works on x64
  • buffer~: 'read' duration arg is respected
  • buffer~: 'read' message only resizes buffer if duration is -1 or channels change
  • buffer~: 'write' overwrites existing file (Win only)
  • buffer~: AIFF file reader improvements
  • buffer~: clear/fill is now faster
  • buffer~: fixes for write format/samptype issues
  • buffer~: import features improved (64-bit)
  • buffer~: loads .mov files
  • buffer~: no longer crashes on Windows when importing .mov files
  • buffer~: read dialog works the same as read message
  • buffer~: read message with channel args works as expected
  • buffer~: reads float32 AIFF files
  • buffer~: sums channels when reading 2 channel file into 1 channel buffer
  • buffer~: writeraw / writeflac / etc. bring up dialog with proper file type defaults
  • closebang: works as expected in M4L devices and Max
  • date: returns correct values for ticks message
  • device projects: improved unfreeze behavior for global project members
  • dict: setting data via JS notifies pattr
  • dspstatus: fixed reporting of iovs
  • flonum: fixed UI update issues
  • Gen - 'swiz' handles numbers higher than 9
  • Gen: code export AU project improvements
  • Gen: expr op with [expr var] works
  • Gen: fixes for abstraction usage
  • Gen: fixes for AMDFX8150 CPUs
  • Gen: GenExpr in-place operators
  • Gen: iOS export example
  • Gen: modifying gen abstraction no longer closes sub-patcher window
  • Gen: neg() as function with > 1 arguments no longer generates errors
  • Gen: scientific notation in gen code sidebar
  • gen~ preserve Data contents between edits
  • gen~: ability to return multiple variables
  • jit.anim.drive: @ui_listen improvements
  • jit.cellblock: fix for 'clear all' crash
  • jit.cellblock: no longer crashes with large list
  • jit.convolve: works with 1 dim matrices
  • jit.gl object: fixes for using mat_* color values in a shader and lighting is disabled
  • jit.gl.isosurf: fix for mode attribute display
  • jit.gl.model attached to jit.gl.multiple: improved performance
  • jit.gl.node: @axes attr no longer passed on to ob3d children
  • jit.gl.picker: works with jit.gl.node
  • jit.gl.plato: shape attribute accept int and float
  • jit.gl.sketch: fixed stroke message crash
  • jit.gl.texture: large textures render properly on windows
  • jit.matrix: fixed importmovie crash on Win x64
  • jit.matrixset: fix for importmovie message
  • jit.pwindow: mouseidleout no longer reported when idlemouse is off
  • jit.qt.grab: direct-to-window fixes
  • jit.qt.movie: fixes for flickering and possible non-display of single-frame movies when loading a new movie
  • jit.window: RGB matrix no longer swaps colors
  • jit.window/jit.pwindow: deletion no longer messes up textures in other contexts
  • js and jsui: fixes for 10.5.8 x64 usage
  • JS jitter: fixed render destination ordering issues
  • jsjitter: callback function shared by multiple listeners has correct context
  • jstrigger: improved behaviour in overdrive
  • JSUI: re-freeze jsui with define path no longer loses script
  • Live API: file_path property of a clip on Windows is properly delimited
  • live.drop: correctly outputs with pattrstorage slot recall
  • LOM: 'access' column info rendered (Win)
  • M4L: fixes for IPC hang/crash when saving very parameter-heavy device on OSX
  • Max patcher: memory usage improvements
  • Max Runtime menu bar: Window->Hide Subwindows works
  • Max: improved loading/startup performances
  • maxzlib: encode and decode UTC time properly
  • MFL devices: Freezing a device including a external which has a Framework in it's bundle will retain Framework
  • MFL: fixed crash while consolidating amxd project
  • MFL/Projects: conflicts no longer prevent unfreezing of devices
  • MFL/Projects: matrixctrl and pfft~ no longer throw errors on unfreeze
  • minimixer: refreshes properly
  • packages: 'examples' folders added to the searchpath
  • packages: improved support for java classes
  • peek~: works properly with the value 1000
  • peek~/poke~: improved thread-safety
  • pong: mode attribute properly initialized
  • pong: outputs float or list properly
  • preset: stored preset number is properly output
  • project window: reordering items works as expected
  • quickref: no longer crashes with long description
  • record~: no longer crashes on double-click when no buffer provided
  • reference:

New in Max 6.1.2 (Apr 10, 2013)

  • FIXED BUGS:
  • Gen: performance improvements when there are multiple Gen patchers
  • Help files: old '.help' files now open in Max 6.1
  • jit.gl.gridshape: fixed crash in color setter with less than 4 args
  • jit.phy.ghost: fix for crash when re-instantiating
  • jit.window: misc fixes for @shared usage
  • jit.window: fixed crash on save in Max For Live context
  • Keyserver: Max 6.1 Keyserver FAT/x64 support
  • Max Ref: tags are properly rendered when illustration is text
  • mxj: fixed crash when loading amxd using mxj
  • oscbank~: works on Windows x64
  • pictslider: fixed issue with mode attribute
  • Projects: fix opening Windows zip/maxzip files containing folders on OSX
  • Retina display: patches are rendered correctly across displays
  • saving: fix for saving to location other than boot drive
  • umenu: native text rendering with windows now works
  • vst~: fix for param output from UI interaction
  • waveform~: offset attribute no longer produces inf/nan when the buffer is not ready

New in Max 6.1.1 (Mar 19, 2013)

  • FIXED BUGS:
  • 3rd party external objects: fixed notify_free() crashes for old third-party externs
  • bendout: fixed
  • buffer~: Fix for misc crashes
  • closebang: fix for use in MFL
  • Collective loading factory externals changes
  • detonate: fix for read/import midi files
  • Extras: fix for subfolder usage
  • Gen: fix for freeverb x64 crash
  • gen~: samplerate properly updates in subpatchers
  • javascript: improved script load execution
  • jit.gl.nurbs: fix for order attribute
  • jit.qt.grab: fixed memory leak
  • Jitter Gen: fix for TWOPI and friends in object boxes
  • JS: fixes for 'Max' method
  • LOM: 'access' column info is rendered (Win)
  • project: searchpaths are not forgotten on project load
  • Projects: file singleton fixes
  • Projects: fixed crash on windows
  • regexp: reads arguments properly
  • sfrecord~: fix for not writing any bytes to file (Win)
  • standalones: remove Cg.framework error messages
  • vst~: initialization improvements
  • 64-bit Limitations:
  • Not supported:
  • jit.avc
  • jit.broadcast
  • jit.desktop
  • jit.displays
  • jit.gl.text2d
  • jit.lcd
  • jit.qt.broadcast
  • jit.qt.effect
  • jit.qt.record
  • jit.vcr
  • jit.videoout
  • midi_dm
  • spigot~
  • mxj~
  • Other features currently unsupported or limited:
  • Reading non JPG or PNG files under Win64 (e.g. PICT, TIFF, GIF, etc.)
  • Import features for buffer~ are limited
  • jit.grab, jit.qt.grab, jit.qt.movie features are limited - jit.qt.movie on Windows x64 is currently limited to DirectShow supported movie files

New in Max 6.1.0 (Mar 5, 2013)

  • NEW MAX FEATURES:
  • dict.print: optional arg to name the object in the max window
  • dict.strip: ability to use hierarchical '::' key referencing
  • function: line thickness attribute
  • Gen documentation sidebar
  • Gen subpatchers: @title attribute
  • Gen type derivation for for loop counter
  • Gen: [in 1 @comment foo] => [in 1 foo]
  • Gen: objects with invalid constants throw a warning to the Max window
  • Gen: operator attribute descriptions
  • Gen: params/buffers etc. are visible in sub-gens
  • gen~: add phase reset trigger to phasor operator
  • gen~: assertion with Delay in a user function
  • gen~: genexpr example for rate~
  • gen~: new operators / new operator features
  • GenExpr operator definition parameters
  • GenExpr: better support for PHI nodes / returns in sub-blocks
  • info~: new outlet which reports the number of channel
  • jit.gl.cornerpin: add invert_corners attribute
  • jit.gl.handle: lock mode / filter
  • jit.gl.model - applying animations to matrixoutput
  • jit.gl.model : edit material properties before render destination is set
  • jit.gl.model: read notification
  • jit.gl.model: upgrade Assimp middleware library
  • jit.gl.multiple: speed improvements
  • jit.gl.node: non-automatic drawing
  • jit.gl.path: calculate bounds to allow functionality with gl.handle and gl.picker
  • jit.gl.pix: Add an export of standard JXS files
  • jit.gl.pix -> JXS export
  • jit.gl.pix -> web OpenGL prototype
  • jit.phys objects - upgrade bullet library to latest
  • jit.phys.multiple - set individual body properties
  • jit.phys.picker: option-drag z-transform
  • jit.phys.world - split impulse option
  • jitter picker objects: return local and world coordinates
  • live.grid: mouse interpolation
  • live.step: dump_to_dict message
  • live.step: grab middle of loop braces to change loop
  • matrixctrl: getcolumn output
  • Max user-domain in ~/Documents folder
  • minmax~: can be reset by a signal
  • OpenGL: glDepthMask attribute
  • playbar: outputs control messages out left outlet
  • pong: object to do clipping/wrapping/folding/etc.
  • progress: color attributes
  • Projects: added 'About Projects' documentation Vignette
  • Projects: ignore various git files
  • retina display support
  • Support third party self contained folders inside and outside of the Max folder
  • text justification in many objects
  • version OS info clipboard copy button
  • Waveform~: 'set' message
  • zigzag~: mode and loopmode are now attribute
  • zigzag~: stop message
  • NEW MAX FOR LIVE FEATURES:
  • For full Live Object Model changes, please see LOMChanges.pdf
  • API: retrieve all notes in a midiclip without selecting
  • device width: settable
  • Devices: improved patcher loading time
  • live.dial: narrower in tiny mode
  • LiveAPI: get AudioClip file path
  • LiveAPI: misc improvements & changes
  • LivePack: resolve file path
  • MFL devices: all devices are Projects
  • MFL keyboard focus: fixed various issues
  • MFL parameters: enabled ordering of automatic mapping of on external MIDI controllers
  • Rye Pluggo MFL device: minor gain improvments
  • startup: improved Max for Live startup time
  • textedit: un-focussing device un-focuses textedit
  • undo events: events during a mouse down are merged into a single event
  • FIXED BUGS:
  • ;max closefile: fix for crash if file is already closed
  • attrui: displays enumindex with both index and label
  • Audio drivers: Digi CoreAudio Manager 8.0.3+ compatibility
  • bitshift~: fix for crash when toggling audio
  • buffer~: fix for .mp3 import (fix for Win 32 bit only)
  • cellblock: fixed some issue with inline editing and scrolling
  • coll: 'refer' message gives error when name does not exist
  • coll: fixed error with pasted text
  • coll: fixed syntax parsing bug
  • coll: fixed text editing window close with '\,' as text
  • counter: properly responds to carryint and carrybang messages
  • cross-dog example: fixed bad connection
  • debugging: fixed crash while deleting patch cord while stopped at breakpoint
  • dialer: closed subpatcher (and fixed the numbers)
  • dict: 'remove' works with hierarchical references
  • dict: fixed 'remove' message on windows
  • dict.group: no longer turns float values into symbols
  • dict.slice: fixed misc crash
  • docwindow: fall back to static rendering for third-party refpages and vignettes
  • docwindow: provide stylesheet fallback for docs which lack stylesheets
  • docwindow: support for 3rd-party refpages
  • expr: % 0.01 no longer crashes
  • ezdac~: border size updates correctly
  • filtercoeff~: imprived error messages
  • float object: fixed nan display
  • follow: fixed memory corruption
  • fpic: frozen attribute gets restored
  • freqshift: fix for bad signal output
  • Gen: better error reporting for param with no arg
  • Gen: Fixed expr operator when using similar formatting as codebox
  • gen~: Delay preserve memory between edits
  • gen~: [in @comment] shows up in gen~ inlet assist
  • gen~: fixed behavior with [fftinfo] in a non-fft gen patcher
  • gen~: fixed compilation errors with history/interp
  • gen~: fixed problem with if() and stateful user function
  • groove~ able to reference buffers in polybuffer~
  • jit.gen / jit.pix: fixed copy paste crash
  • jit.gen: fixed compilation error with vec10
  • jit.gl.*: improved memory use
  • jit.gl.asyncread: fix for crash related to changing drawto
  • jit.gl.camera: Java Jitter implementation
  • jit.gl.cornerpin: fixed bug with colormode uyvy and textures
  • jit.gl.light: fixed @lookat
  • jit.gl.material: fog calculation improvements
  • jit.gl.mesh: fixed crash with color property and index matrix
  • jit.gl.model: fixed displaylist mode
  • jit.gl.node: fixed behavior differences
  • jit.gl.slab: fixed memory leak
  • jit.lcd: fix for misplaced $1 in readpict crash
  • jit.mgraphics: fixed problems with dim attribute
  • jit.phys: collision dictionaries update values
  • jit.phys.*: improved Windows memory use
  • jit.phys.ghost: CPU improvements
  • jit.pwindow: fixed crash when deleting pwindow while rendering
  • jit.qt.record: fix for two 'realtime' attributes / attrui display issue
  • jit.window: fsaa/doublebuffer no longer triggers position/rect init (Win only)
  • jit.window: doublebuffer 0 no longer posts erroneous warning (Win)
  • jit.window: mouse listener no longer fails on name attr change
  • jit.window: shared render context works on Windows
  • JS: fixed delayed event crash
  • JS: fixed usage of local property of a function
  • JS: fix for script executing twice on load
  • JS: fixed getlogical method
  • JS: fixed NewString crash
  • JS: fixed new Task() crash
  • JS: fixed setoutletassist crash
  • JS: increased maximum memory
  • JS Canvas: fixed textAlign "center"
  • List external/subpatcher: reports the full path of the abstractions
  • live.grid: improved initialization
  • live.grid: undo improvements
  • live.param~: functions in subpatcher
  • live.remote~: fix for crash when saving
  • live.toolbar: rightmost text is no longer truncated
  • Max console log messages: Mountain Lion fix
  • Max For Live: fix for contextual menu when right-clicking in locked patcher
  • Max/Runtime: does not try to open amxd files
  • Max startup: improved startup on Windows with large search path and antivirus software enabled
  • Max startup: visual feedback during startup on Windows
  • maxpat files: fixed hang when a patcher exists with the same name as an extern
  • MIDI: hot swap devices without needing to restart Max
  • mxj: can find classes in project
  • mxj: can load java classes from collectives
  • nodes: fix for color change w/ attrui
  • nodes: calculate properly the distances when the object is not square
  • object box typing / autocompletion: fix for crash when editing object box
  • Object Explorer: optimize filter change
  • Object Help Launcher: fixed category / object menus
  • ObjectHelpLauncher is now wider
  • old mxt abstractions: found/loaded properly
  • parameter: changes to the parameter window update the values in an open inspector
  • paste picture: works on windows when 32 bpp image is on clipboard
  • paste replace: does not overwrite existing scripting names of target objects
  • patch cords: fix for changing color
  • pattrstorage: fixed memory corruption
  • pictctrl: functions as expected in Dial Mode
  • poly~: fix for crash saving poly~ patcher with upsampling
  • polybuffer~: updated information string to accept more RAM than before
  • Projects: fixed 'hide project window after opening' project setting
  • Projects: fixed crash when Project isn't found when selected in 'Open Recent Project'
  • Projects: fixed issues with special characters in filenames
  • Projects: project local vs global abstractions
  • qlist: no longer outputs errors when the editor is not properly closed
  • regexp: fixed substitutions issues
  • rslider: properly refreshes after changing the range
  • scope~: imports colors properly from Max 4 patches
  • Sidebar Ref: some characters not being rendered properly
  • stutter~: works in MFL when transport is not runnig
  • Suckah: MBP Retina support
  • techno: removed harmless "bad index" error message
  • udpreceive: fix for negative numbers signed int problem
  • umenu: disable color is now displayed properly
  • vst~: fix for co-ordinate reporting and initialization
  • vst~: fix for jumpy enum list params in default editor
  • vst~: fixed crash in due to malformed AU componentSubType id
  • wave~: properly accepts @interp attribute
  • waveform~: changing the offset from the ruler updates the attribute
  • Windows installer: properly overwrites app
  • MAX FOR LIVE FIXED BUGS:
  • jit.fill & jit.gl.shader: fixed problems in MFL context
  • Live: fixed crash when calling callbacks when opening Max window
  • Live UI: UI no longer turns white after saving a device with jit.window
  • Live UI: fix for Live GUI issues after S/R change
  • live.grid: improved undo
  • ive.grid: fixed duplication issues
  • live.drop: fix for Live hangs when setting live.drop from scheduler
  • live.drop: fix for dropping recorded sample on Windows
  • live.drop: order parameter fix
  • live.drop: fixed undo/live.drop triggering crashes
  • live.drop: fixed crash for when a device contains two live.drop objects
  • live.meter~ / live.gain~: improved scaling visual consistency with Live
  • live.object: fix for bogus values being output when saving a device in preview mode
  • live.object: fixed unexpected error messages ("setting the Id cannot be triggered during undo or redo")
  • live.param~: value output on load
  • live.remote~: fix for controlling m4l-device-parameters
  • live.thisdevice: fires reliably when coming back from the editor
  • M4L device reandomizer: fixed crash on load
  • MFL device automation: fixed 'click' when switching M4L device on/off via automation
  • MFL LOM: calling the fire function of group tracks fires sub tracks
  • MFL LOM: fixed LOM links in docs
  • MFL audio performance: fixed issues related to multiprocessor support
  • MFL device focus: space bar will trigger transport even when object is clicked
  • MFL device saving: fixed Max crash when trying to save/cancel a patcher on win7
  • MFL Devices: CPU/Audio performance improvements with automation
  • MIDI control: works when parameter is deferred and has an update limit
  • MIDI/Key map: fixed deactivation
  • NoteEcho device: fixed crashes due to clear coll triggered from dump message
  • Parmeters: changeable when other devices are open in editor
  • Parameters: fix for M4L parameter focus issues
  • Presets: shortened preset loading time (hotswap)
  • Tab key: bpatcher no longer steals command to toggle Live arrange/Session (focus on windows)

New in Max 6.0.8 (Nov 15, 2012)

  • BUGS FIXED:
  • buffer~: 'import' message no longer crashes Max (Windows)
  • cpost: now go to Console on Mac 10.8+
  • cross-dog example: fixed connection
  • degrade~: initialization fix
  • documentation: Matrix operator tags are now rendered
  • documentation: images in body of refpages are now being rendered
  • function: miscellaneous fixes for redrawing
  • installer: misc fixes
  • jit.phys.body: fixes for spurious collision dictionary errors
  • jit.phys.body: name attribute fix
  • Jitter Gen: misc fixes and speed improvements for patcher parsing
  • Jitter OpenGL: various fixes for rendering slowdowns and crashes
  • Rewire driver: now installed on Mac

New in Max 6.0.7 (Sep 11, 2012)

  • NEW FEATURES:
  • buffer~: new 'offset' function to add a constant
  • capture: precision attribute allows you to set the floating point precision
  • coll: improved user experience for syntax errors
  • cycle~: wavetable size attribute
  • debugger: shows subpatcher when debugger steps into it
  • function: cursor attribute
  • function: line attribute
  • function: linethickness attribute
  • function: new features (curve, grid, snap2grid, copy/paste, quantization, line...)
  • ggate and gswitch: UI updates
  • installer: Mac 10.8 (Mountain Lion) OS compatibility
  • Live.menu & umenu objects's popup corners are now transparent
  • live.step: binary mousing
  • live.step: bipolar display
  • live.tab, live.text and live toggle: rounded attribute
  • mouse cursor: changes when text editing is started
  • nodes: no longer display the cursor while dragging
  • nodes: Nodes can now be rectangular
  • Parameter view: speedlim and defer now settable for enum-parameters
  • playbar: refreshrate attribute
  • polybuffer~: sends a bang when dropping file/folder in the window
  • Projects: preference for Project default locations
  • tab: fadeunselect and fadetime attributes for animation
  • text: precision attribute allows you to set the floating point precision
  • ubutton: rounded attribute
  • wave~: cubic interpolation mode
  • waveform~: linecolor attribute
  • zl.scramble: output a list of indices to the right outlet
  • VIZZIE FEATURES:
  • New modules: CROPPR and WYPR
  • Vizzie now functions as an abstraction (vz.)
  • Fully commented/hinted inlets and outlets
  • All generator modules now have data inlets to set the operating parameters
  • All modules now take ints (0/1) from a toggle to stop/start operation (the "stomp box switch")
  • All modules with presets now take a message to choose presets
  • All modules with presets now take a message to interpolate between two presets
  • Selectable VIEWR window sizes
  • GEN FEATURES:
  • Code Sidebar
  • gen~ recompiles if vs/sr changes
  • gen~: Data, Buffer, and Delay are now supported in GenExpr code
  • gen~: poke and splat support @index attributes like peek, sample etc
  • GenExpr branching: if(expr) {} else {}
  • GenExpr Break / continue statements: for(...) { break/continue; }
  • GenExpr Loops: while(cond) {}, for(i=0; i < 10; i+=1) {}
  • Improved compile error reporting
  • Jitter Gen: gate and selector operators
  • New data typing
  • New examples
  • Object argument expressions: [+ pi/2], [param foo @min 0 @max pi*2]
  • send/receive: only works within the same patch (not cross patchers or patcher to sub-patcher)
  • Subpatchers (embedded and abstractions)
  • User Functions
  • JITTER FEATURES:
  • jit.anim.path - @position, @quat and @scale attributes
  • jit.anim.path and jit.anim.drive: @eval_report attribute
  • jit.anim.path and jit.anim.drive: target objects now updated wirelessly
  • jit.gl.*: better handling of mouse picking in opengl context window and @ui_priority attribute
  • jit.gl.*: gl object matrixoutput notifications
  • jit.gl.cornerpin: @corner_color attribute
  • jit.gl.cornerpin: @drawcorners mouse mode and @mousereport attribute
  • jit.phys.6dof: spring motor feature
  • jit.phys.body: @collisions attribute to support individual body collision dictionary output
  • jit.phys.body/jit.phys.multiple: local_scaling attribute for more accurate and efficient scaling
  • jit.phys.constraint: @strength and @stretch attributes
  • jit.phys.constraint: @worldpos and @worldquat attributes
  • jit.phys.ghost: @central_exp and @central_mode attributes added to adjust central force
  • jit.phys.ghost: shape can be convexhull or concave
  • jit.phys.multiple: @constraint attribute for creating constraints between bodies
  • jit.phys.multiple: body names now created using matrix cell address
  • jit.phys.multiple: mesh matrix input for drawing multiple mesh shapes
  • jit.phys.picker and jit.gl.picker: mouse up notification
  • jit.phys.picker: @enable attribute
  • jit.phys.world: @collision_mode attribute for extended collision info
  • jit.phys.world: @raytest_mode attribute
  • jit.phys.world: collision force and normal added to collision dict
  • jit.phys.world: collisions dictionary accessible in javascript
  • jsjitter: anim.path js support
  • jsjitter: Jitter physics objects in javascript
  • jsjitter: ob3d matrixoutput notify for javascript
  • New examples
  • BUGS FIXED:
  • abstractions: properly updates when window closed then saved
  • allpass~: fix for incorrect step-response
  • attrui: drawing enhancements
  • attrui: number text reappears properly after undo
  • audio: fixed deadlock when closing a patcher with the Audio running
  • audio: fixed error when starting audio in a subpatcher
  • auto-completion: fixes for slowness
  • auto-completion: works with shortcuts
  • autocompletion: down arrow key in object box no longer duplicates box text
  • average~: no longer reports negative zero in absolute mode
  • bpatcher in Max For Live: can map through
  • bpatcher: click through on empty bpatcher works
  • bpatcher: double-clicking in explorer window no longer adds a @name argument
  • bpatcher: fixed crash entering text after bpatcher is deleted
  • bpatcher: fixed number box output issues when clicking on a toplevel UI
  • capture: no longer crashes when trying to display very long text
  • cellblock: resizing the object refreshes properly in in-line edit mode
  • change: sending set with no args no longer crashes
  • codebox: pasting into codebox works when multiple views are shown
  • coll: fixed crash when 'refer' message is sent from scheduler and main thread at the same time
  • coll: no longer crashes when receiving a nth message with wrong arguments
  • count~: attributes typed in object box are now recognized
  • cursor: positioning fixes
  • cycle~: phase no longer clipped
  • database: launch optimizations
  • DB search: improved performance on PC
  • debugger: animation improvements
  • debugger: fixes for disappearing patch cords
  • debugger: prevention for auto-debug on patcher loading
  • dict: exposed "append" method to js
  • dict: fixed 'pull_from_coll' crash
  • dict: fixed syntax parsing bug when values contain colons
  • dict: value setting improvements
  • dict.group: fix for values starting with a numeral
  • dict.iter: fixed memory leak with certain keys/values
  • dynamicdocs: fixed search broken for certain terms and queries
  • external drives: no longer prevented from being removed
  • file paths: resolved path is sent to editor
  • File search paths: Max now finds patchers when typed
  • filebrowser: fixed dragging audio files from the filebrowser
  • filtergraph~: no longer crashes when dragging a filter
  • filtergraph~: no longer hangs when receiving bad queries
  • flonum: goes slower when shift key is down (like number)
  • function: pattr connection improvements
  • Gen codebox: Edit->Copy/Paste are no longer greyed out
  • Gen dependencies: gen 'externals' are not added to the dependency list
  • Gen: copied gen patchers now have correct title bars
  • Gen: fixed issues with changing genpatcher name
  • Gen: fixed missing help descriptions
  • Gen: fixed unnecessary dirtying of some genpatchers
  • Gen: improved performance after error reporting
  • Gen: misc noise op fixes
  • Gen: MRO with gen subpatchers respects edits and compiles changes
  • gen~: buffer name parsing improvements
  • gen~: control-rate processing improvements
  • gen~: fixed compile error with abs (integer input)
  • gen~: fixes for inlet/outlet assist strings from in/out comments
  • gen~: improved interpolation
  • gen~: undo improvements in genpatcher
  • GenExpr: color coded constants
  • genpatcher: (unlocked) in title bar when unlocked
  • groove~: fixed sync issue when there are four channels
  • groove~: properly plays four channels
  • if: == correctly evaluates NaN values
  • inspector: fixes for opening the inspector in a help file after closing sidebar
  • itable: fix for Max hang when itable is in a bpatcher
  • Java: Jitter works in Windows standalone applications
  • jit.catch: frame size can be controlled with attrui
  • jit.gen: fixed crash when adding/removing patch cord to clip (Win only)
  • jit.gl @lighting_enable 0 with material uses color attribute
  • jit.gl.camera: @enable 0 does not draw when attached to node
  • jit.gl.camera: @erase @capture 1 color no longer clears rendering context for a second non-capturing camera
  • jit.gl.camera: cameras allowed to be part of anim.node hierarchy
  • jit.gl.handle: auto_handle disabled when connected to any object
  • jit.gl.handle: fix for jit.phys.world and screenraytest message crash
  • jit.gl.handle: object dragging improvements
  • jit.gl.light: improvements for adding/removing lights
  • jit.gl.light: works with jit.gl.node
  • jit.gl.lua: outlets assistance improvements
  • jit.gl.material: fix for errors when switching render contexts
  • jit.gl.material: fixed issues with switching render contexts
  • jit.gl.model: "texgroup 0" message no longer crashes
  • jit.gl.multiple: multi-texturing fixes
  • jit.gl.node: overrides child object attrs when set via max box
  • jit.gl.node: re-instantiating in non-automatic mode no longer crashes
  • jit.gl.pix: drawto now updated when typed in box
  • jit.gl.render and jit.gl.node: transform_reset now propagated to child gl objects
  • jit.gl.render: @axes 1 draws the axes
  • jit.gl.render: drawing of matrixoutput matrices applies source object's state to result
  • jit.gl.render: message "drawclients" works
  • jit.gl.sketch: fix for miscalculated screentoworld output
  • jit.gl.sketch: Fixes for error when drawing jit.gl.text2d
  • jit.gl.sketch: screentoworld output improvements
  • jit.gl.sketch: transform_reset fixes
  • jit.gl.texture: changing wrap attr properly rebuilds the texture
  • jit.gl.texture: copy works when cull_face is enabled
  • jit.gl.texture: uyvy colormode fixes
  • jit.grab: (Windows) @colormode uyvy works
  • jit.net.send: @connected updates and outputs properly
  • jit.phys.body: reset message affects dynamic and kinematic bodies
  • jit.phys.multiple: kinematic works when set via max-box
  • jit.phys.picker: fix for setting filter attribute from max box
  • jit.phys.world: @raytest mode no longer affects jit.phys.picker behavior
  • jit.phys.world: fixed crashes when changing box args
  • jit.phys.world: fixed render destination deletion crash (Win)
  • jit.phys.world: raytest messages no longer causes world update
  • jit.pwindow: @erase_color alpha now works
  • jit.pwindow: @shared 1 no longer stops texture rendering
  • jit.pwindow: fix for gl render visibility when context is implicit (Win ony)
  • jit.pwindow: pwindow as render context in bpatcher no longer stops drawing in MFL
  • jit.qt.movie: @noaccel supresses output
  • jit.window: @sync attr is recognised
  • jit.window: fixed flickering with umenu interaction
  • jit.window: deleting with scripting works as expected
  • jit.window: set visible 0 before rendering works properly
  • jitter Gen objects: now respond to reset button
  • Jitter Gen: attrui properly updates if a message has been used to set the attr
  • jitter Gen: objects now set param value to new default when param op is changed
  • Jitter Gen: setting @dirty no longer crashes
  • Jitter GL readback: fix for changing readback on windows
  • live.colors: fix for proper output
  • live.dial: Shift + arrows do fine adjustments
  • live.drop: fixed ordering issue on device load
  • live.drop: respects 'order' parameter
  • live.grid: changes via pattr update update parameter blob
  • live.grid: flexible direction height
  • live.grid: output the correct value on mouse drag out the mouseover information outlet
  • live.grid: points can be set if they are out of range
  • live.step: steps are no longer missed when quickly click-dragging
  • live.tab: fix for button mode persistence issues
  • live.thisdevice/parameters: fires / reports values after return to live after edit
  • loading: Max 4 patch loading improvements
  • magnifier: works in MFL device patcher
  • Max for Live: Fixed crash when making M4L device invisible
  • Max for Live: Live UI objects dB unit style improvements
  • Max for Live: live.* objects no longer output values triggered by keys when inactive
  • Max for Live: thispatcher 'path' message works in frozen Max device
  • message box: fix for crash when updating message box contents from scheduler with overdrive on
  • mgraphics: select_font_face no longer increases font_size
  • midiout: works after it has received a negative value
  • midi: midi ports are now available after sleep/wake
  • minimixer: fixed crash after deleting subpatcher after opening minimixer
  • multislider: fix for disappearing outline
  • multislider: properly display reverse scroll mode when the border are not visible
  • multislider: set message sets every slider (without requiring the index)
  • nodes: fixes for pattr integration
  • nodes: mouse coordinate are correct when the object isn't squared
  • nodes: setnode message properly updates the active state
  • number box (MIDI display format): correct results when values are typed in
  • panel: @ignoreclick 0 is saved in json
  • parameter: fixes for irregular output when defer + speedlim are enabled
  • parameters: values are no longer output when saving a device in preview mode
  • patch cord: fix for crash dragging starting connection on a disabled patch cord
  • patch cords: fix for color inconsistencies
  • patching: fixes for disappearing patch cords and assistance
  • pattrstorage: locked slots are stored in initial value
  • pfft~: fix for crash with bad arg values
  • playbar: posts a warning when connected to a non valid object
  • playbar: refreshes jit.qt.movie when scrubbing while the playback is off
  • playbar: works properly when changing movie with autostart attribute set to 0
  • plot~: filters are applied when data source is a buffer~ reference
  • poke~: no longer redraw buffer~ when the samples don't change
  • poly~: midinote no longer crashes with bad arguments
  • poly~/send~: changing voices in MFL no longer crashes Live with certain SR
  • polybuffer~ list is properly updated after using the replace message
  • preset write file dialog
  • project: better management of duplicates in the project folder
  • project: unfound files have the correct file class
  • ref browser: title bar matches content on Windows
  • regexp: fixed additional issues with substitution output
  • regexp: fixed crash when trying to match against an invalid regexp
  • regexp: fixed issues with substitution output
  • regexp: fixed substitute with empty string crash
  • scheduler: improved timing when using multiple schedulers and larger buffer sizes
  • scripting: fixed issue with scripting MSP objects
  • select: fixed compatibility with list
  • standalone: fixed Windows file dialog extension
  • standalones: write extracted externals into application support folder on Mac
  • teeth~: no longer crashes when turning of the audio
  • thispatcher: fix for menu disappearance on window flags nogrow on Windows
  • translation: improved layout of Japanese text on Windows
  • trunc~: calculation improvements
  • umenu: misc optimisations
  • vst~: handles fxp files
  • waveform~: redraws properly when the size is set at loadbang

New in Max 6.0.5 (May 12, 2012)

  • New Features:
  • jit.phys.multiple @mass attribute
  • projects: added file icons for stylesheet and vectorimagefile
  • project: known, but non-explicitly-supported files can now be added to projects (e.g. html)
  • triangle~: lo and hi are now attributes
  • Bugs Fixed:
  • projects: added file icons for stylesheet and vectorimagefile
  • allpass~: fixed various issues
  • audio: fix for starting audio while being notified audio is stopping
  • bitshift~: now sounds the same as Max 5
  • cycle~: fix for instantiation crash
  • dac~: fix for 'set' message
  • database: improved startup times and CPU load when database is being built
  • dialog: window no longer appears behind floating windows
  • dict.route: fix for various crashes
  • export image: no longer shows selection highlight
  • gen~: no longer loses buffer association when patcher is re-compiled.
  • gl texture: fixed planeswap on readback to matrix
  • gl.cornerpin: fixed issue with texture flipping
  • gl.handle: @auto_handle can be set in max box
  • inspector: inspecting in a max for live device doesn't switch objects properly
  • inspector: fixed crash on inspecting lots of objects
  • jit.buffer~ / jit.catch~: fixed crash if QuickTime isn't installed
  • jit.gen / jit.pix: misc math fixes
  • jit.gen/jit.pix/jit.gl.pix: fixed crash when typing an argument in box (Win only)
  • jit.gl.camera / jit.gl.node: fixed viewport and resizing texture issues
  • jit.gl.lua: fix for crash caused by error post
  • jit.gl.render: fix for "unavailable context" error
  • jit.gl.texture: subtex_matrix now works
  • jit.gl.texture: fix for Windows double-reverse planemapping
  • jit.path: fix for crash when dimension is less than 3, and the evallength message is called
  • jit.phys.*: constraint position2 attribute no longer ignored
  • jit.phys.*:constraint motor attributes typed in max box now work
  • jit.phys.body: fix for crash when reinstantiating while connected to a constraint
  • jit.phys.body: misc fixes for @forces_relative attribute
  • jit.phys.body and phys.multiple: @enable 0 typed in box now works
  • jit.phys.conetwist: misc limit attributes fixes
  • jit.phys.ghost: fix for custom filters
  • jit.phys.picker - fix for setting filter attributes
  • jit.pix: fix for input planecount < 4 causing garbled data
  • jit.window / jit.pwindow: fix for display differences with jit.gl.node
  • jweb: @autosize attribute now works
  • Max For Live: fixed paste & replace crash when audio running
  • Max For Live: When M4L editor is open, M4L devices in other tracks are editable
  • Max For Live parameters: parameters not limited to 512 (was causing non-operable UI)
  • Max for Live: deferred events being run in the scheduler thread
  • nslider: fix for mouse in poly mode
  • pattrforward: object in a subpatcher is retargeted after save
  • project: known, but non-explicitly-supported files can now be added to projects (e.g. html)
  • reference browser: re-enabled a preference for static docs (to be used if dynamic docs are slow)
  • scheduler: fixed miscellaneous crashes
  • spectroscope~: fixed crash in sonogram mode
  • tapin~/tapout~: provide more informative warning when objects are in different dsp chains
  • threadsafety: fixed issue with calling typed methods
  • uzi: outputs proper value when interrupted
  • vst~: parameters can be modulated by full name

New in Max 6.0.4 Build 52278 (Feb 16, 2012)

  • New Features:
  • attrui: tab key support
  • filterdesign: double-click to see dictionary
  • Gen: GenExpr include files
  • jit.anim.node new features:
  • new messages: concat, worldtolocal, localtoworld
  • new attribute: invtransform
  • jit.gl.cornerpin object
  • jit.phys.* new features:
  • @enable attribute
  • physics constraints now have rotate/rotatexyz attributes
  • jit.phys.world new features:
  • attributes for simulation updates
  • remove_plane attribute for 2D functionality
  • sqlite: faster database update startup
  • standalone: improved dependency inclusion for some components
  • Bugs Fixed:
  • audio: fixed start/stop UI delay glitch
  • audio: closing patcher window now fades properly (Mixer Crossfade)
  • audio: clicking then silence / crashing when changing audio settings
  • audio: fixed crash when turning mixer parallel on/off when signal vector size is smaller than 64
  • audio: hot-swap devices without needing to restart Max
  • audio: patcher muting respected when audio started
  • audio: fixed deadlock when closing a patcher with the Audio running
  • preferences: fixed crash on corrupted Windows preference files
  • cascade~: fixed zipper noise on coefficient change
  • cellblock: resizing the object refreshes properly in in-line edit mode
  • codebox: require disposes of filewatcher when closed
  • codebox: retains inlet/outlet count even with an error with GenExpr
  • cycle~: proper handling of attrs/args
  • dac~: start/startwindow in right inlet
  • dialog: text field does not have focus (Mac OS 10.6)
  • dict: automatically add missing extension for the 'import' message
  • dict.iter: fix crashes with references to dangling subdictionaries.
  • enable SSE2 instructions for windows non-audio projects
  • Encapsulating with disabled patch cord causes crash
  • File > New Text, typing, File > Save causes text to disappear
  • filtergraph~ no longer crash when receiving a message with the wrong filter index
  • filtergraph~: @edit_maxfreq @edit_minfreq swap
  • fpic: opt+drag no longer loses image
  • Gen: patcher type visual display on inlets and outlets
  • Gen: 'f' can be used in GenExpr as a variable
  • Gen: .genexpr files now associated with Max6
  • grab: Works with 'set' receives / multiple output
  • groove~: fix for output gain variations depending up transposition with resampling on
  • groove~: fix for stuttering, distortion, and other glitches with resampling on and looping a small portion of a large buffer
  • groove~: fixed crash when loop max is smaller than loop min
  • groove~: resampling aliasing on loop points
  • groove~: resampling and loopinterp should work together
  • jit.anim.drive: ui_map dictionary functionality fixes
  • jit.cellblock: .txt extension added to written files
  • jit.cellblock: misc fixes
  • jit.gen: fixed noise()
  • jit.gl.lua: .lua files: now associated with Max6
  • jit.gl.node: fixed crash when closing patch after deleting jit.gl.node
  • jit.gl.node: gl.node erase_color attribute bug fix
  • jit.gl.pix: fixed GLSL compilation errors
  • jit.gl.videoplane: fixed fullscreen crash
  • jit.phys.body: fixed @shape compound crashes when collision reporting
  • jit.phys.ghost: fixed help file crash
  • jit.qt.movie: fixed flatten + inplace crash
  • jit.qt.movie: attrui @dim updates with @adapt 1
  • jitter Gen: math binops with vec2 arguments produce valid output
  • KeyMIDI: octaves buttons works properly again
  • live.step: editlooponly respects loop start > 1
  • matrixctrl: updates when recalling a preset in Max for Live
  • minimixer: fixed sizing issues
  • nodes: mouse coordinate are correct when the object isn't squared
  • nodes: no longer produce NaN when the size of a node is set to 0.
  • nodes: setnode message properly updates the active state
  • ob3d matrixoutput 2 memory leak
  • object details panel: fixed GUI glitch
  • polybuffer~ help file: fixed crash on Windows
  • phasor~: improved @lock 1 performance
  • plot~: editing domain labels in the editor does not trigger a re-paint
  • poly~: decreased the CPU usage for non-dsp (and non-active DSP) patchers
  • polybuffer~: fixed getshortname crash
  • Projects: auto localize setting results in missing file entry
  • reference: fixed Tutorial 1 missing text
  • reference browser: removed mouseover popup in search results
  • regexp: fixed substring crash
  • saving: saving an abstraction (or poly~ patcher) as another file no longer causes other instances to reload
  • saving: fixed open rect bpatcher save issue
  • scale: fixed ref and scale vignette namespace collision
  • scale/scale~: exponent base is no longer inverted in non-classic mode
  • send~/receive~: mismatched pair no longer crashes Max when DSP is on
  • sidebar: improved reference appearance at small sizes
  • standalone: better default audio driver selection
  • standalone: fixed java dependency issues
  • standalone: fixed issues on Windows with javascript inclusion
  • table: object box attrs now work properly
  • vst~: window coordinate arguments work again with 'open' message
  • watchpoints: improved positioning when watchpoint is below patcher when patcher is floating

New in Max 6.0.1 Build 50928 (Nov 9, 2011)

  • New Features:
  • highlight patcher object box via double click on inlet/outlet
  • autocompletion now filters out redundancy
  • jit.gl.material: messages to open/close material browser window
  • pfft~: open original patch under contextual menu
  • persistence of object explorer disclosable headers
  • autocompletion dimmed text and enter/tab/space/defocus completes text
  • implement gen access to the object via help
  • new jit.gen, gen, and jit.gl.lua examples
  • jit.gl.lua vignette
  • MSP optimizations on both platforms
  • minimixer improvements
  • Gen documentation updates
  • reveal preferences toolbar item
  • Bugs Fixed:
  • keyboard shortcuts working in save as dialog
  • mxj: outletHigh fixes
  • documentation browser: now work on Windows
  • hint: documented delay time of 0
  • patch cords at edge of window cause no longer cause scroll bars
  • jit.pwindow: works as a rendering destination in MFL
  • added missing clues in Max Preferences / Patcher Window
  • setclock: fixed "mul" mode
  • bogus objects now respect Object Defaults color
  • Projects: .avi files added to 'Media' section
  • dict: 'export' message fix
  • cycle~: fixes for high frequency setting
  • jit.displays: verifies that displaymode < count before sending
  • cycle~: no longer goes from sinusoid to negative DC with ramp
  • jit.gl.slab: slab processing/parameter fixes
  • jit.gl.multiple: glparam "color" now works in all cases
  • cycle~: improvements to sound "quality" differences between Max 5 and 6
  • buffer~: 'sizeinsamps' allocates channels properly
  • vst~: audio throughput when no plug present
  • documentation browser: Forward button now works
  • vst~: output no longer limited to first two channels
  • 'Open help patcher' from reference: does not open an additional copy
  • deencapsulate: now disabled for all UI objects
  • dict.route: fixed crash for when it receives a dictionary and has no args
  • Removing objects from presentation mode: fixed crash
  • inspector in the explorer: now gets the focus
  • menubar: help menu no longer missing from custom menubar (Mac only)
  • Max For Live: fixes for Live windows graphic issues and crash
  • waveform~: Ruler BPM now updates
  • function: 'setdomain' and 'setrange' now notify attrui/getattr
  • gen~: adding a filename argument to an existing gen~ now loads the file
  • .genjit/.gendsp files: can be added to Projects
  • jit.gl.model: fixed matrixoutput
  • gen patchers: no longer accept inappropriate key commands
  • plot~: range caption clipping and positioning fixes
  • text editor: now shows correct line number for initial insertion point
  • text editing is immediately enabled after dragging an object into a patcher from the object explorer
  • circular menu pop-up: fixed positioning
  • color: improvements when using color... in the object menu for objects and patch cords
  • dropfile: can now resize when corners are very round
  • Inspector menus: regularized inspector pop-up menu locating behavior and appearance
  • clicking a separator or disabled item closes a JUCE pop-up menu
  • attrui: has an icon in object explorer
  • Gen: comparison == op improvements
  • jit.window: src/dst rect fixes
  • audio driver: NRT audio driver now works with new mixer engine
  • pattrstorage: 'setstoragestate' updates value in param mode
  • 'open original': disabled for original patcher
  • slash in path: Max 6 now opens files with a slash in the path (Mac)
  • text editor window: pasting text into jed sets dirty flag for window
  • jit.gl.render: fixed texture message error from JS
  • ob3d matrixoutput mode 2 documentation
  • Inspector menus: clicking on other windows no longer causes crash
  • oscbank~: fixed 'glitches'
  • jitter: geometry shaders now work
  • zl: fixed frozen @zlmaxsize attribute/argument priority
  • bitsafe~: works properly in Max 6
  • enable minimum IOVS of 32
  • windows support for larger patches
  • MaxAPI framework: Apple AppStore-compatible
  • nan: fixed issues with average~,atodb~,dbtoa~,sqrt~,ftom~,mtof~,saw~,tri~ and mgraphics
  • jit.window: support for modifier keys
  • jit.window: suppress ctrl+click window switching popup
  • line: fix for erratic behavior in MFL devices while in Max Editor
  • projects: eliminated file/folder deletion issue which occurred under certain circumstances when moving project files in the Finder/Explorer

New in Max 6.0.0 Build 50568 (Nov 2, 2011)

  • A New Interface:
  • Patching Changes - Patch cords are now curved by default. “Curved Patch Cords” in the Preferences window adjusts this setting; alignment guides and new Align menu options speed interface layout tasks; patching is now the default action when clicking on an inlet. Right- or control-click to access the quickref menu on an inlet.
  • The Patcher Sidebar - The Patcher Sidebar provides access to new Object Explorer, the updated Inspector, the Max window, and object reference documentation.
  • Circular menu - A new circular menu pops up to the left of an object box, providing instant access to attributes, messages, prototypes and common editing tasks.
  • Searchable auto-completion - Auto-completion works in both object and message boxes. It includes argument and attribute information, and returns results based on searching descriptions as well as names.
  • Improved Audio Engine:
  • 64-bit Audio Signals - All MSP signals are now 64-bit for increased accuracy during synthesis, filtering and large buffer access. The cycle~ object now uses 16K wavetables (instead of 512 samples) providing an increased signal-to-noise ratio. The poly~ object offers high-quality resampling filters.
  • Audio Mixer - An integrated mixer provides audio routing capabilities and support for multiple processors by maintaining each top-level patcher’s audio in a separate DSP chain. When a patch is changed, the mixer cross-fades from the old version to the new one, facilitating live patching and a more pleasant editing experience.
  • Filter design tools - The filterdesign and filterdetail objects let you design custom filters and visualize their characteristics using the new plot~ object.
  • Enhanced OpenGL Supports:
  • New Physics Engine - Built on top of the Bullet physics engine, the jit.phys.* objects enable physical world simulation.
  • Built-in Material System - The jit.gl.material object provides material support for Jitter OpenGL objects. A materials browser (available by double-clicking on a jit.gl.material object) allows you to select a material and adjust its rendering behavior.
  • Hierarchical Rendering - A node-based hierarchy provides multi-level rendering contexts and supports complex scenes by allowing for nodal manipulation (such as movement and rotation). Combined with the new implicit rendering context, complex scenes are now much easier to create.
  • Gen: Our New Code Generation Add-one:
  • Gen~ for DSP development - DSP programmers have a new set of tools for audio stream manipulation – the gen~ object. This provides a context-specific patching environment that works on single samples within a synchronous environment. These patches are compiled into executable code with improved performance over equivalent MSP patches.
  • jit.gen, jit.pix and jit.gl.pix for matrix manipulation - Where the gen~ object works with audio samples, the jit.gen, jit.pix and jit.gl.pix objects work directly on Jitter matrices. The resulting code also executes faster, and the jit.gl.pix object produces pixel shaders that run on the computer’s GPU.
  • And More:
  • Self-contained project development system - When working on large projects, managing all of the patches, externals, abstractions and media files can become difficult. The new Project File system helps to package projects while maintaining project-specific search paths, Max preferences and performance settings.
  • Complex data structures using dictionaries - Max includes a new set of objects that can send large sets of organized data (called dictionaries) to each other. The dict.* objects build, modify, and display the contents of dictionaries.
  • Visual CPU profiling of audio signals - Choose Show CPU Usage from the View menu to reveal the audio load of a patcher by coloring the most CPU-intensive objects.
  • Vector graphic drawing via object or Javascript - A new 2D vector graphics API called Mgraphics is now available both through an object (jit.mgraphics) as well as within Javascript. The jit.mgraphics provides anti-aliased, path-based drawing directly to a standard Jitter matrix. Within Javascript, you can use Mgraphics for user interface tasks and data display.
  • Multiple OpenGL Camera and Light support - The OpenGL engine has been updated to support multiple cameras and multiple light sources. The material engine further supports this by rendering all materials within a multiply-lighted context.

New in Max 5.1.9 (Aug 26, 2011)

  • jit.qt.movie: asyncread no longer ignores the @window
  • live.* restores to the default value when pressing delete key
  • table no longer crashes when instantiated with incorrect arguments
  • live.gain~ and live.slider drawing improvements when slider background color's alpha is set to 0
  • ad_coreaudio fix for problems with Digidesign driver sampling rate changes in Max
  • large messages (> 256) no longer leak memory
  • pattrstorage: pattrstorage objects inside of poly~ patchers are properly initialized (for instance, priority, autorestore, etc.). Previously, only the first instance was correctly initialized.
  • pattr: in parameter mode, single-atom int blob values are no longer automatically converted to floats.
  • jit.textfile: reports 'read ' on file read, like jit.qt.movie and others
  • jit.qt.record: timescale argument to 'write' message is no longer ignored.
  • jsjitter: fixed potential crash while calling Jitter object functions from JavaScript.
  • jit.qt.movie: @unique 1 no longer interferes with @loopnotify 1 with @loop 0 on Windows
  • mxj: fix for crash on constructor with missing class or jar
  • Mac OS 10.7 compatibility fixes
  • chucker~: rewrite in order to solve step ordering and memory issues - affects Buffershuffler Max for Live device

New in Max 5.1.8 (Apr 27, 2011)

  • trigger no longer outputs a list when there's only one numeric item
  • pattrstorage: client and storage windows show new pattr and autopattr arrivals immediately, rather than requiring the windows to be closed and reopened
  • coll: renumbering dirties the coll, so that refer clients (cellblock) can know that the contents change changed
  • message box fix for crash appending or prepending items
  • filebrowser: fix for crashes opening browser when no prefs exist.
  • pattrstorage: @changemode now reliable for integer values.
  • fixed crash when applying a prototype to an object when the inspector is viewing the object
  • pattrstorage: inspector attributes @savemode and @autorestore are disabled when pattrstorage is in parameter mode with 'Initial Enable' enabled
  • live.object: calling 'get' on a property with no value (for instance, 'get devices' called on a track with 0 devices) now returns 'propertyname <empty>', rather than simply 'propertyname'.
  • live.observer: observing a property with no value causes the symbol '<empty>' to be reported from the object's outlet, rather than an empty list.
  • fix for Max for Live multiprocessor dropouts
  • live.dial restore properly its size when the patching and presentation rect differ
  • umenu: display items longer than 255 characters
  • umenu no longer crash when receiving "delete 0" while the menu is empty
  • spigot~: fix for custom cache path
  • umenu: delete 74 doesn't attempt to remove the 74th item if it is not there
  • adsr~ clock unset fix
  • slider works properly in automatic orentation when the patching_size and presentation_size are different
  • sfplay~ displays the correct error message when trying to clear while the dsp is on
  • stutter~ dirties the buffer properly
  • preset now displays slotnames when linked to a pattrstorage
  • Hide Subwindows no longers hides an abstraction that has been modified with MRO. Prevents crashes when abstraction's parent patcher is subsequently closed.
  • pictctrl: mouse delta improvements in dial mode
  • jit.wake: fix for garbage memory when resizing
  • text no longer crashes when the patch is closed while the editor is open
  • pattrstorage: setting or removing a slotname dirties the patcher
  • live.text and live.toggle display the focus
  • live.meter~: no longer output erroneous value when controled by a float
  • live.text and live.toggle now reacts on key input
  • seq~: properly output single int/float elements (introduced in 5.1.5)
  • nodes: speed improvements when the slider is visible
  • jit.freeframe: 'FreeFramePlugins' folder in the Max search path will be found, as documented.
  • live.observer: live.observer objects in subpatches no longer break when duplicating devices.
  • live.thisdevice: new rightmost outlet reports preview state for the current context (a 1 will be sent in the Editor while a 0 is sent in Live and vice versa, as preview mode is enabled and disabled.
  • live.grid: in matrix mode, a constraint column can now be totally empty
  • stripnote properly converts float to int as the documentation says
  • pattrstorage: fix for an endless loop in @activewrite mode + parameter mode when restoring the active state
  • live.remote~: when changing targets, live.remote~ resends its last value to the new target.
  • js: post() no longer crashes on strings longer than 2k characters
  • rect~: no longer crashes when receiving bad syncrhronization values
  • Support for reading encoded (mp3/m4v/etc) and encrypted samples from Ableton's browser via live.drop.
  • jit.qt.movie: re-enabled late window binding (in case the window isn't available when requested, jit.qt.movie will try a few times until giving up.
  • jit.qt.movie: eliminated a crash when loading movies in direct-to-window mode

New in Max 5.1.7 (Dec 3, 2010)

  • vst~: fix for byte ordering issues saving and loading preset files
  • nodes: fixed memory leak with pictures
  • nodes: display properly default picture on windows
  • pattrstorage: new @fileusagemode - when 1, JSON/XML storage files will not be included in collectives and standalones. Default = 0 (include storage file)
  • table redraws after being recalled by pattrstorage
  • pattrstorage: no longer prompts for file saving when in parameter mode
  • pattrstorage: @paraminitmode is now properly/consistently visible in the inspector (Auto-Update Initial Value flag)
  • pattrstorage: updating the initial value when Initial Enable is on dirties the patcher
  • pattrstorage: implemented logic for interaction between 'native' pattrstorage attrs and additional parameter attrs, as follows: if Initial Enable is on, pattrstorage ignores @autorestore and @savemode (since the storage data is written to the patcher file). If Initial Enable is off (or if pattrstorage's Parameter Enable attribute is off), @autorestore and @savemode function as per the pattrstorage documentation. Note that you can still save JSON (or XML) files in Parameter Mode, but those files will not be loaded automatically if Initial Enable is on
  • Parameter Window: pop-up menu no longer offers 'Update Initial Value' option for attributes in read-only patchers (abstractions, bpatchers, poly~)
  • "buffer~ audio jongly.aif 0 2" creates a stereo buffer from a mono file as it used to
  • nodes includes the knobpicture automatically in a collective/standalone/device
  • snapshot~: properly updates time interval specified in ITM units when tempo changes

New in Max 5.1.6 (Nov 22, 2010)

  • pattr: fix for crash upon receipt of 'bindto' with no argument twice (caused by previous bug fix reinstating helpful error messages when binding fails)
  • parameter: resolves a condition where, under certain circumstances, moving a parameter would cause an automation event to be generated for another parameter
  • jit.qt.movie: plugged memory leak when loading movies with @window set
  • subpatchers set to open in presentation mode when parent patcher is opened now first draw in presentation mode to prevent first rendering from happening in patching mode
  • floating point byte ordering fixes for audio, network, and jitter objects
  • live.observer: empty lists are now output in the editor, as well as within Live (for instance, observing the 'devices' property of a track, when all devices are removed, an empty list is output)
  • can now apply prototype via box context menu when multiple objects of same class are selected
  • undo of applying a prototype to multiple boxes with one command now undoes the application of all boxes in one shot
  • pattrstorage: more efficient redraw handling
  • lcd refreshes properly after receiving a clear message
  • lcd: clear erases presentation and patching view properly when the size is different
  • -jit.pwindow / jit.gl.asyncread: fix for no readback with pwindow OpenGL context
  • loadbang fires again for all instances of a poly~ or pfft~ that is inside a patcher loaded by another poly~ or pfft~
  • - fix for jit.gl.render context switch crash (win only)
  • unconnected signal inputs now align signal vectors on 16 byte boundaries
  • function no longer crashes when recalling presets quickly
  • swatch: restores appearance properly when the saturation changed
  • pattrstorage: edits to storage slots made from the storagewindow are no longer ignored under certain conditions
  • live.gui objects: 'set' no longer causes output when the parameter speedlim > 0
  • pattr: renaming an object bound to a pattr will cause the binding to be dropped
  • pattrstorage: changing the varname of a client object no longer causes the clientwindow to be cleared
  • average~: rms no longer outputs NaN
  • capture~ no longer hangs Max when opening the window
  • coll no longer crashes when receiving min/max message with wrong index
  • buffer~ properly updates its window when changing the number of channels via a size message
  • text window now disappears when the text object is deleted
  • spectroscope's inspector displays the correct active colors
  • buffer~ no longer resize the buffer when using the read message with the filename as argument (introduced in 5.1.5)
  • multislider now has a setlist message to set all slider values at once without causing the output
  • file browser: clippings in sub-folders of the clippings folder are now properly listed as clippings
  • file browser: now has a 'movie files' search by default.
  • file browser: now has a 'clippings' search by default.
  • tri~ no longer crashes when synched with a click~
  • jit.gl.text2d: fix for matrix render when no text message has been sent
  • function no longer crashes nor displays weirdnesses when the domain/range is very small
  • function: next message no longer repeats the last segment indefinitely
  • colorpicker outputs correct green value
  • nodes object addition
  • jit.peek~: fix for freezes when changing matrix_name
  • jit.poke~: fix for freezes when changing matrix_name
  • spectroscope~: background color is now properly displayed before turning on the DSP
  • regexp: dumpout now works properly
  • mxj: sendMessageToBound() returns the correct success state
  • live.* objects output their values when re-enabling a device if the value changed
  • jit.qt.movie: disposing a movie cleans up the edit state (used for undo when using edit operations such as 'trim'), preventing a crash under certain circumstances
  • patcherargs now reports the invalid use of commas and semi-colons as arguments
  • poly~ no longer spawns too many inlets after patchername attr is changed when contained patcher has no in~ objects
  • seq writes the extension properly when missing
  • seq: write fufu.txt exports as text, write yoyo.mid export as Midi
  • jit.buffer: fixes for generating vizualization for small buffers
  • jit.matrix: fix for matrix probe
  • live.path: after setting the path to 'no path' with 'path' (no args), 'getpath' returns 'path' instead of the previously set path

New in Max 5.1.5 (Aug 27, 2010)

  • jit.matrix: fix for read message problem with absolute path
  • combine: fix for crashes caused when the number of items in a list to a given inlet overflowed the number of inlets
  • vst~: fixed crashes when hosting NI's Kontakt plug-in.
  • fixed the suspend object
  • (windows) ctrl + '.' no longer stops scheduler when max is in the background
  • vectral~: fix for premature cutouts on Intel processors
  • live.step: down message works as expected when display_seq is set to All
  • double clicking on a bogus poly~ no longer causes crashes
  • levelmeter~ displays the marker color properly
  • levelmeter~'s shadow respects needle transparency
  • textbutton no longer crashes when text is empty
  • nslider stores empty state in pattr (polyphonic mode)
  • live.guilib: objects' default values with non standard ranges are properly initialized when initial_enable is not set
  • fix for jitter crash with Spanish language chosen for Regional setting on Windows
  • pattrstorage: scroll positions retained when rebuilding client and storage windows.
  • pattrstorage: setting 'active' state no longer causes a complete client/storage window redraw
  • sfplay~ can now open audio files with long names
  • buffer~ updates number of channels on import
  • live.gain~ colors can be customized
  • patch cords are deselected when switching to presentation mode thus preventing accidental cord deletion or floating diamonds
  • file browser: fixed 'reveal in finder' function for items displayed in a folder listing.
  • Toolbar buttons change state immediately after clicking now
  • bpatcher: de-encapsulating a subpatcher in an MRO'd view of a bpatcher works.
  • pattr: error message on @bindto failure restored
  • vst~: fixed operation of the default plug-in.
  • vst~: editor window for the default plug-in now displays correct gain values.
  • vst~: the generic interface (for plug-ins with no ui) now updates the value column when the parameters are changed.
  • file browser: file information in the preview area is now accurate when browsing nested sub-folders.
  • buffer~: read message with only 2 arguments imports the number of channels specified in the sound file header
  • js: Eliminated a source of GC-related memory leakage when querying Patcher object properties.
  • jsliveapi: eliminated random crashing in GC code
  • poly~ no longer crashes when the patchername message has a bad argument
  • cellblock: A -1/-1 entry eliminates the visible cell selection.
  • "; max showclue" displays the clue window in runtime and standalones (for objects which have annotation attributes set)
  • jit.openexr includes Cg frameworks automatically when making a standalone
  • jit.gl.text2d: fix for memory leak
  • pattr: eliminated potential memory corruption when bound objects are re-instantiated
  • fixed saving from a subpatcher in an abstraction that was edited by issuing the MRO command on a new view of a bpatcher
  • closing top-level-patcher when an abstraction is open, MRO'd and dirty now gives the user a choice of what to do (save, discard, cancel)
  • svg files are properly included in a collective
  • jit.gl.text2d: more memory leak fixes
  • fix for possible crash showing clue window on startup
  • fix for warning message called on invalid object messages when jitter objects are instantiated but jitter is not authorized
  • fix for crashes when loading jit.vcr or jit.gl.asyncread when jitter is not authorized
  • loadbang in patcher containing poly~ no longer fires inappropriately first time the poly~ reloads its patcher
  • disabling the debugger now restores original overdrive setting automatically
  • jit.conway:fix for divide by zero crashes with birthmark enabled
  • watchpoints and breakpoints are disabled for a device open in the MFL editor to avoid crashes
  • when Debug is enabled and an MFL device is open in the editor the debugger will now ignore any breakpoints or watchpoints that are hit from the scheduler thread
  • DSP Status patcher is now automatically included in a standalone application
  • window getsize -> thispatcher now works before subpatcher or abstraction window is opened for a first time
  • preset can now store large multisliders
  • large multislider no longer crashes when recalled by a preset object through send/receive
  • jit.vcr: fix for crash when Jitter is not authorized
  • fixed crash when a jgraphics context is deleted before all pushed jgraphics state objects have been restored
  • jweb: better clipping behavior, particularly within bpatchers
  • removed some Rewire errors
  • text: fix for the 'editwith' message following the opening of a file using the dialog to open the file.
  • jweb: eliminate potential crashes on OSX when closing patcher window
  • pattr: eliminate crash when receiving 'bindto' with no argument
  • windows: no longer drops sysex messages when too many are received too quickly
  • cellblock: Fix calculations for horizontal scrolling boundries.
  • parameters: new attribute to toggle deferral of automation and remote control output to the GUI thread; off by default, this attribute can be used to reduce the frequency of value changes resulting from automation and significantly reduce processor load. In combination with the new parameter_speedlim attribute, device developers now have fairly comprehensive control over the automation of their parameters.
  • fix for CoreAudio support for Tascam US-1641
  • filtergraph~ now has a hfgcolor attribute to set the highlight foreground color
  • cellblock: Improve vertical and horizontal cell visibility calculations.
  • cellblock: Implement new 'automouse' attribute and message to disable mouse-drag scrolling.
  • live.observer: the typed-in property argument was getting lost under certain circumstances.
  • file browser: hyperlinks for opening the help patcher or ref page appear properly in the file preview for objects.
  • file browser: double-clicking an object's name in file browser will open that object's help patcher.
  • jit.gl.texture/slab: fix for errors when recreating contexts with floating point textures that are read back to jit.matrix
  • jit.gl.texture/slab: fix for memory leak when reading back to jit.matrix
  • jit.gl.texture/slab: fix for floating point resolution issues
  • jit.gl.texture/slab: uninitialized memory fix (occasionally led to mysterious non-reproducible problems)

New in Max 5.1.4 (Apr 30, 2010)

  • lcd now longer hangs Max when the titlepict message doesn't have correct arguments.
  • jit.gl.texture: fix for broken @thru 0 argument.
  • rand~: no longer produces noises when the frequency is too close to zero.
  • ad_rewire: fixed crash when using ReWire as an ITM clocksource when ReWire is not the selected audio driver.
  • file browser: now provides tooltips when hovering over a cell whose text doesn't fit in the view.
  • auto-completion: fixed incorrect completion for object names containing unicode characters.
  • nslider: changes to the fgcolor attribute now set the color of the clefs and notehead in addition to the staves and note stem.
  • Patch cord connection editing is improved.
  • Export image as well as jgraphics_image_surface_writepng now include dpi information in png metadata.
  • Preset properly outputs the preset number out the second outlet in response to a int message (as in Max 4.x).
  • jit.gl.sketch fix for crashes with glutess functions under windows.
  • live.gui objects no longer break when their @varname is set twice to the same name.
  • live.remote~ now accepts integer values as well.
  • cellblock: Fix to non-grid display drawing.
  • cellblock: add row height dim-specific message to help file.
  • cellblock: fixes to inline editing when connected to a jit_matrix.
  • cellblock: support for scroll wheel changes.
  • jit.gl.multiple: automatic dim handling and wrapping with new dimparam attribute.
  • jit.scanwrap: fix for ndim wrapping in mode 3.
  • live.meter~ can now be controlled by float/list.
  • linklist: fix for list corruption when calling the 'reverse' method.
  • jit.op/expr: fix for processing large 1d matrices (>10000) on multi-processor machines.
  • cellblock: fix to tab key support.
  • cellblock: fixes to select message crashes.
  • jit.matrix: added fillplane message to fill a single plane with a value.
  • jit.dx.grab: sets alpha channel to 255.
  • Improved redrawing of live.meter~/live.gain~.
  • cellblock: fixes to key movement on single-col cellblock.
  • cellblock: fixes to key movement in inline edit mode.
  • live.drop now outputs file type.
  • umenu: changes to @showdotfiles, @types, @depth properly repopulate the menu (if autopopulate is enabled and a valid file path is set as the prefix), and send a 'populate [count]' message out of the umenu object's right outlet.
  • pattrstorage: fixed a bug introduced in 5.1.3 where pattrstorage with the default @savemode requests file-saving too aggressively (for instance, when closing a patcher in which nothing has been changed wrt pattrstorage state).
  • pictctrl: improved mouse dragging in dial mode.
  • cellblock: addition of old cell definition conversion code.
  • cellblock: proper transparency handling of selected cell.
  • live.remote~ no longer crashes outside of a device.
  • cellblock: fixes to crashes during wide column scrolling.
  • two in~ objects with the same index number in a resampled poly~ now works for each in~ instance.
  • function: no longer hangs Max when a clear message is received.
  • Improved stockhausen-studie-II example.
  • Alpha background color of live.step no longer affects the overall transparency.
  • Line outputs a bang at the end of the ramp even if the grain size is bigger than the segment.
  • Waveform can now inverse zoom orientation.
  • multislider: fix for crashes when dragging in the interface while the size of the multislider is changing in another thread.
  • Objects such as "metro 4n" no longer output excessive bangs when in a max device that becomes enabled after being disabled while set is playing.
  • loadbang now works when creating a poly~ object where the poly~ subpatcher contains another poly~ or pfft~.
  • Windows open dialog now defaults to something that makes more sense then "All Files".
  • sustain: now has a repeatmode attribute and a flush message.
  • Editing and saving a device after modifying the buffer~ duration now applies the new duration correctly (when only one instance of the device is open in Live).
  • If user cancels a "Save As" operation on a max device and then closes the editor, abandoning edits, and then opens device in editor again, previously abandoned edits now remain abandoned.
  • loadbanging a replace message to a bpatcher now works correctly.
  • cellblock: fixed sync click output to properly display current scroll view.
  • Function no longer leaks memory when receiving getsustain or getfix message.
  • jit.matrix fix for double registration of named matrices not being freed on patcher close, or object reinstantiation.
  • jit.matrix: fix for crashes when renaming jit.matrix objects which have more than one reference.
  • Fixed crash when deleting an object in the editor while a metro or similar object is sending output to said object.
  • Retyping an object box now preserves the background color.
  • umenu: when using autopopulate with a file type filter, umenu longer adds non-matching files/folders.
  • change: deals properly with big integers.
  • table:redraws its window after receiving a refer message.
  • textbutton properly uses borderoncolor when clicked (in button mode).
  • live.guilib objects now have an outputvalue message.
  • Fixes for absolute path filenames in jit.matrix, jit.fprint, jit.qt.broadcast, and jit.textfile.
  • live.step no longer crashes in direction mode 2 with a small loop.
  • (i)table no longer produces an error when receiving a write message without argument (windows only).
  • cellblock: Properly deals with output for select and inline editing options.
  • menubar: now reports windows menu item chosen.
  • cellblock: fixed cell and dimension definition corruption when reading old patch settings.
  • fpic now has an alpha attribute to set the transparency.
  • fpic properly restores xoffset and yoffset attributes when autofit is set.
  • jit.gl.multiple: fix for crash when instantiated in js, java, or C without a render destination name argument.
  • umenu: changes to the umenu contents (append, delete, insert, etc.) now properly update the 'items' attribute. When there are no items in the menu, the value of @items is the symbol ''.
  • Paste and duplicate of a large number of objects while the inspector is open is no longer slow.
  • MSP on windows no longer changes rounding mode from the default.
  • standalone: new option to include the C74:/extensions folder in the application bundle when building an application.
  • Loading speed for patchers containing large numbers of parameter-aware objects improved.
  • Improved drawing refresh rate when using hundreds of bpatcher instances in a patcher.
  • UI objects that use JBOX_NODRAWBOX should now use less CPU time when redrawing.
  • Blue focus rect now shows up when editing an existing object box, message box, or comment.
  • live.meter~ colors can be customized.
  • pattr: frozen @bindto attributes are now restored at patcher load.
  • pattrstorage: @outputmode 1 doesn't trigger output during object initialization.
  • loadbang -> window size -> thispatcher no longer causes window recreation on mac.

New in Max 5.0.8 Build 40018 (Sep 16, 2009)

  • extensions that are the same file type as the default type (such as .maxhelp) can be chosen via a pop-up menu
  • inlet and outlet objects no longer cause crashes upon viewing assistance if the "comment" attribute contains more than 512 characters
  • zl: fix for list truncation when the list begins with a symbol and the list is the same size as the maximum limit for list length.
  • filebrowser: the preview pane now correctly displays the full path of all files when there are multiples of the same file in the searchpath.
  • filebrowser: the reveal-in-finder button no correctly locates all files when there are multiples of the same file in the searchpath.
  • round: fix for bug when receiving list input where round would modify its input directly in memory before outputting the new values.
  • improved updating when monitors are added or deleted
  • annotation attributes are disabled for objects that ignore clicks
  • pattrstorage: fixed memory access bug during 'renumber' and 'remove'
  • bpatchers as well as objects in bpatchers now support annotations
  • DLS Synth: now compatible with Snow Leopard
  • filewatcher: fixed crashes on the Mac caused by dramatic changes to the searchpath while Max is running.
  • +=~: now has a second inlet to be reset in a sample accurate way
  • bucket: freeze/thaw works properly when the include argument is set
  • option-titlebar click menu on abstraction disabled for runtime builds
  • dirty subpatchers inside an abstraction that has been edited via Modify Read Only can now be closed without prompting for save
  • jit.cellblock no longer crash when displaying big symbols
  • multislider: fixed display of vertical sliders in signed mode where the display of zero values appeared to look like non-zero values.
  • matrixctrl: clickvalue attribute is displayed in italic, you can freeze it to restore its value
  • spectroscope~: when in spectrogram mode, the frequency and amplitude of the current mouse position is sent out via an outlet.
  • detonate: fix for incorrect note durations of imported midi files.
  • colorpicker has a compatibility attribute to deal with RGB or RGBA values
  • zmap accepts lists now
  • scale accpets lists now
  • umenu has now an insert message
  • filebrowser: fix for crash when attempting to update a previously saved search (problem introduced in Max 5.0.7).
  • count~: now supports an optional signal input to turn counting on and off with sample accuracy.
  • tab: now responds to object-defaults
  • textbutton: now responds to object-defaults
  • meter~: now responds to object-defaults
  • scope~: now responds to object-defaults
  • jit.qball supports list of more than 256 items
  • spectrogram~: now responds to object-defaults.
  • waveform~: now responds to object-defaults
  • zplane~: responds to object-defaults
  • new improved tab display in the Object Defaults window
  • table: no longer loose its name when reading a preset from disk
  • vst~: fixed errors when trying to read a vst preset file specified with a complete path.
  • api: calls to saveasdialog_extended() with 0 types no longer crashes
  • drawing of the patcher grid is now more accurate when zooming the patch
  • matrixctrl with 1 row and 1 column now initializes properly
  • number and flonum now output value and end edit if window is deactivated before entering typed entry
  • vst~: fixed intermittent problems with dropped midi events, such as noteoff messages, particularly when under heavy cpu load.
  • added exportimage message to max with syntax ";max exportimage patchername [pathname] [dpi] [x y width height]" where params in brackets are optional, patchername is a name previously used for the openfile message to max to open a patcherr, dpi is the resolution of the resulting image, and x,y,width,height specify the portion of the patcher to export.
  • function now has zoom_x and zoom_y attributes
  • itable now has a legend attribute
  • editing a patcher owned by a poly~ via MRO now triggers an audio recompile
  • ubutton: color attributes work with the object-defaults system
  • radiogroup: color attributes work with the object-defaults system
  • nslider: color attributes work with the object-defaults system
  • multislider: color attributes work with the object-defaults system
  • kslider: color attributes work with the object-defaults system
  • led: color attributes work with the object-defaults system
  • jit.fpsgui: color attributes work with the object-defaults system
  • function: color attributes work with the object-defaults system
  • incdec: colors definable as attributes, works with object-defaults.
  • waveform~: can now select the all buffer with the mouse
  • filebrowser: the clue window now shows the item name and its location for the item over which the mouse is hovering.
  • waveform~: undo message causes changed values to be sent from the object's outlets as in Max 4.
  • coll: can now read text files that have been assigned a filetype
  • function: fixed obscure crashes in extreme situations
  • file extensions are now forced on the Mac in save as dialogs
  • pattrstorage: changing the boxname updates the name attribute of the pattrstorage/window titles
  • pattrstorage: changing the name updates the title bars of the client and storage windows
  • fixed problem where memory was not being freed when clearing the max window
  • lookup~: fixed crash when a buffer~ becomes multi-channel
  • fpic and comment are copied in a standalone to show default about box
  • rslider can be duplicated properly with a range of 1 in floating point mode
  • makenote has a new repeatmode attribute to deal with note repetition
  • swatch restores the colors with the correct saturation
  • textbutton: draws correct state after being clicked when connected to opendialog
  • poly~ accepts @target as typed attribute of the box
  • funnel is no longer confused by offset changes
  • jit.freeframe: fix for endian issues on Intel Mac
  • groove~ respects jumping at a position after changing the loop point (as in Max 4.x)
  • regexp: fix for @tosymbol output -- it was not always a symbol
  • rslider: command key move the range selection
  • rslider: option key + vertical drag increase/decrease the selection
  • colorpicker: now sends notifications when a color is chosen (in addition to sending values via the outlet), allowing the object to be used as an embedded object inside of other externals.
  • The "Show Horizontal Scrollbar" and "Show Vertical Scrollbar" settings in the patcher inspector now work
  • fix for vst~ causing excessing cpu usage in syslogd
  • tosymbol no longer crash when attemping to create too large symbols
  • dialog now sends a bang to the right outlet when user cancels
  • zl: fixed possible memory corruption using messages of more than 256 items
  • mtr: fixed duration output of next message with stored lists
  • pfft~: fixed crash starting audio when the subpatcher has no MSP objects in it
  • fix for case where object box in subpatcher could have its text highlighted for editing after locking, closing, and opening said subpatcher
  • umenu: trucated text indicated with an ellipsis is now sized to fit within the viewable area of the umenu.
  • umenu: new truncate attribute determines whether text is truncated at the right side or in the middle
  • object palette now won't show during double click if one or more of the clicks is on a patch cord
  • coll: fix for possible crash opening colls containing large lists
  • pfft~: new 'clear' message zeros internal buffers.
  • text entered in entry dialog now accepted when edit button is pressed while editing text
  • detonate: graphic editing in max 5 is now supported
  • gate~: signal input select the right most outlet if it is greater than the number of outlet
  • fix for crash dragging in matrixctrl
  • gain~ outputs its value when a bang message is received
  • matrixctrl is more cooperative with mouse clicks

New in Max 5.0.7 (Apr 15, 2009)

  • Textbutton: blinktime attribute allows you to change the blinking time in button mode.
  • Improved max application performance during and shortly after launching the application, and reduced the time required to start Max.
  • jit.qt.movie: fix for off-by-one error when getting and setting looppoints.
  • Anything based on linklist_sort() is much faster for lists with lots of elements.
  • Windows: adding a folder with lots (i.e. 1000) of files to the search path is much faster.
  • Filebrowser: information about internal objects and patchers saved in ref pages now properly displays in the file browser preview pane.
  • Strippath:fix for stripping folder names with trailing path separator characters.
  • vst~:compatibility with latest waveshell: new subname message, new printids message, new ability to specify a subname as a second argument to the plug message.
  • Fixed crash loading patcher file that has a UI object name as the text of a newobj.
  • Fixed "Align Connections" problem where objects keep moving to the right when multiple connections exist between the same two selected objects.
  • Pattrstorage: fix for exp/pow interpolation mode.
  • Pattrstorage: unnamed slots output '' in response to the 'getslotname' message, as documented.
  • Meter~: display will now go to zero when disconnected from audio input.
  • Rewire~: no longer crashes when receiving a midi message while another ReWire mixer application was initially running.
  • Pipe: fixed clock message.
  • Delay~: maxsize now works even when the object does not have arguments.
  • Thispatcher: script new to thispatcher when creating a hidden object can now set the scripting name properly.
  • Key / keyup: control keys now report appropriate ascii values out first outlet.
  • Key / keyup on windows: fourth outlet is now consistent with mac: a-z keys are reported with lowercase ascii values.
  • Makenote: unpacked list of four ints now sets channel number properly.
  • Omx objects now work at any signal vector size between 1 and 2048.
  • Lcd: sprite content now included in PNG files created with writepict message.
  • Fix for drawpict message to lcd not drawing in some situations.
  • Fixed crash dragging a patcher from the filebrowser over a bpatcher object in a locked patcher.
  • Fixes for udp.send limitations and udp.send/recv crashes.
  • Poke~: no longer offset when the channel is improperly set.
  • New objects now trigger dsp chain rebuild after doing something bad with poly~ (setting its patcher name to something that is not a patcher).
  • Creating new msp objects now reliably restarts audio.
  • Cellbock: Updated to provide a new 'refresh message' (to avoid the repeated use of the 'refer' message), and to allow a '0' refresh interval for matrix and coll references.
  • jit.expr: fix for non symbol expressions-e.g. float or integer only.
  • mxj list.Mth: now instantiates properly.

New in Max 5.0.6 (Feb 25, 2009)

  • fixed excessive memory allocation when zooming in very far
  • filebrowser: new 'description' column displays description metadata about objects in the search path.
  • filebrowser: fixed bug where files that have been deleted from the searchpath still show in the filebrowser.
  • pattrhub: fixed parent resolution bug introduced in 5.0.5
  • delay~: fixed problem with setting delay time in samples -- accuracy was messed up and value was corrupted by sample rate changes
  • sysexout doesn't appear in the autocompletion anymore, because it doesn't exist.
  • curve~ now restarts properly after a stop message
  • displaying contextual menu on a bogus poly~ doesn't crash anymore.
  • dial: minimum number of steps set to 2
  • out~: fixed crash when loading patcher into a poly~ without outlets
  • poly~: fixed error messages when loading a patcher containing omx.4band~ or tapin~ / tapout~ via the patchername attribute
  • groove~ doesn't crash when double clicking on the object when it's not attached to a valid buffer~
  • delay~: delay time conversion via ITM or initial argument uses rounding rather than truncation
  • fix for crash with the combination of quickref menu, jit.gl.*, and frozen attributes
  • args attribute now visible (only takes effect with each patcher load). made parallel message an attribute. removed redundancies of messages and attributes for steal, voices, and vs.
  • fix for stack overflows with large chains of message boxes
  • seq: hook message accepts floats again
  • sfrecord~ can use 2 symbols as arguments as documented
  • fseventwatcher: fix for some reported crashes
  • poly~: improved safeties and error message for nested, parallel enabled poly~ objects
  • buffer~: writewave automatically select the sound file type
  • fix for wclose message with no open views
  • fix for crash in certain vst plugs (when vst_refresh is on call stack from non-main thread)
  • textbutton now has an active attribute
  • zigzag~ no longer crashes when receiving bad looppoints
  • signal probe: fixed crashes
  • mxj: isPatcher() is now compatible with Max 5
  • umenu: prev and next message a la tab object
  • timepoint: changing time to < current time no longer makes timepoint fire immediately
  • translate: input to notevalues output is rounded to the nearest int when calculating the ticks, eliminates errors when converting ms to notevalues
  • augraph: audio is now stopped before loading a sound bank to avoid crashes
  • minmax~ works properly with vector size of 1 sample
  • line: removed useless dump outlet
  • multiple instances of different standalone applications can now be launched
  • sleep interval no longer shown in preferences window (or saved), since it didn't do anything
  • preferences window label for Refresh Interval (ms) changed to Refresh Rate (Hz) to match documentation (and what it actually does)
  • json parser now understands json character escapes of form uxxxx (where x is one hex digit) and this can be a convenient way of inserting a special character into a patcher
  • vst~: reports changes in host edit window (for plug-ins without editors) out fourth outlet
  • lookup~: fixed for negative input values
  • lookup~: fixed for negative input values
  • Windows max now supports network paths such as \sharenamefolderfoo.txt
  • Windows: runtime and standalones now work when launched from a network share
  • improved speed of saving patchers that have a lot of subpatchers
  • cascade~ doesn't go crazy when it does not receive signal
  • Open Recent item moves to the top of the menu after it is chosen
  • svf~ is now denormal proof
  • filebrowser: fix for silent audio playback in the preview pane
  • fix for crash that could happen after encapsulating a buffer~ object
  • coll: when embedding data in a patcher, data is now saved in a modern, easy-to-edit format that preserves backslashed semicolons, dollar-args, etc.
  • coll: #N is no longer converted to $N when opening an editing window
  • coll: #N rather than $N arguments are now replaced in a subpatcher, which is more consistent with other uses of #N
  • function outputs up to 128 pairs for line~
  • fixed crashes happening due to assertions being enabled in release version
  • tab output integers when the tab elements are integers
  • mxj: embedMessage() can now store up to 4094 Atoms
  • creating a message box from the quickref menu for messages with more than one argument adds $1 $2 etc. to the message box
  • improved accuracy of quantized timing with external clocksources
  • ad_coreaudio: when switching input devices, the device is properly updated with the io vector size.
  • rslider works smoothly with range of 1 in floating point mode
  • fix for some memory leaks that could happen when patching
  • fix for crashes after removing objects from presentation view via the inspector when the patcher is in presentation mode
  • MaxAPI.framework: updated to expose header files more recently added to the Max 5 SDK
  • dragging a patch cord segment that is over another object no longer jumps segment position at times
  • patch cord align no longer hangs if source object is on top of destination object
  • if patcher is too complex for automatic patch cord align will now give up and do a simple align instead of trying too hard to find a good path
  • closing extra views of a subpatcher now really frees those views instead of just hiding them
  • file browser: fixed crash dragging a file whose kind is shown as a "file" onto any box in a patcher
  • fixed hang when using signal probe and creating a new patch cord
  • when time value is changed from bbu to non-bbu (raw ticks), it is now unaffected by time signature recalculations when seeking -- this fixes bug where changing a time point from a bbu value to a ticks value retained the old bbu value after a change to the transport time
  • timepoints and other permanent events do not fire after transport has been turned off
  • zl displays an error when the arguments are incorrect
  • combine now accepts also lists as input
  • fix for msp object scheduler corruption problems with overdrive off
  • (windows only) fix for substantial memory leak when painting text based objects with native text rendering on
  • metro: autostarttime is now automatically set to transport via @transport attribute
  • metro: fixed crashes when using autostarttime together with transport attribute
  • fix for crash after bad attempt at scripting connections
  • fix for crash after deleting inlet or outlet objects in an abstraction in response to loadbang
  • spectroscope~: orientation attribute displayed properly in the inspector
  • function works properly with any box size
  • filebrowser: a drag into a patcher, when initiated from a folder listing and the folder is in the search path, passes just the name of the file rather than the complete path.
  • new message to max: 'db.dump' will dump the contents of Max's database to JSON files for debugging or examination.
  • jit.plot: byte order fix for little endian machines
  • number~ now has a second background color to change pict background
  • fix for crash when using poly~ with patchers that don't contain the same number of inlets as one another
  • (windows) font names such as "Arial Italic Bold" now work on windows (as such font names often come from mac)
  • jit.gl.text2d:fix for crashes when resizing font cache
  • jit.spill:support for listlength up to 16384
  • meter~: improved responsiveness
  • sprintf can display % by using the standard %% syntax
  • file browser: metadata for an item in the file browser may be edited.
  • suckah: added @boundmode, constrains output to coordinates within the object box's rect.
  • new message to max: sortpatcherdictonsave - sending this message to max with an argument of 1 will tell max to sort the patcher dictionary before saving.
  • waveform~: cropping is more precise
  • jit.expr: fixed crashes with malformed expressions
  • tri~: fixed crash when modulating high frequencies
  • choosing the Preferences item on the Mac no longer crashes if menus defined by the menubar object are in use
  • the ESC key will now move the focus from the currently focused object in a locked patcher to the patcher -- useful, for example, so key objects can then report numbers typed
  • thispatcher now supports select message which will cause patcher to grab keyboard focus away from another object (i.e. number) if said patcher is active
  • dial: outline color can have its own alpha
  • Added "Route Patch Cords" command (which does automated routing) and changed "Align" on patch cords to make simple segmented cords.
  • fixed issues with ReWire sync and events triggering at time 0
  • fixed problem where seeking while using the translate object would cause negative bbu to ticks conversion output
  • fix for inconsistent outermost patcherargs triggering before innermost in a patcher hierarchy
  • jit.qt.movie: Fix for @loop 3 audio playback bug
  • vexpr now accepts list of up to 4096 items
  • pattrstorage: eliminated application hang when opening windows when there are many client objects
  • mxj: MaxSystem.isRuntime() reports if the class runs inside the MaxMSP Runtime
  • signal probe now works when line is over part of a box
  • makenote now accepts a third argument to specify the channel
  • round~: nearest is now an attribute
  • round now has a nearest attribute and can also round to any step
  • fixed problem where opening a patch via the finder didn't turn audio on for the opened patch
  • filebrowser: the filebrowser and autocompletion now list the % and %~ objects.
  • fixed enablement of "color..." menu item on box context popup menu
  • mxj: fixed crashed with newDefault()
  • instantiating a juibogus doesn't crash anymore
  • text editors (i.e. text editors, textedit object, etc) now convert carriage return to line feed so line endings are always consistent in order to avoid problems with text object
  • waveform~: multichannel portion of the helppatcher now links the control modes of the waveform~ objects.
  • textedit: improved text positioning
  • Opening a help file a second time will bring previously opened instance to the front.
  • dropping files on the max window takes an appropriate action (opens patchers, installs externals, etc)
  • umenu accepts floats (and automatically converts them to ints)
  • (windows) date object now reports local time instead of gmc time
  • buffer~:fix for import message with 24bit AIFF and WAVE files
  • patcherargs: args passed to poly~ are now available to its patcher using patcherargs.
  • javascript "visible" property of wind object property of patcher object is now settable as well as gettable allowing a patcher window to be hidden / shown without destroying patcher (which wclose method of patcher would do)
  • waveform~: line followed by a negative number hides the vertical line
  • maxversion() max API function now properly sets bit 0x4000 when inside a standalone
  • dial: improved vertical dragging with small ranges (integer mode)
  • improved debug window resizing
  • pictslider: notify pattr on mousedown
  • cellblock: Fix restoration of column widths on patcher open.
  • slider and dial can have a minimum range of 1. in floating mode
  • select message to textedit, number, etc, now works in runtime and standalones
  • kslider: fixed velocity output when dragging across keyboard in monophonic mode
  • pattrstorage: 'insert' and 'remove' no longer result in missing entries in the storagewindow
  • windows: save / don't save / cancel dialog can now be navigated via keyboard
  • pictslider: fixed "jump to position" mouse tracking
  • fixed issues with timepoint firing and time signature changes
  • items dropped into a patcher (i.e. from File Browser or from inspector) while the patcher is scrolled now are created in the correct place
  • zl: plugged memory leak in zl filter mode
  • front -> thispatcher on a notitle window that has its y position at 0 no longers moves the window down 20 pixels or so
  • Windows: key shortcuts now work when created via menubar (i.e. ctrl+G in menubar.maxhelp)
  • onepole~ now accepts integer cutoff frequency as argument
  • zl: mode stream unrolls lists
  • seconds are a valid unit for translate object conversion purposes only
  • cellblock: initialization routine changed to improve stability of row adds and deletes.
  • colons are now stripped from scripting names, as this character is reserved and cannot be used.
  • vst~: subfolders of the vst plug-ins folder are no longer automatically added to Max's database when the folder is automatically added to the searchpath.
  • fix for jit.gl.text2d memory leak
  • fix for jit.gl.text3d memory leak
  • fixed problem where Tahoma could not be selected using the Mac Font Panel
  • fixed a Font Panel problem that would lead to the text color of a selected object being set to a random color
  • windows: keyboard accelerators now work when windows without menus are topmost (such as the clue window or a jit.window window)
  • windows: fix for jit.openexr (and possibly others) when building a standalone -- now maxcrt_p.dll is copied to the standalone's application folder automatically
  • eliminated 128 x 128 minimum window size on Mac when resizing a window by hand
  • udpsend: fixed memory leak when changing the host or port
  • fix for crash when right clicking on a poly~ object who's patcher wasn't found
  • movie: fixed behavior of time message with no arguments
  • mxj net.*: fixed crash when changing the host or port ceaselessly
  • jit.buffer~:fix for crashes when visualizing soundfiles
  • mxj buf.Op: normalize doesn't invert the phase anymore
  • radiogroup: doesn't produce harmless warning when saving a preset
  • poly~: fix for parallel attribute argument not taking effect
  • fpic: now includes its image file in a collective automatically
  • hint: fixed positioning on second monitors

New in Max 5.0.5 (Oct 2, 2008)

  • seq~: can add a simple symbol (aka "add 1 0.74 honk")
  • dial now has a floatoutput attribute like slider
  • dial better mouse interaction with small ranges
  • jit.fprint: read no longer produces a -1 error for every read attempt.
  • dial now has a setminmax message like slider and multislider
  • metro: fixed quantization when starting
  • fix for crash when # args are used in certain attribute values (as exposed by examples/max-tricks/send-receive-tricks/send-receive-hoard-#0.maxpat)
  • paste picture works on windows again
  • importing patcher with embedded bpatcher that contains a non-embedded bpatcher no longer crashes
  • textedit: new attribute, bangmode, controls whether bang updates value while user is typing, defaults to max 4 behavior
  • textedit: enter message to textedit no longer documented
  • fromsymbol: 'separator' method to mirror the 'separator' in tosymbol
  • textedit: new fourth outlet sends "textchanged" when text changes (when typing or otherwise)
  • wclose -> thispatcher no longer crashes
  • quickref menu now enabled for non-left inlets of user-interface objects
  • number~ now correctly imports minimum and maximum values from old patches
  • clocksource support for transport external sync to ReWire
  • ad_rewire: creates a clock source for transport sync
  • transport: now has a clocksource attribute (currently set to internal / rewire)
  • button: draws correct state after being clicked when connected to opendialog
  • waveform~: border color works properly
  • jit.buffer~: automatically includes the buffer~ object in standalone applications
  • audio can now be turned on without any DSP objects present; this permits use of sync for ReWire without audio generation
  • imovie: added PICT to list of known types
  • jit.qt.movie: @moviepath is not settable.
  • jit.qt.movie: @movie_name attribute hidden (it's just an alias for @moviename)
  • regexp: backslashes (escapes) are no longer modified in-place in an incoming atom list
  • improved reliability of the searchpath for Mac OS 10.5 in situations where the contents of the searchpath are changed by non-notifying processes (such as network access) while Max is running.
  • opening large colls on windows is faster
  • runtime version and standalones no longer register filetypes that should be registered to max application
  • Windows runtime no longer requires MS C runtime library when run on computers without it.
  • file browser: now lists vst plug-ins that are present in the searchpath
  • setting box's visible attribute to true via sending "hidden 1" to box when patch is locked, followed by unlocking and locking the patch, followed by making the box visible by sending "hidden 0" to it, now works properly
  • clearing various entries in max preferences no longer causes max to crash
  • pending segmented patch cord is aborted when patcher is locked
  • new localization support -- use localize_lookupstring() to get a string associated with a symbol
  • combine: supports list input
  • outputlength message has greater consistency with buffer~ size message
  • removed Debug Panel from the debug menu
  • pattrmarker: names are no longer accidentally retained under certain circumstances
  • biquad~:now only incurs new "smooth" performance hit when coefficients actually change
  • jit.qt.movie: movie volume is automatically set to 0 if a 'soc' is requested, but either not (yet) found or DSP disabled
  • zigzag~: solved freezing
  • jit.gl.text2d and 3d: fix for bogus chars with multiline text on windows
  • jit.qt.grab: eliminated error warnings re: DFG when opening inspector
  • Jitter Java: fixed signed byte problems with copyMatrixToArray, and planar offset problems with copyArrayToVectorPlanar and copyVectorToArrayPlanar
  • jit.gl.imageunit: fixes for lost parameters when windows are rebuilt as going to/from fullscreen
  • scope~: now displays y axis properly
  • menubar: fixed "Max Menus" menu item when a menubar is made active if an existing menubar is already active
  • freeze and revert toolbar icons are properly enabled for read-only attributes
  • De-encapsulate: #-arguments are now preserved upon de-encapsulation, as they were in Max 4
  • jit.gl.* fixed quickref attribute selection crash for jitter objects
  • modal text dialog now prevents title bar clicks, preventing crashes when used inside an inspector
  • jit.qt.grab: changes to @framerate are properly applied to the digitizer when it is (re-)opened.
  • modal text dialog now prevents title bar clicks, preventing crashes when used inside an inspector
  • file browser: menus for specifying search criteria now use the 'system font' specified in Max's preferences.
  • textedit no longer starts editing when previously focused and patcher window is activated
  • coreaudio audio driver: now unicode-compatible
  • poly~: fix for clicking with parallel on
  • fixed crash when using the finder to change the contents of the clippings folder
  • sfplay~: fix for looping rather than stopping when playing certain audio files at certain vector sizes
  • Select Window contextual menu item for All Windows Active is now properly enabled on the Mac
  • jweb: 'read' with no argument loads the about:blank empty URL
  • rewire sync now supports host looping and seeking
  • overdrive~ works now properly with signal in the right inlet
  • timepoint: fixed bug where other timepoints before current time would fire when scheduled time was changed
  • pattrstorage: increased maximum length of parsed symbols from XML from 256 to 2048 characters.
  • pattrstorage: increased maximum length of parsed symbols from XML from 256 to 2048 characters.
  • jweb: followed links are now properly added to the page history
  • jweb: untitled pages now use the absolute URL, rather than the relative path, as the title
  • jweb: 'url' is now properly reported after page load in Windows
  • borax ignores pitches out of MIDI range properly
  • buffer~: removed long-standing check that prevented increasing the number of channels when reading in a file
  • incdec now allosw automatic incrementation/decrementation while the mouse is pressed
  • max useslowbutcompletesearching option for examining the disk when files are not found in the search path
  • zl mode sect sends bangs when nothing is common between the two input lists
  • rewire sync now sends time signature changes
  • transport: restriction on changing time signature when time > 0 has been eliminated
  • kslider outputs velocity 0 when turning notes off in polyphonic mode
  • jit.gl.slab: fix for crash when changing shape attribute
  • itable: second background color can now be transparent
  • jit.gl.texture: fix for persistent pbuffer errors
  • transport: new "resetbarcount" (reset bar counter on time signature changes) attribute
  • transport: prevents time signature changes from happening if externally synchronized
  • menubar: fixed problems with extra items added to file and edit menus after deleting the object
  • menubar: implemented maxinwmenu 0 message to max for runtime version (removes Max window menu item)
  • mxj now checks for bad inlet numbers, and posts an error
  • pattrstorage: @outputmode 1 properly reported recalled values originating at a pattr object
  • pattrhub: @patcher properly resolves poly~ instances
  • umenu: depth now works properly when a file type is specified
  • toggle: fixed redraw on int message after set message
  • embedded bpatchers no longer save over their parents in obscure circumstances

New in Max 5.0.4 (Jul 22, 2008)

  • jit.fpsgui: improved border drawing
  • itable: only steal the focus of the required keys
  • pattr: efficiency improvements
  • windows: runtime and standalones now show version in about box
  • vexpr: scalarmode is now an attribute
  • mxj: MaxPatcher.getAllBoxes() and MaxPatcher.isBPatcher() Max 5 compatibility
  • pattrstorage: removing a slot properly resizes the list of used slots. Unnamed slots are now called '(unnamed)', instead of ''.
  • zoom is available in the buffer~ window (press command key)
  • Modified Read-Only now has a shortcut
  • print: now properly prints messages to the Max window when they contain the % character.
  • File -> Save As is disabled on read-only imported abstractions to help prevent trashing #N args
  • typing a number in quotes in a message box now creates a symbol instead of a number
  • object box no longer can be made with commas or semicolons inside
  • buffer~: sizeinsamps works fine if the buffer~ have been initialized with a length of 0
  • textbutton: blinks when sending bang, or clicking on the textbutton in outputmode 0
  • # argument replacement for attributes of text based object boxes now works (such as for when setting varname to #0_foo)
  • fixed problem where metrically timed events were skipped if too many simultaneous events occurred
  • attributes with values containing #N arguments are not frozen when the patcher is opened as a top-level patcher
  • omx.comp~: fixed crashing when signal vector size is >= 512
  • autohelp: fixed crash when closing some of Max's help patchers.
  • omx.comp~: internal parameters are now properly initialized when instantiated and no user messages have yet been sent.
  • encapsulate: generated inlets and outlets have some overlap protection
  • jit.qt.movie: @unique improvements: single frame movies/images now only output a single frame. @unique improvements: last movie frame no longer outputs multiple frames. @unique improvements: when @rate == 0, single frame movie properly outputs a single frame when loaded.
  • Fix for crash continuing debugging after closing the debug window
  • loading patches with json values that have long lists is much faster (such as saving a detonate object with lots of data embedded in the patcher
  • vst~: fixed updating of parameter display window for UI-less plug-ins when programs are changed
  • vst~: fixed crash when closing a patch with an open parameter display window
  • bpatcher now supports up to 256 arguments (which can be used in conjunction with patcherargs)
  • pattrmarker: reliability improvements
  • ReWire.dll is now installed with max
  • menubar: append message reimplemented
  • waveform~ now properly displays bpm unit
  • waveform~: buftime message implemented to limit redrawing based on buffer~ changes
  • tabs in text editor show properly as four spaces when text was set from an object (like text object)
  • poly~: fixed audio interruption when setting patchername attribute
  • preset: fixed problems saving and recalling presets for table object after reading in files
  • qlist messages that include commas now save and restore correctly
  • timepoint: fixed potential missed triggers when using named transports, tempo changes, and/or autostart metros

New in Max 5.0.3 (Jun 30, 2008)

  • itable: compatible with preset object
  • qmetro, qlim: fixed long-term timing accuracy
  • option/alt click on first inlet of text objects and then choosing one of the "Box Attributes" will now make a message prefixed by sendbox so that it will work to set the box attribute
  • adsr~ now works properly with attr args
  • Fix for double output under certain circumstances when using pattrs in bound mode
  • debug window stack is cleared after a stack overflow
  • fixed crash when debugger was open and debugging enabled when a stack overflow occurred
  • tempo: understands float again
  • flonum: no longer display erroneous value while dragging big numbers with the mouse
  • Tips and Shortcuts, Patcher Key Commands now appear in the Help menu on Mac too
  • movie: now causes imovie to be included in collectives
  • pattrstorage: repaired notifications to and from other pattrstorage objects.
  • Jitter tutorial reference can now open the patcher
  • pattrstorage: @dirty now defaults to off, as documented
  • umenu: a minus ('-') is now correctly output as a minus ('-') from the object's middle inlet
  • jit.textfile: added 'wclose' method.
  • jit.textfile: 'read' filename arguments works again.
  • Fixed scripting crash when creating multiple pattr objects with 'script new'
  • jit.uldl: Windows fixes for file downloading
  • jit.qt.movie: Fixed crash in 'export fulldialog'.
  • jit.qt.movie: 'export fulldialog' no longer stops movie playback.
  • hint: fixed delay time attribute
  • groove~: loopinterp works properly with 4 channels buffer
  • mxj list.Mth: 0 index works as expected
  • coll: correctly assigns filename to editor so you can save it with cmd-S
  • coll: searches for files with text or max binary extensions from a basename, as Max 4 did (e.g., you can say coll foo and it will find foo.txt)
  • qlist: correctly sets filename for editor so you can cmd-S the file, also does a search on name extensioin for max binary and text files (read foo will find foo.txt), and saves the last filename with the object
  • removed duplicate snapshot~ entry in MSP Analysis object list
  • prevented crash if zoomed-out grid spacing was less than or equal to zero
  • qlist: since it saves its contents, the previous change of saving the filename with the object, which read in the file AFTER the qlist had been populated with the saved contents, has been eliminated
  • prevented overdrive from being enabled via message to max or DSP status window if debugging is enabled
  • dragging the "color" (Border Color) attribute from an inspector (or choosing it from the quickref menu) now uses the name bordercolor instead of color to avoid conflict with the legacy color message
  • sendbox appears in front of more newobj attributes when dragging from an inspector (and is consistent in this respect with choosing a box attribute name from the quickref menu)
  • jstrigger: can be included in a standalone without a js object
  • matrixctrl: pattr now stores empty matrices properly
  • umenu: label background color is displayed properly, as in Max 4
  • delta character (unicode 394) is not used in sizing assistance unless it exists in the font
  • buffer~: size message no longer reallocates a buffer that is the same size, preventing obscure crashes that are probably Mac-specific
  • return key when editing text now works when caps lock is on
  • function: border color can now be changed
  • number/flonum: new tricolor and htricolor which allow you to change the color of the triangle
  • click on patch cord that is over a box will now deselect all boxes
  • right click on patch cord will now deselect other items (unless shift is held down) so that you do not accidentally operate on the wrong thing
  • round: can now handle lists when they begin with a symbol
  • deleting a selected object and a selected line at the same time now is undoable by executing undo once instead of twice
  • windows: NonRealTime audio driver now shows up
  • rate~: ignores 0 as a multiplier (would produce NAN output)
  • poly~: fixed output from out objects when loading a patcher dynamically
  • table understand tabrange as in Max 4
  • fixed crash when typing while cmd click dragging of a flonum in an unlocked patcher
  • zl: new mode compare
  • pictslider: better positioning in Jumps to Click Location mode
  • flonum digit dragging improved, and now supports much larger value for "Number of Decimal Places" attribute to enable viewing of very small numbers (of course within the limited (approx seven digits) precision of a 32 bit float)
  • new preference (located in the 'font' tab): Native Text Rendering, uses the OS to render fonts instead of JUCE.
  • sizing a bpatcher whose contained patcher has a non-zero offset will now preserve the offset
  • select message to flonum initializes the text to the correct value
  • the equals character in the new-object-list button now scales appropriately with zoom
  • Modify Read-Only on a subpatcher in an abstraction will now allow modifications to the top-level abstraction so saving will work properly
  • function: hide legend when leaving the object
  • line~: works properly with metrical time
  • curve~: works properly with metrical time
  • pictctrl: redraw dial when changing range
  • Navigate / zoom window now works properly when the patch was zoomed in to begin with
  • Show at 100% keyboard shortcut now disabled when navigate /zoom window is up
  • windows: keycode reported from key object is now independent of keyboard layout
  • building an app or collective now initializes the save as dialog filename extension properly based on the type
  • the open script button in the collective editor now works
  • appicon when building a standalone now works on windows
  • spectroscope~: sonagram mode display improvements
  • stack overflow dialog on the Mac now only has an OK button
  • adoutput~: doesn't crash when being disabled
  • seq~ can now save its data on closebang
  • slide~: uses double precision
  • relabeled range attribute Dial Range instead of Dial Maximum
  • using "Modify-Read Only" for an abstraction now persists after the abstraction is closed and then opened again
  • number: support flags message for legacy patches
  • max accepts drags from iTunes and other applications that use the "promise HFS" file type
  • line~: using higher precision to make interpolation over a very long time
  • clocker now works in a windows standalone
  • metro: any non-zero value in the left inlet starts the metro
  • pattrstorage: fixed display bugs with 'insert' and 'remove'
  • pattrstorage: 'cannot set name of locked slot' error no longer appears erroneously when locking a named slot.
  • pattrstorage: fixed 'no parent patcher found' error nonworkingness when using the 'locate' message.
  • pattrstorage: interp and interp_extra/interp_table can now be set properly from the clientwindow
  • pattr: new @initial attribute and 'init' message
  • patcher: fullscreen message now causes the window to fill the physical display on which the top-left corner of the window is located
  • jit.window: fullscreen attribute no longer opens window on incorrect display
  • setting bpatcher offset is no longer clipped based on the position of the right-most (or bottom-most) object in the patch
  • poly~: close the patcher window when dynamically loading a new patch
  • lcd: size message allows you to resize the object as in Max 4
  • multiple playbars can be used in the same patch (connected to different objects)
  • patchers in the extras folder no longer need the onecopy external to enforce one copy -- now anything loaded via extras will have the "onecopy" behavior
  • patchers without onecopy in extras can now be opened a second time after close
  • lcd: 'size' message now changes patching rect of object
  • lcd no longer loses various state (such as font size) after sizing it
  • loading patches that have utf8 data saved with a first utf8 byte of 0xE0 or 0xF0 now works properly
  • including a patcher in a collective (or standalone) now works
  • combine: improved symbol concatenation with spaces characters
  • windows: context menu item "Select Window" now is enabled properly when a window is in background and context menu is clicked while all-windows-active is on
  • "Select Window" context menu now works when the click is on empty space in a bpatcher
  • button in subpatcher no longer flashes upon opening subpatcher if it is banged while subpatcher is closed
  • textbutton: can be connected to any object
  • fix for crash on vista when typing "" into an object box
  • DSP Status window can be opened while the DSP is on without making clicks
  • fix for crash using note name legend in itable
  • umenu: Folders beginning with a '.' should now be properly excluded from umenu when @showdotfiles is disabled (when populating from a folder)
  • when a parsing error occurs on a json file with dos line endings the line number is now correctly reported
  • when an illegal control character is found parsing a json file it is now ignored instead of bailing
  • textbutton: supports preset
  • matrixctrl: matrixctrl always has an image, which fixes the behavior of the autosize attribute when you try to set it before the image name attribute is set
  • textbutton: supports preset
  • number/flonum: changing the minimum or maximum only triggers a value change if the current value lies outside of the min/max range
  • pattrstorage: client/storagewindow 'Name' column can now be resized
  • jit.qt.movie: @moviename no longer renames an enclosing folder, but rather the target file
  • png files can now be found more reliably when loading a patch
  • pattrstorage: window updates are now properly deferred
  • assistance fade in reduced to 200ms from 400ms
  • toolbar captions now use the system font, so they can be translated into other languages
  • fixed text clipping problems exhibited by jit.cellblock with native font rendering
  • kslider: fixed tracking when offset is not a multiple of 12, and fixed poly mode to work in a more useful way when dragging
  • menubar: eliminated Max Menus item in runtime / standalone, and added quit item on Windows in File menu in runtime / standalone
  • select to number and flonum now just grab focus (instead of beginning edit) to remain more consistent with max 4 behavior
  • bpatcher offsets now work properly on first try for both positive and negative offsets
  • Fix Width Ratio preference now works
  • changing the text of a subpatcher box from something like "p #0hello" to "p there" after the Modify Read-Only command now works
  • imported patcher windows no longer show a folder proxy icon (now they show no icon at all)
  • combine: no longer crashes on 'bang', if no arguments were supplied
  • pattrmarker: the patcher's 'globalpatchername' attribute is properly set upon instantiation of a pattrmarker object.
  • pattrmarker: @globalpatchername is readonly in the patcher inspector, if set by pattrmarker, as long as the pattrmarker object is in the patch
  • pattrmarker: @invisble, when enabled, prevents this patcher's name from appearing in the list reported by 'getmarkerlist'. To retrieve the complete list (including 'invisible' pattrmarkers), users can send 'getmarkerlist 1' to the pattrmarker object
  • pattrforward: 'send' with no argument detaches pattrforward from its target
  • poly~: target attribute value preserved when updating subpatcher
  • waveform~: now changes display properly when buffer~ sample rate changes (when reading in a file with a new sample rate)
  • matrixctrl: imagemask attribute is disabled for default cell image to prevent it from being corrupted for all other objects. Also turning off imagemask attribute now clears the alpha version of the mask properly -- useful when you're just messing around and your image doesn't have a mask (which it doesn't most of the time)
  • poly~: only opens patcher window if the patcher has been found
  • aligning very short patch cords now works properly
  • buffer~: now changes filename extension when a different type is chosen
  • fixed re-entrancy problem between auto-update of saved subpatcher and auto-compiling the DSP chain
  • improved appearance of cmd-period dialog and eliminated "nocursor" error message
  • hours/minutes/seconds time format is now hh:mm:ss.ms which resembles ISO 8601 more closely than hh:mm:ss:ms
  • vst~: grow box for mac edit window works around Reaktor's inability to grow its own window
  • GlobalTransport extra no longer uses combine objects to avoid memory leak
  • second pathname argument to buildcollective message to max works properly to set the output file location as it did in Max 4
  • return key now accepts color in color selectors
  • export image and prototype images for bpatchers are now scaled properly

New in Max 5.0.2 (May 22, 2008)

  • file preferences window updates when filepref changes a path
  • umenu: prefix accepts any symbol (not only file paths)
  • obtrusive error messages in patcher window are now filtered for repetitions
  • pictctrl: fixed sporadic crashes opening patchers with pictctrl objects in dial mode.
  • multislider: minimum size can be 8*8 as in Max 4
  • rslider: range color can now have alpha
  • fixed wclose message to thispatcher
  • counter: bang resets output to 0 when clocker is already running
  • poly~: fixed crashes when poly~ could not load a non-existent patcher, and then pattrstorage tried to look inside of it for pattr objects.
  • imovie: fixed bug where the vol message with a float argument, did not set the volume as advertised in the documentation.
  • fixed crash when the debugger hits a break watchpoint placed directly on the outlet of a key or MIDI input object
  • disabled mouse movement row selection in auto-completion list
  • rslider: have now a floatoutput attribute
  • help key (Mac only) opens help file if one object in a patcher is selected
  • file browser: fixed bug in movie file previews that would display movies with the wrong dimensions.
  • file browser: audio and movie file previews now have a volume level control, the volume level is remembered across launches in user preferences.
  • metrical time scheduler will trigger events even if some intervening time-consuming process prevents the event from being triggered at the intended time; in this way it behaves more like the regular Max scheduler
  • jit.fpsgui: added getstate message for compatibility
  • lcd: getpixel message implemented
  • lcd: strings > 1000 pixels in width draw properly
  • vst~: NI plug-ins work on PowerPC
  • wave~: fix for set message on PPC
  • 2d.wave~: fix for set message on PPC
  • pattrstorage: deferred (from defer_low) read/write messages
  • ezadc~: fixed state updating on initialization
  • ezdac~: fixed state updating on initialization, fixes highlighting of ezdac~ button in DSP Status window when audio is already on
  • minimum: fixed precisions with high values
  • maximum: fixed precisions with high values
  • doc window contents menu no longer displays entity names of the operators && etc.
  • cut, copy, and paste implemented for text fields inside inspectors
  • prevented crashes when typing the word "inspector" into an object box
  • text shown in option-title-bar menu is the patcher's name, not the window title
  • removed tcin from object list
  • table: fixed crash when pasting table values when nothing was selected -- now there must be a selection before you can paste table values
  • pictslider: fixed scaled knob tracking issue
  • fixed bug where releasing the 'a' key while holding the shift key down confused the key and keyup objects
  • poly~: fixed harmless "requires additional argument" message when using the args keyword
  • jit.gl.cubemap: fixed crash setting "drawto" attribute to a bogus value
  • double click on send or receive objects no longer crash
  • cmd click to lock a patcher now works when objects are selected
  • fixed possible crash when harvesting metadata
  • quickref auto-patching now works in non-left inlets, and messages / attributes are appropriately disabled in the menu
  • key: outputs ctrl A - ctrl Z ascii codes again
  • ctrl keys on Mac are mapped properly for non-US key layouts
  • fixed problems dragging number values in the inspector with a tablet
  • window positioning bounds are updated when mac monitor arrangement changes while Max is running
  • up and down arrow keys work in object box text editor when auto-completion is not visible
  • slider: fixed offset when the minimum was negative
  • tab: have now border, bordercolor and borderoncolor attributes
  • coll: fixed crash when object is created using a name in use by another class, and made error message refer to object
  • a new view of an embedded bpatcher is editable
  • fixed bug where it appeared that that two rows were added to the file preferences window when using the button to add a user path
  • paste replace and applying prototype now leave target objects selected
  • showing toolbar via command on View menu now works after first hiding it
  • windows: empty implementation of assist_string is in place so externals that use it will still load (although with broken assistance)
  • pasting compressed patcher text into the max built-in text editor will now decompress the text giving the user a way to first look at the contents before pasting it into a patcher
  • esc key, delete key, etc work properly when caps lock (or other modifiers) are on
  • bpatchers created via option drag from file browser no longer have internal patcher contents duplicated
  • The "Modify Read Only" command is now enabled for embedded bpatchers
  • help key (or F1 on windows) now opens object help file or if no objects are selected it opens the generic max help
  • windows: ctrl ? now opens generic max help so F1 can open help on objects
  • hover: new mouse exit outlets
  • fixed double-click on title bar to collapse window
  • movie: Fix for crash with 'vol' message
  • slider: now has a new setminmax message to quickly specify the minimum and range
  • rslider: Now has a new setminmax message to quickly specify the minimum and range
  • rslider: Now has a new setminmax message to quickly specify the minimum and range
  • patcher object's presentation attribute now reflects first view's presentation status
  • preset: no longer attempts to send the 'preset' message to patchers, which generally respond by creating preset objects.
  • fixed pop-up menus and other small windows not appearing above floating windows when the menu bar was not visible
  • fixed crash sending max midi autosetup message when MIDI Setup window was not visible
  • typing "a" no longer selects zplane~; in general, object palette requires at least a first-character match when typing a name before an object will be selected
  • bpatcher: embedded patchers can now be edited right away -- they will start with a blank patcher so you don't have to load a starting one
  • bpatcher: passing args to an embedded bpatcher now works
  • bpatcher: undo can restore changes to a bpatcher's patcher that was modified (via embed or modify read only) after such changes are lost due to loading a new patcher (via changing the bpatcher's name attribute)
  • poly~: fixed problems with customized outlet assistance descriptions
  • matrix~: ramp time is sample-rate independent
  • spectroscope~: prevented crashes caused by log-scaling negative amplitudes
  • documentation images folders are no longer added to the search path
  • lcd: writepict creates a file sized to the current lcd visible area for small pictures
  • key object now reports keystrokes when mouse is down in a patcher
  • help key to open object help now works when auto-edit on typing preference is enabled
  • windows: key codes for key object are now the same as the mac and the same as for Max 4.6
  • no longer crashes if a box that has text being edited is deleted via scripting
  • fix for crash loading matrixctrl image
  • press P in an unlocked patcher to create a new object with presentation attribtue enabled
  • table: right outlet now sends a bang when data is edited
  • kslider: fixed keyboard tracking when offset was not a multiple of 12
  • poly~: fixed crash re-opening the window of a dynamically changed patcher if the poly~ was in a subpatcher
  • poly~ help file now has examples of dynamic patcher loading and multithread support
  • menubar: fixed problems adding items to the File and Edit menus including repeated items when showing the menu bar more than once and file items duplicated in the Edit menu