Working on Live devices as Max projects?

Thijs Koerselman's icon

When working on a Max4Live device that uses multiple project files like abstractions and javascript files, the only convenient way I know is to keep everything in a Max "project like" structure inside the "unfrozen" devices folder (e.g. ~/Documents/Max for Live Devices). The amxd file goes in "other", abstractions in "patches" and javascript in "code".

For me this in not ideal, because the scope of actual the project is usually bigger than just this single device. It may include other devices, documentation files, Ableton test session, externals source code etc...

I want to find a way to keep everything together in a single root directory, so that it can be versioned as a git repository. For normal Max projects this is can be easily done, but I can't find a way to do the same for M4L devices.

As a simple workaround I tried to create a symlink to the device project folder from the "Max for Live Devices" root, so that the actual code can be in a different location. M4L doesn't seem to follow the symlinks correctly. The device (amxd) is found, but the javascript and abstractions are missing when the project path is a symlink.

Has anyone found a decent approach to this?

Joel Corelitz's icon

+ 1

I'd love to find a solution to this as well - would be great to have repos for M4L-based projects.

Akos Kokai's icon

I agree that this is annoying. Creating hardlinks between .amxd files in the Live User Library and the Max Project hierarchy seems to work, but I'm not sure if this suggestion will help much for organizing your projects in a radically different way. I wish there were better documentation on the file organization requirements/processes for M4L Projects.

Jan M's icon

I don't remember from which version on it was changed (6.1 or later) but now M4L devices are always projects by default. Check Users/[username]/Documents/Max there is a folder containing all your M4L devices as projects.No linking necessary!!

Thijs Koerselman's icon

Jan I think you're missing my point. I know the M4L devices are projects. On my system they are always stored in "~/Documents/Max for Live Devices". The problem is that there is no way to keep a M4L project folder in a location together with other project assets. You can store a regular Max project anywhere on the filesystem, but not a M4L project.

If I'm working on a device that is part of something bigger like include custom external dev code, audio files, documentation etc, there is no way to keep everything together in one root.

Thijs Koerselman's icon

I just noticed the folder path change. They seem to have recently moved both "Projects" and "Max for Live Devices" folders to a common Max root folder like you said. But if all devices have to be in a single common location my argument is the same.

Thijs Koerselman's icon

I've since learned that symlinks do work, but you'll have to enable the option "Resolve Search Path Aliases" in the Max preferences. I don't know when this options was added. It allows you to create a symlink in the "Max for Live Devices" folder, pointing to your device project folder which lives somewhere else on your filesystem. This way you can keep your max for live patches and data together with other documents in say a git repository.

James Kogane's icon

has this been resolved by now? Have a huge folder of audio files I need to come with an M4L device in umenu form and can't seem to make it happen.

James Kogane's icon

have a M4L device and have 407 audio files that need to be loaded into a umenu and haven't been able to figure out a way for people to download the device and have all the files available and populating the buffers from the umenu without them loading them manually (drag and drop, or pointing to a folder etc.)

mattyo's icon

I'm banging my head against something similar right now -- I'll report if I figure anything out!

\M