Hello, +1 on the need for vanilla path management (https://github.com/pure-data/pure-data/pull/150)
Like Seb, I also made similar objects, [mainpath] and [root], as part of my personal library https://github.com/fdch/fd_lib. [mainpath] gives the canvas full path and handles path names relative to it. It also fetches all files in a given directory (using dirent.h) [root] gives out the root canvas name, which is useful both for regular pd messages and tcl related messages. fdch.github.io/tv > On Oct 7, 2017, at 7:00 PM, Seb Shader via Pd-list <[email protected]> > wrote: > > Hello, > I've made a [rootinfo] object in my library that gives the path, name, > and relative level of the root canvas. > I also have a [makerpath] object that is supposed to take paths relative to > the root canvas and transform them into absolute paths but it doesn't seem to > work > correctly... I will update it tonight though. > > available here https://github.com/sebshader/shadylib > might be in deken for linux and OS X.. not sure (thought the updated > abstraction will only be on Github) > > -Seb > > > -----Original Message----- > From: Jérôme Abel <[email protected]> > To: pd-list <[email protected]> > Sent: Sat, Oct 7, 2017 7:35 am > Subject: [PD] Best way to make file paths relative to the parent patch ? > > Hi, > > To explain myself, i have to describe a practical example > (http://reso-nance.org/public/pd-malinette/test-paths.png) : > - you write an [audio-sampler] abstraction in "abs" directory, which load > soundfiles > - you write a "main.pd" patch where you put this abstraction in the project > directory > - you want to load the "data/snare.wav" sound file with a message connected > to the abstraction > > Result : the context of the abstraction is in "abs" directory, so it can't > find "data/snare.wav" (there is no "abs/data/snare.wav" file), instead we > have to write "../data/snare.wav" relative to the abstraction and not the > parent patch. > > A common solution to deal with that is to add [ggee/getdir 1] inside the > abstraction, to get the absolute path of the file starting from the upper > level (parent patch). But if the abstraction is inside another abstraction, > it has to be [ggee/getdir 2] and so on ... But how find the right depths of > the abstraction ? The abstraction doesn't know his context of use. > > I think I will put a [ggee/getdir 10] or greater to be sure to get the parent > patch level, but maybe someone has another solution, a vanilla solution ? > > > Related PR : > https://github.com/pure-data/pure-data/pull/150 > > > + > j. > > > > _______________________________________________ [email protected] mailing > list UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
