I figured out what the difference was between mine and Alex's screenshots. In my case, the "custom search location" was also the folder that the patch was saved into. So it was loading an external relative to this, not the custom search folder.

I've uploaded a draft of Context with externals which I hope will work "out of the box". The idea is that if a user wants to use their own externals, they simply delete the relevant folders from the main Context folder, and then the patch goes back to searching for the externals in the regular places. This is based on the assumption that PD searches for externals in the PD folder BEFORE searching in Documents/PD/externals or anywhere else. This appears to be the case on my Linux and Windows machines, but can I count on it always working?

Lucas, thanks for pointing me towards the old Extended binaries for Zexy. I didn't realized that they existed, and it helps to keep the file size small. The Context folder currently has 6mb of binary externals (Linux, Windows & OS), which seems to me like an acceptable cost.

If anyone wants to test it, I'd really appreciate it, in case I've made a mistake. You can download the test branch here, then follow the instruction in the file "externs-test.pd".

https://github.com/LGoodacre/context-sequencer/tree/externs 


From: Alexandre Torres Porres <porres@gmail.com>
Sent: 14 April 2018 00:49
To: Liam Goodacre
Cc: PD list
Subject: Re: [PD] How to declare custom libraries in abstractions
 


2018-04-13 14:41 GMT-03:00 Liam Goodacre <liamg_uw@hotmail.com>:
Thanks Alex, you've pretty much answered all my questions. I have a bit of confusion though, because for me, [declare] in 0.48 does seem to add custom search paths (see attached screenshot). Doesn't this contradict what you said?

I don't really know what you have there. Let me restate what I sad anyway and show you a screenshot of mine. The [declare] object wth the "-path" flag cannot add a path relative to the user added search paths. By "user added search paths" I mean the paths you manually add in Pd => Preferences.

For example, see my screenshot below (also attached). I have "cyclone" at ~/Documents/Pd/externals/cyclone and I have ~/Documents/Pd/externals as a user added path, so if I do [declare -path cyclone] it can't find it.


 
 
Now, if this actually works for you, I don't know.


As to whether I should do it or not, I have users telling me that I should and developers telling me that I shouldn't, which puts me in a bit of a bind. Ultimately, I'm worried that a complex install process will scare a lot of new users off, which is why I'm looking for a solution. I've given up on many computer programs before simply because I couldn't get them to work in the first 5 minutes; haven't you?

yup, you're right, this is a good motivation.

Lucarda's way of doing this seems to be the choice you want to go for.

cheers