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@lists.iem.at wrote:
Message: 2 Date: Wed, 24 Feb 2021 15:55:06 +0000 From: Philip Stone <pkstone@ucdavis.edu mailto:pkstone@ucdavis.edu> To: "pd-list@lists.iem.at mailto:pd-list@lists.iem.at" <pd-list@lists.iem.at mailto:pd-list@lists.iem.at> Subject: Re: [PD] detect dependencies from patch Message-ID: <BYAPR08MB5589848DB50E378D344486FDA79F9@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
Thanks for that concise write-up. I think dealing with externals was never so stringent before as it is now. What I really appreciate is that going with defaults all along creates a sensible setup.
Roman
On Thu, 2021-02-25 at 10:18 +0100, Dan Wilcox wrote:
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]
This is exactly what I was looking for Dan – it really ties it all together. Now when I refactor old patches, I’ll feel like I’m doing it right.
Best,
Phil
From: Dan Wilcox danomatika@gmail.com Date: Thursday, February 25, 2021 at 1:18 AM To: Philip Stone pkstone@ucdavis.edu Cc: Pd-List pd-list@lists.iem.at Subject: Re: [PD] detect dependencies from patch 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@lists.iem.atmailto:pd-list-request@lists.iem.at wrote:
Message: 2 Date: Wed, 24 Feb 2021 15:55:06 +0000 From: Philip Stone <pkstone@ucdavis.edumailto:pkstone@ucdavis.edu> To: "pd-list@lists.iem.atmailto:pd-list@lists.iem.at" <pd-list@lists.iem.atmailto:pd-list@lists.iem.at> Subject: Re: [PD] detect dependencies from patch Message-ID: <BYAPR08MB5589848DB50E378D344486FDA79F9@BYAPR08MB5589.namprd08.prod.outlook.commailto: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
Just to tie this up under the right subject, thanks for this Dan. It’s very helpful.
Props also to the updates by Alex of the included docs under ‘Pd Help’, which I hadn’t remembered to look at (apropos of nothing, I forget to look at those docs because the menu heading ‘Pd Help’ has become invisible to me for some reason; the updates to the manual are excellent, though).
Phil
Em qui., 25 de fev. de 2021 às 06:21, Dan Wilcox danomatika@gmail.com escreveu:
I think the info on this was updated in the included Pd manual by Alex
yup, but I still wanna revise it a bit more, hopefully for 0.52
Note: once compiled externals are found and loaded, they cannot be unloaded
or reloaded.
This is something I did not cover and want to revise, cause when you load a library via [declare -lib], then it cannot be "unloaded", so it also works for other patches you open later (that is, the library is loaded for them too).