Not really a problem but I think not really correct and maybe already reported:
I have a in an folder main.pd and searchme.pd and start pd i got on the console:
$ pd -verbose main.pd
tried /home/winfried/tmp/test_load/main.pd and succeeded tried /home/winfried/tmp/test_load/searchme.l_ia64 and failed tried /home/winfried/tmp/test_load/searchme.pd_linux and failed tried /home/winfried/tmp/test_load/searchme/searchme.l_ia64 and failed tried /home/winfried/tmp/test_load/searchme/searchme.pd_linux and failed tried /home/winfried/tmp/test_load/searchme.pd and succeeded tried /home/winfried/tmp/test_load/searchme.pd and succeeded
Note the double suceeded lines.
$ pd -verbose searchme.pd
tried /home/winfried/tmp/test_load/searchme.pd and succeeded
which is correct.
I also notices double suceeded on loading externals: like the [acre/acre/initbang] from deken installed acre lib (last lines):
[...] tried /home/winfried/pd-externals/acre/acre/initbang/initbang.l_ia64 and failed tried /home/winfried/pd-externals/acre/acre/initbang/initbang.pd_linux and failed tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded tried /home/winfried/tmp/test_load/acre/acre/initbang.pd and failed tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
see double succeeded line
If this an unkown behaviour I can have a look in the s_loader.c
mfg winfried
On 05/08/2016 02:28 PM, Winfried Ritsch wrote:
tried /home/winfried/tmp/test_load/searchme.pd and succeeded tried /home/winfried/tmp/test_load/searchme.pd and succeeded
Note the double suceeded lines.
this is known behaviour. the first line is printed when the "searchme" object is found to be an abstraction. the second line is printed when the abstraction is loaded.
you will notice that for subsequent invocations of [searchme], you will only get a single "succeeded" line (because Pd already nows that "searchme" is an abstraction). you will also notice that for subsequent invocations of [searchme], you will *not* see the "failed" lines for externals (e.g. searchme.pd_linux).
it might be a bit confusion, but i did not think it confusion enough to spend coding energy on it - after all it is a double line of success when everything goes right.
I also notices double suceeded on loading externals: like the
i guess "externals" here refers to "libraries", since the [initbang] object in question is really an abstraction.
[acre/acre/initbang] from deken installed acre lib (last lines):
[...] tried /home/winfried/pd-externals/acre/acre/initbang/initbang.l_ia64 and failed tried /home/winfried/pd-externals/acre/acre/initbang/initbang.pd_linux and failed tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
up to this line, Pd did not know that "initbang" was an abstraction. now it does now it, and tries to instantiate it by loading the abstraction.
tried /home/winfried/tmp/test_load/acre/acre/initbang.pd and failed tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
since loading the abstraction involves finding it on disk, Pd iterates through the paths again. the two lines above demonstrate this.
see double succeeded line
If this an unkown behaviour I can have a look in the s_loader.c
what you are seeing is really just a side-effect of the new abstraction loader, which now uses the same mechanics as other loaders (eg. the external loader).
you might think it is inefficient to search two times for a single file. however, in reality you get a performance boost as soon as you load an abstraction multiple times.
e.g. when using [initbang] three times, the new loader will output: tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded
whereas the old loader would have done: tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded
gfmsard IOhannes
Ok,
that's fine, if it is known behaviour, I was just curious, since output is only for debugging purposes and first I thought my patch introduced this... but was the same before.
Should we file an issue so people can find this behaviour ?
mfG winfried ritsch
Am Sonntag, 8. Mai 2016, 21:17:53 schrieb IOhannes m zmölnig:
On 05/08/2016 02:28 PM, Winfried Ritsch wrote:
tried /home/winfried/tmp/test_load/searchme.pd and succeeded tried /home/winfried/tmp/test_load/searchme.pd and succeeded
Note the double suceeded lines.
this is known behaviour. the first line is printed when the "searchme" object is found to be an abstraction. the second line is printed when the abstraction is loaded.
you will notice that for subsequent invocations of [searchme], you will only get a single "succeeded" line (because Pd already nows that "searchme" is an abstraction). you will also notice that for subsequent invocations of [searchme], you will *not* see the "failed" lines for externals (e.g. searchme.pd_linux).
it might be a bit confusion, but i did not think it confusion enough to spend coding energy on it - after all it is a double line of success when everything goes right.
I also notices double suceeded on loading externals: like the
i guess "externals" here refers to "libraries", since the [initbang] object in question is really an abstraction.
[acre/acre/initbang] from deken installed acre lib (last lines): [...]
tried /home/winfried/pd-externals/acre/acre/initbang/initbang.l_ia64 and failed tried /home/winfried/pd-externals/acre/acre/initbang/initbang.pd_linux and failed tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
up to this line, Pd did not know that "initbang" was an abstraction. now it does now it, and tries to instantiate it by loading the abstraction.
tried /home/winfried/tmp/test_load/acre/acre/initbang.pd and failed tried /home/winfried/pd-externals/acre/acre/initbang.pd and succeeded
since loading the abstraction involves finding it on disk, Pd iterates through the paths again. the two lines above demonstrate this.
see double succeeded line
If this an unkown behaviour I can have a look in the s_loader.c
what you are seeing is really just a side-effect of the new abstraction loader, which now uses the same mechanics as other loaders (eg. the external loader).
you might think it is inefficient to search two times for a single file. however, in reality you get a performance boost as soon as you load an abstraction multiple times.
e.g. when using [initbang] three times, the new loader will output: tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded
whereas the old loader would have done: tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded tried ~/tmp/test_load/acre/initbang/initbang.l_ia64 and failed tried ~/tmp/test_load/acre/initbang/initbang.pd_linux and failed tried ~/pd-externals/acre/initbang/initbang.l_ia64 and failed tried ~/pd-externals/acre/initbang/initbang.pd_linux and failed tried ~/tmp/test_load/acre/initbang.pd and failed tried ~/pd-externals/acre/initbang.pd and succeeded
gfmsard IOhannes