Hi all
As you might know, a lot of the Pd libraries are being packaged for Debian. Some of them have already been uploaded and can be installed from unstable.
I'd like to include also the iemmatrix library. In Pd-extended, it is bundled as a one-file-per-object library, which allows to instantiate objects by prepending the library name (for instance: [iemmatrix/mtx_*~]). For this to work correctly, the (still to be packaged) hexloader is required, which must be loaded manually by the user.
Fact is, that we must assume that Pd-extended users already have made patches using [prefix/objectname], which would break, if the iemmatrix library is packaged as a multi-object-single-file library. This means, that iemmatrix should be packaged as a one-object-per-file library. This again means, that it should be made dependent on the hexloader loader in order to work correctly. The problem is then, that hexloader is _not_ automatically loaded by Pd, but needs to be loaded manually by the user. This in return would break patches created by users used to the multi-object-per-file format of the library and don't know that they are suddenly supposed to load the hexloader to make their patches work, since they hadn't to do that before. Anyway, it's unfortunate to be forced to use a certain loader, when at the same time there'd be the possibility to have a perfectly functional library without loader (BTW: PureDyne has always used a multi-object/single-file library format, so there also users used to that).
In an ideal world, the loader would be loaded automatically when needed, so that a one-file-per-object iemmatrix could be made 'just to work the same'(tm) as the multi-object-per-file iemmatrix. However, this would require a special mechanism in Pd to either load all available loaders automatically or load them when needed. From a Debian perspective, making pd-iemmatrix dependent on pd-hexloader would suffice to make it work out-of-the-box.
Generally speaking, an extra handling for loaders is not a bad idea. They are not libraries in that they don't provide any functionality by themselves and having to do an extra step to manually load a certain loader before loading the actual library is awkward, also because the library actually 'knows' what it needs. But I don't have the slightiest clue who/if this is going to be implemented.
In the case of iemmatrix (and also zexy, which actually already is packaged as a multi-object-single-file library in Debian, but as a one-object-one-file library in Pd-extended) and assuming that there won't be any intelligent loader loader soon, what is the best way to go?
I appreciate any opinions on this.
Roman