On 15/07/12 David Robillard <[email protected]> wrote: >On Fri, 2012-07-13 at 15:57 +0100, James Morris wrote: >> Hi, >> >> My sampler app has Non Session Mangement implemented but is currently >> still referring to external files by their original path. >> >> I want to use the symlink method as discussed fairly extensively here >> but I'd like to know if there is any recommended strategy for naming >> the symlink of a sample. >> >> It could so happen that as far as the filesystem is concerned the >> only discerning uniqueness between two samples is in the path (ie >> kit1/snare1.wav and kit2/snare1.wav). >> >> >> I've come up with three possible solutions to this (in my current >> order of preference): >> >> >> 1) symlink-to-sample created in a subdir named using a hash* of the >> full path to external file >> >> 2) painstakingly re-create the full path within the session dir and >> add the symlink into that. >> >> 3) some horrible text manipulation of the full path (ie replace / >> with _) that is bound to fail. >> >> >> * J. Liles mentioned SHA1 here: >> http://linuxaudio.org/mailarchive/lad/2012/3/30/189343 >> >> Are there other/better options or disagreements about (1) being a >> good choice over the other options I've presented? > >I just used the original name of the file, with a number added for >uniqueness if necessary (which is very seldom the case). It works and >is much more human-friendly and straightforward than the above options. >A "make this path unique by sticking a number on the end of it" >function turns out to be pretty useful anyway. > >Of course, you need to actually check for existence of files to create >it, which might be a problem in some cases (though not any I've >encountered), but anything that assumes a mapping based on the current >path is a unique identifier for a particular file's contents is bound >to fail anyway.
Well I spent what time I had free over the weekend implementing the first option. I did take a look beforehand to see what NON-Daw did (it does what you recommend), but disliked how it didn't check for an existing symlink pointing to the file it was creating a new symlink for. I decided checking existence of one directory to be easier than examing each symlink in a directory to see where it points. However I'd not be surprised if these benefits were outweighed by other costs. james. > >-dr > _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
