Max for Live freezing, filepaths, and unclear behavior

mattyo's icon

I know this has been covered to some extent before, but unpredictable behavior in this is making me a bit nuts.

I'm in a dev round with a client for an M4L device, which unfortunately means regular freezing and unfreezing -- this leads to promiscuous creation of file copies, both in the new Project folder created, and in the 'discarded' folders inside it.

Generally, when I have to freeze, I rename the device to keep things clear. According to Jeremy's post of ten years ago (https://cycling74.com/forums/where-to-best-put-your-m4l-files-dependencies#reply-58ed21476908cf22c839443b):

Every Max for Live device is actually a Project. When the M4L device is opened/saved, a folder (named as the device) is created in ~/Documents/Max 7/Max for Live Devices, and the dependencies of unfrozen devices are unpacked into that folder. When you freeze the device, project dependencies are then automatically bundled into the .amxd file.

There are a couple of things I find confusing about the actual behavior of an unfrozen device based on this:

  1. Projects are supposed to look for abstractions/named files in the Project's folder before it searches elsewhere in max's search path. This is not necessarily the case -- see photo 1. I guess thats means it's good hygiene to constantly be throwing out or moving old versions of abstractions, but kind of a PITA.

  2. The Max For Live Devices/Project/ folder only contains patchers and data files. Javascripts, .genjit files, and any other random stuff comes from exactly where?

  3. Oh, lets look at the Project window for the .amxd! It contains only genjit and js files, no patchers, plus a random .mxo (see picture 2). I can get info on those items to see where they are coming from, but I still can't get an overview of everything, and where it is being loaded from . (I have tried consolidating the project, but after a subsequent unfreeze, all those consolidated files disappear.)

  4. I'm a determined guy, so lets try File>>List extenals and Subpatcher Files. this returns a blank document.

Mattijs Kneppers had some useful advice in the thread above, but it still seems like an incredibly clunky way to manage any of this. I guess I can put up with moving old versions out of the search path, but some way to actually see everything in the .amxd in one place would be incredibly helpful.

I'd appreciate any wisdom on how to manage this, and perhaps C74 could look into some way of improving this workflow. Kind of a rant, I know, but thanks for listening!

\M