2018-04-13 4:10 GMT-03:00 Liam Goodacre <liamg...@hotmail.com>:
> Hi all
> You might remember from last year that I wanted to distribute externals
> along with an abstraction library (Context) so that new users can download
> and get it working in as few clicks as possible, without having to download
> a bunch of extra libraries (see the thread: "[PD] repackaging externals
> on Deken"). This is in response to many users struggling with the
> installation process, and it would seem important if Context is every going
> to go up on Deken.
> This week, I've finally gotten around to trying to implement this, but I'm
> getting hopelessly confused, since I don't have a good understanding of how
> [declare] works and it's function seems to be changing anyway. I've
> attempted to outline my questions as clearly as possible, and I would
> appreciate if people could reply to them individually. I'm not trying to be
> stubborn, it's just that I'm struggling with my understanding here.
> CURRENT SITUATION:
> 1. Context relies heavily on externals, namely zexy, cyclone, else,
> iemguts, hcs, list-abs, iemmatrix, and flatgui.
> 2. I have everywhere called externals using the [library/object]
> method, ie. [cyclone/iter], avoiding the use of [declare], because I'm
> afraid of it. The only time I've use declare is with [declare -stdlib zexy]
> did you know? there's a way to load zexy in the patch as an external, and
no need to use [declare -stdlib/-lib], this woks if there is a compiled
external like [zexy] with all classes, this works for cyclone too. But
this is not true for every library.
> 1. I want all of Context's externals to be distributed and declared
> 2. For efficiency, I want only those externals which are used in the
> folder, not the whole library (otherwise it takes up around 38mb).
> 3. For clarity, I want them organized by library in a special
> "ctx_externals" folder. So there will be one "ctx_externals/cyclone"
> folder containing only the cyclone externals I use, one "externals/else"
> folder, etc.
> 1. The easiest way to achieve this would just be to declare them in
> the object names, ie. [ctx_externals/cyclone/iter]. What is wrong with
> doing it this way?
distributing externals along with an abstraction is bad form like you
said, in my opinion
> 1. Assuming that there is something wrong with the method outlined
> above, what is the proper use of [declare] in this instance?* [declare
> -lib ctx_externals/zexy -path ctx_externals/cyclone -path
> ctx_externals/else ...]* seems to work for me here, but I know that
> the use of -path and -lib is changing, so I just want to be sure.
> current behaviour of [declare -path] works for objects in paths related to
the patch, so yeah, this works. And this won't change
> 1. Again assuming that 1 is wrong, do I need to remove the "library/"
> from each of the objects in the patch after using [declare]? (Ie. so
> [cyclone/iter] becomes just [iter]). It seems to work with the path still
> specified, but I don't know if this is altering the behavior. Removing the
> paths in the objects would be a hassle, but I'll do it if there is a
no reason to remove them, no technical issue, and you'd make a mess and mix
up all externals, which is bad
> 1. How many different versions of each external library do I need to
> provide to cover all possible uses? Windows, Linux & Mac = 3 versions. Do I
> need to also release one for 32bit and one for 64bit, = 6 versions?
> yeah, as much as you can, which is part of why 1 is bad
> 1. Is it OK just to put all of these different versions in the same
> folder, so that "ctx_externals/cyclone" contains 3 x each external, one for
> each OS? Or will this create problems?
it is ok
> I expect that some of you will bring up the point that distributing
> externals along with an abstraction is bad form, as it might interfere
> with the user's own versions of the same externals. The solution we
> arrived at in the last thread was to let the user decide whether to have
> Context provide its own externals (basic), or whether to provide them
> manually (advanced). This is what I intend to achieve, which leads me to
> the next question:
> 6: If I replace *[declare -lib** ctx_externals/zexy -path**
> -path ctx_externals/else ...]* in the main Context file with *[declare
> -lib zexy -path cyclone -path else ...]*, will it then abandon the
> repackaged externals and look instead for whatever externals the user has
it won't work with externals the user has installed... YET, see
> If not this, then what use of [declare] will switch back to the standard
I dont understand this question
> Thanks for bearing with me here,
> Pdfirstname.lastname@example.org mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/
Pdemail@example.com mailing list
UNSUBSCRIBE and account-management ->