Create interactive sounds, graphics, and custom effects!

Max for Mac

Max 8.2.0

  -  770 MB  -  Trial

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Max 8.2.0.


For those interested in downloading the most recent release of Max for Mac or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • Max 8.2.0 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Max 8.2.0 Screenshot 1
  • Max 8.2.0 Screenshot 2
  • Max 8.2.0 Screenshot 3
  • Max 8.2.0 Screenshot 4
  • Max 8.2.0 Screenshot 5

What's new in this version:

New:
- 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:
- 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