On 2010-07-01 05:13, Pedro Lopes wrote:
(I was about to try screwing around with the code of [textfile] to see if
I could achieve this >with my [lack of] c skills, but my linux box just died.) I was trying too, but couldn't figure out how to make pd load my modified textfile.pd_linux instead of the default one.. any hints? (I tried with--nostdpath and --path "file")
for one thing, Pd only uses a single dash for flags, so "-nostdpath" would be better. the other thing is, that the "stdpath" is only about the .../extra path (the standard path (hence the name) to install addons to, like expr~ or anything else). built-ins have nothing todo with the standard path, as they are not looked for in a certain path but are built into (hence the name) Pd.
anyhow, you can overwrite a built-in (with a recent-enough Pd-version (0.42; PdX-0.42 might not do) by just making sure that a library gets loaded which then registers an objectclass with e.g. "textfile" as the name. suppose your textfile.pd_linux provides this, you just tell Pd to load exactly this file: $ pd -lib textfile should do the trick. if it does not, try something like $ pd -lib /full/path/to/my/textfile
you can even force the loading from within a running Pd (e.g. because you forgot to specify the "-lib" flag) normally it would be enough to create an object, e.g. [tuxfile] to make Pd look for tuxfile.pd_linux in (e.g.) extra/; this obviously doesn't work with [textfile] because Pd already knows what to do when asked for a [ŧextfile]. but you can use [../my/textfile] (supposed that textfile.pd_linux is in a subdirectory "my" and you started Pd from there (or have added there to your searchpaths)), to make Pd look again for a binary and eventually load it: the loading will then magically override your object.
the confusion with "path" and "lib" probably comes from the fact that PdX treats adding search-paths as equivalent to load libraries
fgm,asdr IOhannes