Max 8.2 Released

    Oct 12 2021 | 6:00 pm
    We are happy to announce the official release of Max 8.2!
    Along with over 60+ new features and 250+ bug fixes, Max 8.2 is also the first version to natively support the latest Apple Silicon based Mac computers.
    We have also released an updated Max SDK, which third-party externals will need to be recompiled with in order to provide native support for this new architecture.
    If you are on an Apple M1 machine, and need to use 3rd party externals that have not been updated for this new architecture, you can run Max 8.2 in Rosetta 2. In the Finder, select the, then go to File->Get Info and select "Open using Rosetta" in the Info window. Take a look at the detailed list of New Features and Bug Fixes here: You can download the Max 8.2 update here: To recap, here are some of the key improvements in Max 8.2: Mac arm64 support The most notable addition, this brings native support for the latest Apple Silicon-based Mac computers. CEF Update We've updated our shipping version of Chromium Embedded Framework to CEF 90. Dynamic Colors To make the colors in your patches and devices more responsive to the environment they find themselves in, we've added the ability to reference Max / Max for Live application colors via static names that automatically adjust to follow the active Max/Max for Live color themes. Documentation Browser Updates The Documentation Browser has a new home page, spiffy new navigation tools (breadcrumbs, open in browser, sidebar tweaks), and a brand new Glossary of Max terms. live.adsr~ / live.adsrui These are two new objects for generating and visualizing sample-accurate Attack-Decay-Sustain-Release envelopes. Improved Random Numbers Some objects now take advantage of a new random number generator implementation that is more efficient and has improved statistical qualities. Some of the affected objects include noise~, noise in Gen, random, drunk, decide, urn, and live.step. Node for Max Update The shipping version of Node has been updated to v16.6.0. Jitter Tools Package This package is a collection of tools that we think almost any Jitter user will want to take advantage of. Currently, this package features three tools: (a texture version of jit.matrixset), jit.polymovie and (polybuffer type objects for movie files), and (customizable grid of points to control the shape of a mesh and associated texture). loadbang on paste / Re-initialize There is a new preference called 'Edit Operations Trigger Loadbang', which allows for loadbangs to be fired when pasted. There is a new entry in the Edit menu, 'Reinitialize', which will fire loadbang and loadmess objects in the parent patcher all the way down the patcher hierarchy. Thanks to all of you who downloaded and tested the Max 8.2 beta, we were glad to catch a number of bugs that we would have missed otherwise! Happy patching, Ben & Cycling '74

    • Oct 13 2021 | 4:20 am
      Thanks C74! 👍
    • Oct 13 2021 | 8:13 pm
      Great to see another update. However, I appear to have encountered a major bug already. The patcher I’m working on is pretty complex but has worked fine until the Max 8.2 release. Now, if I create a new object and start to add links to other objects, Max locks up. Interestingly, if I minimise and maximise the window, it all starts working again but any attempt to add a new link causes another lockup. I’ve had to go back to v8.11, which still works fine.
    • Oct 13 2021 | 8:50 pm
      @ANDREW I recommend filing a bug report with Support so we can track down what you are experiencing:
    • Oct 13 2021 | 9:20 pm
      @ANDREW : same here.
    • Oct 13 2021 | 9:50 pm
      @SCHLAM If you have some repro steps, do drop Support a note as well. The more info we have, the quicker we can assess and fix. Thanks!
    • Oct 13 2021 | 11:36 pm
      it's very hard to reproduce...some times...I don"t know why/how (but it is too a big patch) when I want to connect two objects : max hangs. Minimizing / remaximazing the window makes all going good..until the next time.. It happens 3 times in 10 hours of work... (never saw that on 8.1.11.) I will try to isolate..
    • Oct 14 2021 | 2:31 am
      Wonderful - some exciting stuff in this one. Thanks for always getting us new updates :)
    • Oct 14 2021 | 3:45 pm
      @andrew and @schlam For any hangs, if you are on Macintosh, please also send to support a sample of the process via activity monitor (good instructions here). This can still be very helpful for hard to reproduce situations. For windows, explicit reproduction steps are likely necessary.
      Thanks for helping us track down these issues!
    • Oct 15 2021 | 8:16 am
      fantastic work team!
    • Oct 16 2021 | 1:05 am
      Well I finally got to trying out the mc.gen~ object. Is there a way to control whether it runs on multiple cores?
      I can't say my experience with mc.gen~ was very good. Any code error at all required me to restart the app, and each time I had to copy the codebox into a code editor and restart Max, because if the error was for example a mistyped variable name, it would wipe out the gen object entirely. I started getting a 'freeing zero signal/" message which I never saw before. When I have it in poly~ I don't get that message. Also I couldn't set the number of instances to one without another similarly disastrous crash.
      By the time I went through all that, I ended up switching back to a poly~ object again. I don't get any fatal crashes when editing the same codebox in a poly~ object.
      I'm a little sad, because I know how much work Cycling74 put into the mc wrappers and I would have liked to try them out some more. What I did find is that the "setvalue" message works consistently across both, so at least the implementation make it easy to switch between the two. The only difference is that I have to send a bang to a thispoly~ object to get the instance number reported by mc_channel, and when my codebox reached more than a thousand lines I had to send a bang from the main patch delayed by a couple of seconds after loadbang for the gen~ object to be compiled and receive it properly.
    • Oct 16 2021 | 2:37 pm
      There's a significant (3x at minimum) performance regression setting parameter values in vst~ objects. Bug filed.
      @Joshua/Ben re: samples: I added some samples to my bug because some difference in the call stacks seemed relevant. But I had to copy-paste them as text into the "Notes" field because there doesn't seem to be any way to attach files. Is that really the best/only way to do that?
    • Oct 16 2021 | 2:50 pm
      I also had an extremely alarming thing around the first time I ran 8.2.0. I can't say for sure it's 8.2.0 but the proximity to it's install is highly fishy and fortunately it has not happened again.
      I was working on a project that I'd been using for ages, and when I clicked the project window to open one of it's sub files and error showed in Max console saying the file couldn't be found. So I tried another file and same deal. I looked in Finder at the project folder and while I was perusing the folder the entire folder got deleted. It wasn't in my system Trash, and searches on my system could find it (in case it had been moved). It's more like it was rm -rf'd (but there also isn't any suspicious terminal history). I was able to restore with a git reset, but could have been deeply hosed if not for that.
      Again it's a highly weird, one-time thing and don't know for sure that 8.2.0 is the culprit, but in case it's not a complete 1-off I thought I'd mention it here...
    • Oct 16 2021 | 7:38 pm
      you can trust noone, not even yourself. always make backups.