[PD-dev] libpd search paths

Lucas Cordiviola lucarda27 at hotmail.com
Wed Feb 13 14:11:04 CET 2019


there are a couple of things you can try with your [external] or with 
one that you are sure that works with your arch {1} as Giulio mentioned:

1)

create a folder "jl" on the same dir as "main.pd"

put an abstraction on "jl" folder.

On "main.pd" call the abstraction with [jl/your-abs]

If the abstraction is loaded place your [external] in the "jl" folder 
and try to load it with [jl/gbend~ <name_of_table>].


2)
You can also try placing "gbend~" binary in the same dir as "main.pd" 
and call it using [gbend~ <name_of_table>].

3)
You can also test if [declare] is working.

On "main.pd" create a declare object [declare -path jl]

try loading your abstraction placed on "jl" folder just with [your-abs]




{1} You can use the standard Pd on your pi and use Deken to get some 
external i.e [freeverb~] :

freeverb~-v1.2.3-(Linux-armv7l-32)(Sources)-externals.tgz
     Uploaded by fjkraan @ 2016-07-29 16:40:59

I'm not sure if "Linux-armv7l-32" is for the pi (i guess it is).



Mensaje telepatico asistido por maquinas.

On 2/13/2019 9:54 AM, Joseph Larralde wrote:
> It seems to be a problem with externals because abstractions load just 
> fine from the same folder (see also my answer to Lucas).
> I'm currently struggling to compile the node addon on my pi, and will 
> let you know if I get some positive results.
>
> Le 13/02/19 à 13:47, Giulio Moro a écrit :
>> Hmm, it should work with objects in the same folder as the pd file 
>> you open. I have tried that on Bela and I can remove the 
>> libpd_add_to_search_path() calls, and - as long as I pass the 
>> appropriate relative path to the _main.pd file - then abstractions 
>> that live in the same folder as _main.pd are loaded correctly, even 
>> if the program is started from a different folder. Actually, can you 
>> try with some abstractions instead of externals? Maybe the externals 
>> cannot load for other reasons, but if you get the abstractions to 
>> work, then you'll have narrowed down your problem.
>>
>>
>> On Wednesday, 13 February 2019, 12:15:59 GMT, Joseph Larralde 
>> <joseph.larralde at gmail.com> wrote:
>>
>> Hi Giulio,
>>
>> Le 13/02/19 à 11:11, Giulio Moro a écrit :
>>> That sounds like an interesting project, although I struggle to 
>>> understand how it would be used.
>> Yes it is :)
>> Actually we are working on a project where we make an extensive use of
>> nodejs for distributed local applications, so it's worth using this
>> addon in our case (and that's the kind of scenario for which it was
>> initially created).
>> I must admit that for my own use, I'm only launching pd from a node
>> server and then doing everything else in the patches ...
>> (I was inspired to do so after trying out the Bela once, so thanks for
>> the inspiration)
>>> AFAIK, libpd does not search in any of the default Pd paths. It 
>>> comes with a `libpd_add_to_search_path()` function that you should 
>>> use to manually add the search paths. From the README of node-libpd, 
>>> among the todos there is :
>>>     • re-enable addToSearchPath and clearSearchPath
>> Thanks for explaining the path issue before I went crazy.
>> You're right, this is written in the todos of the README, which is a bit
>> minimalistic ...
>>> So that is probably where the issue lies. In the meantime you can 
>>> consider just copying or symlinking your externals to the current 
>>> folder.
>> Unfortunately, copying the external to the current folder didn't help,
>> so I guess I'll have to modify the addon a bit to re-enable the
>> addToSearchPath method and make a PR.
>> >From my experience of pd, I suspect this should be done at 
>> initialization time, so I might have to modify the addon's api to
>> provide another json field in the init method instead.
>> Does this sound right-minded ?
>>
>> Thanks,
>> Joseph
>>
>>
>>> Giulio
>>>
>>> On Wednesday, 13 February 2019, 09:49:08 GMT, Joseph Larralde 
>>> <joseph.larralde at gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> A friend of mine wrote this libpd wrapper for nodejs (which is actually
>>> a work in progress) :
>>> https://github.com/ircam-jstools/node-libpd
>>> It's running fine on a pi3 I'm using ATM.
>>>
>>> Now I need to use some externals I wrote, and I can't get them to load
>>> properly.
>>> But, they're loading when I start my test patch using pd itself.
>>>
>>> Before diving into his wrapper code, I'd like to make sure I'm placing
>>> the externals in the right path.
>>> What makes me think it should be working is this page :
>>> https://github.com/libpd/libpd/wiki/misc
>>> And also the fact that in his code, he's calling the init() function
>>> from PdBase, which is itself calling the libpd_init() function.
>>>
>>> I tried putting the externals into /usr/local/lib/pd-externals,
>>> /usr/local/lib/pd/extra, /usr/lib/pd/extra and ~/.local/lib/pd/extra.
>>> But still no luck ...
>>>
>>> Can anyone confirm I'm not mistaken ?
>>>
>>> Cheers,
>>> Joseph
>>>
>>>
>>>
>>> _______________________________________________
>>> Pd-dev mailing list
>>> Pd-dev at lists.iem.at
>>> https://lists.puredata.info/listinfo/pd-dev
>>>
>>
>
>
>
>
> _______________________________________________
> Pd-dev mailing list
> Pd-dev at lists.iem.at
> https://lists.puredata.info/listinfo/pd-dev


More information about the Pd-dev mailing list