how do i add externals in max 7 ?

jonathan valdez's icon

lost my external objects like csound~ , flac , wait~ and others. where do i add them in max 7? there doesn't seem to be a msp-externals or max-externals folder.

Jeremy's icon

Hi,

You have a couple of options:

The recommended way would be to create a package for yourself: 'jvstuff' or whatever.
- If it's just for you, place a folder with that name in ~/Users/Documents/Max 7/Packages (/Users//My Documents/Max 7/Packages on Windows). You can then add a subfolder 'externals' and drop your externs in.
- If it's for everyone who uses your computer, put your package in /Users/Shared/Max 7/Packages (C:\ProgramData\Max 7\Packages on Windows).
There's a good documentation page about packages in the Max Documentation if you open the docs browser and type 'package' in the search field.

If you don't want to deal with packages right now, you can use the ~/Documents/Max 7/Library folder as an unsorted dropbox for the Max search path (the global location is /Users/Shared/Max 7/Library).

Hope this helps!
Jeremy

jonathan valdez's icon

thank you~!

Andro's icon

users/shared

balam's icon

Thanks

much better solution to back up externals

TonySnark's icon

Not sure what i'm doing wrong here...

Ive put CNMAT's OSC-Route.mxe in every root and subfolder I can imagine within these file structures. The object browser shows the external, but when I select it, max console says "no such object"

unnamed.jpg
jpg
unnamed2.jpg
jpg
newtfish's icon

Hi Tonysnark,

Is it possible youre using x64 max? If so the osc-route object is only 32 bit as far as I know.

I'm having huge problems with Max7 and including abstractions. I've also tried every location

e.g.
C:\ProgramData\Max 7
C:\Users\[username]\Documents\Max 7
C:\Program Files\Cycling '74\Max 7\resources

Also adding each of these to the search path and nothing happens.

If I explicitly add a search path for a folder and put JS in there, they will finally load. However, abstractions/patchers will not.

Jeremy's icon

Those aren't really the locations. C:\ProgramData\Max 7\Library is a location. As is C:\Users\[username]\Documents\Max 7\Library or something in a package inside of C:\Users\[username]\Documents\Max 7\Packages. Finally, the latter path should not be considered a location at all, because we may just blow it away and replace it with something else the next time you update.

If you can provide a set of steps for us to reproduce a "patchers in the search path aren't available to Max" behavior, we'd be glad to investigate.

Jeremy

Spa's icon

Hi Jeremy,
Given the 'problems' found by max users in organizing their work in Max7, it will be great to have from cycling a clear 'standart' HOWTO guide for this.

I just freak out when you tell me that my work could just disappear in next upgrade if i let them in packages... Is it the case for my projects in project folder too???
At the moment, i put everything in \Documents\Max 7\Library , with a subfolder for /javascript , /java , /patches.
Is it correct and safe?
Should I put externals in /packages/asubfolder/ ??

I'd like a simple HowTo in documentation for not only externals, but also javascript and java (classes and lib)
By the way, how do you organize the javascript 'include' and 'require' logic in folders?
It's also a bit strange to have cycling/Examples in 2 places on install on osX?? (max7appli/Contents/Resources/) and (user/shared/Max7/)?
thanks

Jeremy's icon

Back up a sec. You work could only be (potentially) lost if you modify this location: C:\Program Files\Cycling ’74\Max 7\resources, and that's always been the case with folders inside the application folder. I realize that my statement was a little ambiguous about which was "the last location" -- I meant the last location in your list.

So... the examples: the point being that you shouldn't/we would rather than you not be mucking around in the application bundle (nor in the application folder on Windows). Therefore we copy the examples to a common location and add the copy to the Max search path. We do the same on Windows, for the same reason (no mucking!). Taken from that perspective, I don't find it that odd, but I understand how it's maybe not entirely clear, esp for upgrading users who are used to mucking. Please stop mucking. We are trying to save you pain and suffering in an uncertain future...

OK, returning to the locations I mentioned in my response (which, in return for your commitment to a muck-free Max application bundle/folder, we will not muck with). The Library location works like the old "patches" folders -- it's an unordered dump for anything you want to be in the search path. The Packages location contains, well, packages. And these have a specific structure, as described in the "About Packages" Guide in the documentation (the location of JS and Java files are also covered in that document). You can use both or either, depending on whether you are chaotic or anal-retentive, or something in between.

No freaking out, no worries, and definitely no mucking. I hope that's clearer.

Jeremy

Spa's icon

ok Jeremy,
Sorry, i misread for /packages.
What i wanted to express is that it could exist a 'single' document explaining all the folder architecture, instead of pieces of explanation for each folders or situation.
I think the old docs about 'threads in max' and 'max with eclipse' are a good example of all-in-one doc for new or experienced users.
I miss info about the new javascript logic with (By the way, how do you organize the javascript ‘include’ and ‘require’ logic in folders?) I saw an other post asking you about this and no answers..
if i open a javascript from the project window, it does not update in the patch, but if i double-clic the js object, it does. So, perhaps some 'complete' doc about handling javascript should mention that.

SQLite is great tool, but as also multi forum threads with absolutely no answer from cycling people. No ideas how you catch errors without having them post in maxwindow. or the fact that it's difficult(impossible) to get a null value back to max. Or that if you resave a javascript containing the sqlite object if its db is open, it crashes max. the 3 small pages in the documentation is kind of short, for a file architecture that seems to be the Max7 file architecture !!!
Not even talking about persistent false info like: dict in java in the doc.
Or the multi threads asking for help cos' of the fact that max is complicate with " , ' and other escaping dances symbols \\" etc... -> a good paper also
For example, a good paper about all the difficulties coming from forbidden words when using other languages in bringing their data in max. I suppose many 'classic' programmer left max for those reasons. It's a pain that every new user got to discover by himself all this difficulties.
Or a good paper about best use of video in max, instead of a 8 years old doc from Vade, permanently referred by others in multi threads.

Well, i suppose you got it ;)
A centralized page giving access to docs explaining all this.

I suppose the fact that cycling is a decentralized structure brings sometimes this kind of consequences...

Anyway, Max7 is great, great, great...

Jeremy's icon

Maybe you could break some of these requests down into separate threads, it's a little too much for me to take on en masse. Thanks...

As a conclusion to this thread, which I think has been satisfactorily wrapped up: it sounds like we should consider adding an "Organizing Your Files" topic to our documentation as a one-stop reference depot for a lot of these puzzling and potentially confusing features of how Max finds your work.

Jeremy

Spa's icon

yep, the list was meant only to give you examples of recurring forum topics that prove that max users got a hard time finding the 'basic' infos on such topics.

So YES!! for a "Organizing Your Files" topic in documentation (with externals, gen, javascript and java) and perhaps a sticky topic on the forum under "Max 7.0.1 Released" linking to that page in doc.

Also will be great, a good doc with examples of how to manage the difficult escaping characters and other forbidden words (like the absence of 'null' concept in max)

For SQLite, it seems that nobody is in charge for answering forum topics at cycling... (sqlite.error!)

dolphinazz's icon

Hi~, while upgrading to Max7, I have some problems in using externals, such as 'analyzer~, pitch~, bark~, etc.', all of which I often used in Max6. In Max7, those externals don't be activated. Is there any other option for me to use such externals? I using Mac, 10.10.

didjefuz's icon

Hi all. i have the same issues of Tony, Dolphinazz; i've tried to put the externals in all the different folders that have been mentioned, but no success.. externals are showing in the object browser but when loaded in a patch they are red and Max console is telling me: "unable to load object bundle executable".

Screen-Shot-2015-02-01-at-19.25.02.png
png
Jeremy's icon

It looks like you're using Max in 64-bit mode and loading 32-bit only externals, or vice versa?

Jeremy

thispatcher's icon

Hi Jeremy!

So the only method mentioned in this thread that works for me is to place folders in /Users/username/Documents/Max 7/Library/

I just needed to get back to work, so I'm sticking with this now, but would you please provide a reason why the other methods (packages) are preferable to this?

Thanks so much for the fine detail you have provided in this thread.

Best,

Michael

Jeremy's icon

Without more information, I can't really comment on the 'doesn't work' report. I use packages every day, I know that they work, so I have to assume that there's something wrong with the format of the data you are placing into the packages folder. But the Library folder is fine.

Packages are preferable if you are dealing with structured, well, packages of material. In most cases, we're talking about 3rd party resources (the bach or CNMAT objects, for instance). Those objects come with help files, extras, documentation, etc. and those resources need to be in specific locations to ensure that Max finds them and displays them properly.

For your own work, and especially if you're not planning to distribute such a package of material, the Library folder is more than adequate, and possibly preferable if the rigid structure of packages sticks in your craw for day to day Maxing.

jb

T Bruce's icon

One more clarification for me. I'm going with "/Users/username/Documents/Max 7/Library/" for 3rd party externals.

My question is:

Within the Library folder, should I organize max and MSP externals in seperate sub folders, or just pile everything in together?

Some question for max and MSP help patchers.

Thanks!

Wil's icon

for me /Users/shared//Max 7/Packages/ is what works. For the cv.jit libraries is just dropped the whole folder into the packages folder. For miscellaneous eternals i named my own folder 'will~' and put each object in their respective folders i.e. 'help' = ~.help, externals = ~.mxo.

here is a screenshot. I use these externals a lot so they DO work.

Screen-Shot-2015-06-29-at-1.33.59-PM.jpg
jpg
T Bruce's icon

I guess I'm still not sure what the difference between the Packages folder and the Library folder is. I've seen both suggested for this, but I still don't understand Cycling's intended uses for these folders.

But, I think I got the OK from you to organize the externals, help patchers, whatever, anyway I want within either the Packages or Library folder.

Clear as mud to me ;-)

T Bruce

Wil's icon

I don't know the difference either, my security clearance doesn't go that high. I just put them in different folders until it worked, then I stopped.

Jeremy's icon

The Library folder allows unsorted stuff to be added to the search path. Just put stuff in that folder and Max will find it.

The Packages folder supports "packages", which use a special folder format, more or less for distribution of 3rd party stuff. Search for "packages" in the documentation to learn more about how they are arranged. Not everything in a package is in the search path, so you need to follow the guidelines in the documentation.

You can use either, of course, depending on your level of obsessive-compulsion and commitment to organization in your digital life.

pdelges's icon

I recently had strange problems building standalones : the "DSP status" window was not included. It turned out it was a package installed in the wrong place (i.e. not in a 'package' folder), I think the faulty package was the HoaLibrary, but unfortunately I'm not sure anymore.

T Bruce's icon

Thanks Jeremy,

And to satisfy my compulsion to not get my tit in the ringer when I upgrade in the future; all of the stuff I put in the Library folder will still be there when I go to Max 7.xxxxxx?

Of course, Max 8 will probably have everything on a cloud somewhere out in the Orion Nebula, right?

tbb

Jeremy's icon

Max 7.X.Y.Z won't touch your Library folder contents. I have nothing to say about points beyond.

enki's icon

This Youtube tutorial helped me out.
https://www.youtube.com/watch?v=0ynJjV-GD-g&list=PLVIa8UkRzErsdnC1DEpDy7S9Ss7BhY7nY&ab_channel=dearjohnreed
It mentions that adding externals to a user path is a 3 step process:

Step 1)
Place the external folder in your folder Users/yourname/Documents/Max 7/Packages/externals

Step2)
With Max 7 in the foreground : goto Menu/Options/File Preferences and hit the + sign(bottom left of window) and add the /aforementioned/path/externals to MAXMSP search path.

Step 3)
Restart Max 7.

Jeremy's icon

The instructions just above this message are inaccurate, please don't follow them.

If you want to add externals to your search path, you can do many things. For instance:

a) make a folder called "MyPackage" (for example) inside of ~/Documents/Max 7/Packages -- inside of "MyPackage", make a folder called "externals" and put your externs there. Restart Max. Don't mess with the File Preferences/search path.

or

b) put them in your ~/Documents/Max 7/Library folder or in a subfolder of that folder. Restart Max. Don't mess with the File Preferences/search path.

or

c) put them somewhere else on your hard drive and add that somewhere else to your File Preferences/search path. Restart Max

I don't know what that YouTube video is, but if the advice given is the same as the above, please inform the author that he or she is advocating bad practice.

Best, Jeremy

Sylvain A_P's icon

I've followed all of Jeremy's instructions for paths & directories, I'm running Max 7 in 32-bit mode, and my externals still do not load. I get the "no matching architecture in universal wrapper" error every time :(

thoughts?

Jeremy's icon

Either you are trying to load 64-bit-only externs in your 32-bit Max. Or old OS9 externs, or Windows externs possibly?

andremartins's icon

Hi there, I just upgraded to Max 7.2.1 and I am getting an error everytime that I tried to install a package thru the new Packager Manager. None of them will install. Everything else is working, but I ca't figure it out what's going on. I ha Max 7.2.1 on a Windows 64 bits.

Error-Package-Manager-MAX1.jpg
jpg
lyve forms's icon

hi jeremy, i tried options a) to c), plus the bad practice from the yt video.
so far, max recognizes the object in the search path (when creating a new object and typing the name it shows up in the suggestions).
but when i confirm, the object turns orange instead of anthrazit.
there must be one step missing somewhere... do you (or does someone else) have an idea where the missing piece is?
many thanks in advance