bPatcher keeps creating duplicate files and using old version
Hello everybody,
This is an issue I've been struggling with for a few months now and it drives me crazy.
I'm working on a project and every work file is in a git and has to stay here.
We want to use bPatcher for many things as it is a very powerful tool. But there's an issue.
Every time I open a patcher with a bPatcher inside, Max seems to use an old version of the bPatcher. I can set the correct file in the inspector menu and everythings fine. But when I close and reopen the patch HERE IS THE OLD VERSION AGAIN.
When I look where is stored the incorrect bPatcher, it is in the default Max path "Max8/Projects/MaxForLiveDevices". I've tried to delete it so that max doesn't try to load it but it RECREATE THE FILE EVERY TIME ?????
I tried many things as including the bPatcher in the project, using global version ,etc ...
I just want to use the current bPatch version and not an old one. I don't care to save previous work..
I don't understand why this is happening and don't seem to find an answer online nor in the documentation.
Could you please help me with this one ?
Okay,
I tried to summarize my project better to find a solution to my problem more easily.
- Currently the Ableton project is therefore on a git.
- We have a Max folder in the Library which contains a number of different tools ( .amxd ).
- These tools share patchers ( .maxpat bpatchers include in presentation)
- We would like the link between devices and patchers to be hard and not change.
- That these files remain in their place that there is no duplicate made in a possible Max / Projects or Max / Projects / Max for Live Devices
That when you change a patcher it is updated in the different devices.
I don't understand the obscure rules of Max which sometimes copies files, loses links and mostly seems to create instances of the different patchers in a folder in the documents and not in the ableton project.
Should I make a project for all devices or create one project per device but in this case how do I make all devices share the same patch?
I think you saw it I am currently very lost in how to manage my project and unfortunately I am going around in circles and I cannot find solutions.
Thank you very much for your help !

Did you find a solution to this? The workaround I found was deleting the copied folder and then creating a symlink from that folder to the folder that has the Ableton device. https://cycling74.com/forums/max-for-live-and-git
It is indeed true that Max only looks up dependencies by filename. Whatever it finds first in any of its search folders is used. Note that the Max Console window does issue a warning for this in yellow text and shows you which dependency is used and where the alternatives are.
The way to avoid your abstraction being replaced by another is to never have multiple dependencies with the same filename in the Max search path, or even better, on disk. A common culprit for duplicate dependencies is unfreezing Max for Live devices. A project folder containing copies of dependencies in ~/Documents/Max 8/Max for Live Devices/ is only created when unfreezing a device.
So my advice would be to never have to unfreeze a device you are working on. When you need to freeze, save it as a new copy and then delete this frozen version after you're done with it.
I store my devices unfrozen in git. The only time I freeze a device is when I distribute it. After sending out the frozen copy, I immediately discard my change in git (of course, I commit my changes first before freezing).
Hope that helps!
Yes I wasn't quite getting the part about the search paths, I think I've got a good understanding now thanks very much for the thorough explanation.