Howdy Phil,
We are moving away from the "extra" folder and additional "standard paths" like ~/.pd-externals in favor user search paths for most use cases. This requires specifying folders, so a helper "Documents Directory" was added, mainly for beginners and students but I find it generally useful. For those that don't, it can simply be ignored and disabled.
I think the info on this was updated in the included Pd manual by Alex, but off the top of my head the simplest explanation is the following:
If not enabled, enable the Pd Documents Directory:
Preferences -> Path... -> Pd Documents Directory -> Reset
There should now be a ~/Documents/Pd/externals folder which is also added to the user search paths.
Put external library folders in there, deken also downloads to here by default.
Note: You can of course use your own user search path and set the path deken downloads to, in which case the following info still applies.
You can now find externals in this folder using [declare]. If you have an external called "extname" in the following folder:
~/Documents/Pd/externals/extname
It should be found by Pd with: [declare -path extname -lib extname]
The -path argument specifies search paths while -lib specifies a location to try to load compiled externals, so some externals may require both while abstraction-only externals should only require -path. More complicated externals like Gem which also need to load addition dynamic libs should also work, although may require additional steps / folder placement.
Note: once compiled externals are found and loaded, they cannot be unloaded or reloaded.
Also, without using [declare], objects can be found in the user search paths via prepending the external's folder name:
[extname/foobar]
Last, if the path given to declare starts with a . or .. (ie. it's a relative path), the search mechanism only looks *relative* to the patch and does not look in further user search or standard paths. This should help encapsulation of certain projects.
[declare -path ./extname]
> On Feb 25, 2021, at 12:15 AM, pd-list-request(a)lists.iem.at wrote:
>
> Message: 2
> Date: Wed, 24 Feb 2021 15:55:06 +0000
> From: Philip Stone <pkstone(a)ucdavis.edu <mailto:pkstone@ucdavis.edu>>
> To: "pd-list(a)lists.iem.at <mailto:pd-list@lists.iem.at>" <pd-list(a)lists.iem.at <mailto:pd-list@lists.iem.at>>
> Subject: Re: [PD] detect dependencies from patch
> Message-ID:
> <BYAPR08MB5589848DB50E378D344486FDA79F9(a)BYAPR08MB5589.namprd08.prod.outlook.com <mailto:BYAPR08MB5589848DB50E378D344486FDA79F9@BYAPR08MB5589.namprd08.prod.outlook.com>>
>
> Content-Type: text/plain; charset="windows-1252"
>
> I have to say that I have gotten kind of lost in the discussions about loading and declaring external libraries. I would like to embrace the current best practices, but don?t have a solid overview of the whole. Would anybody be willing to write up a summary?
>
> I think it would be an invaluable resource for new users (as well as old, like me!)
>
>
> Best,
>
> Phil Stone
> Davis, CA