Hi list,
We noticed in the Malinette (https://framagit.org/malinette/malinette-soft) that the [gate] external from iemlib1 replace the cyclone one (the old version, not the beta).
In Linux, I don't need to add "-lib iemlib1" to get [para_bp~] external (filter object). But on Windows, I need to add this option and iemlib1 seems stronger (order does not affect this) than cyclone import.
The "bad" way woud be to write all objects with [cyclone/gate] but if someone has a better way...
Thanks
IMO [cyclone/gate] is the "correct" way.
--
Mensaje telepatico asistido por maquinas.
On 12/3/2017 2:18 PM, Jérôme Abel wrote:
Hi list,
We noticed in the Malinette (https://framagit.org/malinette/malinette-soft) that the [gate] external from iemlib1 replace the cyclone one (the old version, not the beta).
In Linux, I don't need to add "-lib iemlib1" to get [para_bp~] external (filter object). But on Windows, I need to add this option and iemlib1 seems stronger (order does not affect this) than cyclone import.
The "bad" way woud be to write all objects with [cyclone/gate] but if someone has a better way...
Thanks
Sorry, I don't think I understand the issue, or what you mean or ask. But let me join in anyway.
2017-12-03 15:49 GMT-02:00 Lucas Cordiviola lucarda27@hotmail.com:
IMO [cyclone/gate] is the "correct" way.
There are several externals that have the same name, and there are ways to control this and call the one you want. The one that is more reliable (or "correct") to me is libname/objectname, indeed.
In the old days of Pd-Extended, libraries would already be loaded by default, and cyclone would come first. That means [gate]instantiates cyclone's instead of iemlib's
Now, with Pd Vanilla, you can set the order your own, or use [declare], but, again, I just think libname/objectname is easier and more explicit
hope I helped
cheers
--
Mensaje telepatico asistido por maquinas.
On 12/3/2017 2:18 PM, Jérôme Abel wrote:
Hi list,
We noticed in the Malinette (https://framagit.org/malinette/malinette-soft) that the [gate] external from iemlib1 replace the cyclone one (the old version, not the beta).
In Linux, I don't need to add "-lib iemlib1" to get [para_bp~] external (filter object). But on Windows, I need to add this option and iemlib1 seems stronger (order does not affect this) than cyclone import.
The "bad" way woud be to write all objects with [cyclone/gate] but if someone has a better way...
Thanks
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/ listinfo/pd-list
Hi.
Beyond the topic, I wonder also how to know if a library needs "-lib" option, and for which operating system. For iemlib, on Xubuntu the "-path" option is enough, on Windows, I need to add "-lib". Hard to follow if it is not the same option between platforms.
Now, with Pd Vanilla, you can set the order your own, or use [declare], but, again, I just think libname/objectname is easier and more explicit
If it is the common way now, it is good to know. Thanks.
The order seems not working with "-lib". It seems stronger than a "-path" option.
I see the good points of this syntax, but also some disadvantages :
I guess the best practice would be to place all externals inside the same parent folder "~/pd/externals", declare this parent path (by default now) and also declare all externals paths to show the project's dependencies. So you can use the "objectname" alone or with "libname/objectname".
On 2017-12-04 10:05, abel.jerome@free.fr wrote:
Beyond the topic, I wonder also how to know if a library needs "-lib" option, and for which operating system. For iemlib, on Xubuntu the "-path" option is enough, on Windows, I need to add "-lib". Hard to follow if it is not the same option between platforms.
it's unrelated to the platform. the important part is, how a library is linked (whether as a single binary with multiple objects, or as a directory with one binary per object). PdX tried to solve this by pushing a single solution down the throat of each developer who had a library shipped with PdX. some devs didn't like that and stayed with a solution that fit their needs better. leading to confused users who - depending on where they got the library from - would need different options to use the library.
the only rule of thumb is to inspect the library folder, and if you see many (or no) {dll|pd_darwin|pd_linux}s files you should use "-path", and if there are only a very few (usually one(1)) with the name of the library, then you should use "-lib".
fgamsdr IOhannes
On Mon, 2017-12-04 at 10:19 +0100, IOhannes m zmoelnig wrote:
On 2017-12-04 10:05, abel.jerome@free.fr wrote:
Beyond the topic, I wonder also how to know if a library needs "- lib" option, and for which operating system. For iemlib, on Xubuntu the "-path" option is enough, on Windows, I need to add "-lib". Hard to follow if it is not the same option between platforms.
it's unrelated to the platform. the important part is, how a library is linked (whether as a single binary with multiple objects, or as a directory with one binary per object). PdX tried to solve this by pushing a single solution down the throat of each developer who had a library shipped with PdX. some devs didn't like that and stayed with a solution that fit their needs better. leading to confused users who - depending on where they got the library from - would need different options to use the library.
the only rule of thumb is to inspect the library folder, and if you see many (or no) {dll|pd_darwin|pd_linux}s files you should use "-path", and if there are only a very few (usually one(1)) with the name of the library, then you should use "-lib".
While I fully agree with you, I do believe you are actually helping confuse users by not providing an iemlib build for Linux. If there'd be a canonical build (as opposed to the v0.0-extended one), the mechanism to load the library would be the same on every platform.
I even would have done it myself, but I figured with iemilb it's much harder for me to automate the building of Deken packages than with other libraries, so I didn't bother.
Roman
On 2017-12-04 10:32, Roman Haefeli wrote:
While I fully agree with you, I do believe you are actually helping confuse users
thanks for reminding me that i should at least have put on the "rant" tags.
by not providing an iemlib build for Linux. If there'd be a canonical build (as opposed to the v0.0-extended one),
we (at iem) are aware of that. there will be a build made available, but i cannot give an ETA.
fgamsdr IOhannes
2017-12-04 7:19 GMT-02:00 IOhannes m zmoelnig zmoelnig@iem.at:
the only rule of thumb is to inspect the library folder, and if you see many (or no) {dll|pd_darwin|pd_linux}s files you should use "-path", and if there are only a very few (usually one(1)) with the name of the library, then you should use "-lib".
True, but there are also exceptions, like in cyclone, which currently has a sub-library containing non alpha numeric characters, and you need to add this lib if you want them (and it also needs to be in a library for that). It might be the only one case like that. And, yeah, ideally it should be all just one library or separate files, but we can't do that, so you need both the -path and -lib
cheers
my work around for organelle has been to remove the gate in iemlib completely
iemlib is crucial for many things related to filter and modulo_counter gets a ton of use as well recently
Patrick Pagano B.S, M.F.A
Assistant Professor in Residence
Digital Media & Design
Web & Interactive Technologies
University of Connecticut, Stamford
(352)-226-2016
From: Pd-list pd-list-bounces@lists.iem.at on behalf of Alexandre Torres Porres porres@gmail.com Sent: Monday, December 4, 2017 8:06:59 AM To: IOhannes m zmoelnig Cc: pd-list@lists.iem.at Subject: Re: [PD] Force cyclone/gate instead of iemlib1/gate
2017-12-04 7:19 GMT-02:00 IOhannes m zmoelnig <zmoelnig@iem.atmailto:zmoelnig@iem.at>:
the only rule of thumb is to inspect the library folder, and if you see many (or no) {dll|pd_darwin|pd_linux}s files you should use "-path", and if there are only a very few (usually one(1)) with the name of the library, then you should use "-lib".
True, but there are also exceptions, like in cyclone, which currently has a sub-library containing non alpha numeric characters, and you need to add this lib if you want them (and it also needs to be in a library for that). It might be the only one case like that. And, yeah, ideally it should be all just one library or separate files, but we can't do that, so you need both the -path and -lib
cheers
True, but there are also exceptions, like in cyclone,
and then there are oddities like iemlib being traditionally split into iemlib1 and iemlib2 - for whatever reason... :-)
Gesendet: Montag, 04. Dezember 2017 um 14:06 Uhr Von: "Alexandre Torres Porres" porres@gmail.com An: "IOhannes m zmoelnig" zmoelnig@iem.at Cc: "pd-list@lists.iem.at" pd-list@lists.iem.at Betreff: Re: [PD] Force cyclone/gate instead of iemlib1/gate
2017-12-04 7:19 GMT-02:00 IOhannes m zmoelnig <zmoelnig@iem.at[mailto:zmoelnig@iem.at]>: the only rule of thumb is to inspect the library folder, and if you see many (or no) {dll|pd_darwin|pd_linux}s files you should use "-path", and if there are only a very few (usually one(1)) with the name of the library, then you should use "-lib". True, but there are also exceptions, like in cyclone, which currently has a sub-library containing non alpha numeric characters, and you need to add this lib if you want them (and it also needs to be in a library for that). It might be the only one case like that. And, yeah, ideally it should be all just one library or separate files, but we can't do that, so you need both the -path and -lib cheers _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list%5Bhttps://lists.puredata.info/l...]
Christof Ressi wrote:
True, but there are also exceptions, like in cyclone,
and then there are oddities like iemlib being traditionally split into iemlib1 and iemlib2 - for whatever reason... :-)
if this is a suggestion to join them into one IEMLIB library:
here's my +1 !
====================================================================
while we're at it:
what about objects that have the same name on different libraries ?
here's an example of a minor issue i ran into recently:
VANILLA, IEMLIB AND ZEXY all have an object called [wrap]
while the IEMLIB and VANILLA [wrap] seem to do the same, ZEXY's [wrap] works very different and also has a second inlet.
now, once i load the ZEXY library, there's no way to call VANILLA's [wrap] anymore, it will always be ZEXY's version.
plus: if an object is part of a library and not a single .dll (speaking for windows), it's not possible to call it explicitly on object creation.
(i.e. [zexy/list2symbol] can't be created, i have to declare ZEXY as a library first)
best
oliver
now, once i load the ZEXY library, there's no way to call VANILLA's [wrap] anymore, it will always be ZEXY's version.
you can still load the vanilla version with [wrap_aliased] after it has been overwritten. there's no way, however, to load [wrap] from another library (like [iemlib]) if it's a single binary library.
BTW, the default behaviour of zexy's [wrap] is the same as in vanilla. it just provides some nice extra functionality.
Gesendet: Montag, 04. Dezember 2017 um 15:41 Uhr Von: oliver oliver@klingt.org An: Pd-List pd-list@mail.iem.at Betreff: Re: [PD] Force cyclone/gate instead of iemlib1/gate
Christof Ressi wrote:
True, but there are also exceptions, like in cyclone,
and then there are oddities like iemlib being traditionally split into iemlib1 and iemlib2 - for whatever reason... :-)
if this is a suggestion to join them into one IEMLIB library:
here's my +1 !
====================================================================
while we're at it:
what about objects that have the same name on different libraries ?
here's an example of a minor issue i ran into recently:
VANILLA, IEMLIB AND ZEXY all have an object called [wrap]
while the IEMLIB and VANILLA [wrap] seem to do the same, ZEXY's [wrap] works very different and also has a second inlet.
now, once i load the ZEXY library, there's no way to call VANILLA's [wrap] anymore, it will always be ZEXY's version.
plus: if an object is part of a library and not a single .dll (speaking for windows), it's not possible to call it explicitly on object creation.
(i.e. [zexy/list2symbol] can't be created, i have to declare ZEXY as a library first)
best
oliver
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
I dont know how pdmtl is structured, but you can always screw it up and wrap it in a way that doesn't work. Other than that, if you do things in a certain way, considered as "safe" / "correct" or "usual", that libname/objectname syntax will never be a problem.
The way it works is that your lib needs to be in a folder that is also in the path.
With Pd 0.48-0 we have a new folder for externals suggested by the software which is also suggested to be added to the search path. If you just say yes and ok to everything, all the libraries you download will end up in this external folder that is already in the path, so there won't be any disadvantages in using libname/objectname!
cheers
2017-12-04 7:05 GMT-02:00 abel.jerome@free.fr:
Hi.
Beyond the topic, I wonder also how to know if a library needs "-lib" option, and for which operating system. For iemlib, on Xubuntu the "-path" option is enough, on Windows, I need to add "-lib". Hard to follow if it is not the same option between platforms.
Now, with Pd Vanilla, you can set the order your own, or use [declare],
but, again, I just think libname/objectname is easier and more explicit
If it is the common way now, it is good to know. Thanks.
The order seems not working with "-lib". It seems stronger than a "-path" option.
I see the good points of this syntax, but also some disadvantages :
- if you download a set of abstractions "lambda" (~ library) and if the
syntax inside is "Iambda/objectname", so all help files won't work if you open them directly. It was a strange behavior in the good old "pdmtl" abstractions help files. I like the idea that you can open any objects and help files inside the library folder (like rjdj lib).
- In a more logical level, if you declare a "-path /any/path/lambda"
option, the library will not work. You need to declare the parent path, which is weird and not suitable if you want to show and declare all libraries that you need in a common declare line.
I guess the best practice would be to place all externals inside the same parent folder "~/pd/externals", declare this parent path (by default now) and also declare all externals paths to show the project's dependencies. So you can use the "objectname" alone or with "libname/objectname".
-- Jérôme Abel http://jeromeabel.net http://reso-nance.org
2017-12-03 16:47 GMT-02:00 Alexandre Torres Porres porres@gmail.com:
I just think libname/objectname is easier and more explicit
Oh, it should be clear that doesn't work for a "-lib"
You can actually allow that, and we made it so that you can actually load an object like [cyclone/>~], but that's another exception