Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Maintaining several libraries in one place (Read 3828 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Maintaining several libraries in one place

Hi.
I'm managing the library for my family (3 persons) for the sake of convenience, because we have a similar interest in music. I'm storing all this on a server, in one single music folder. I introduced a 'library' tag field to distinguish the three libraries. As I said, there's a lot of overlapping between libraries.
Now i want to (semi-?)automatically hardlink each user's library to a separate folder for easy synchronisation with the user's computer.
I manage the library on the server with foobar, so I'd be in favor of a solution within foobar, but if it can be done differently, that's fine too.

The only solution I can think of at the moment is creating a full hardlink copy (link shell extension) of the whole library and deleting the files there that don't belong to a user's library.
I tried solving this with foo_run, but foo_run can't take a list of files and call external application (like ln.exe from link shell extension) for every file in the list, it only calls the application once.

TL;DR Decide by tag if a file should be hardlinked to another folder.

I'm open to completely different approaches, too. Tell me whatever comes to your mind.
BTW the codecs used are mp3, aac, wv and flac (mainly)

edit:
Code: [Select]
X:\music\ (should contain all music)
X:\music_usr1\ (should contain hardlinks to the music in X:\music\ which usr1 has added to his library)
X:\music_usr2\ etc.

Maintaining several libraries in one place

Reply #1
bump
I'll appreciate any input from your side.

Maintaining several libraries in one place

Reply #2
If you want to operate at filesystem level, you might define three different network users and then give read permission to each file of the library to the user(s) it belongs. Every user opens the same share but can read only his/her files.
Can't see a way to automate it, though.
... I live by long distance.

Maintaining several libraries in one place

Reply #3
Thanks, that's a take on my problem I couldn't think of.
Seems I need to think some more, though.

Maintaining several libraries in one place

Reply #4
How is the foobar user tag stored - in the audio file itself as a real tag, or in some separate database?

Maintaining several libraries in one place

Reply #5
Maybe JRiver Media Center offers a solution.

In general you don’t want to have multiple libraries and you don’t want to have them at all if the content has overlaps.
So 1 library on the server.
Clients can sync the local library with the one on the server.
You can define rules like “Display this when User=X”, using your own  “library” tag as a filter.

http://yabb.jriver.com/interact/index.php?topic=70600.0

TheWellTemperedComputer.com

Maintaining several libraries in one place

Reply #6
How is the foobar user tag stored - in the audio file itself as a real tag, or in some separate database?

Real tag.

So 1 library on the server.
Clients can sync the local library with the one on the server.
You can define rules like “Display this when User=X”, using your own  “library” tag as a filter.

I'm already using a similar solution on the server, with foobar and foo_facets. Works well for what I do. Would work on the client side, too. Problem is, I'd rather have this sorted out on the server side. My mother doesn't need my prog-rock collection jamming her netbook -.-
Opt-out while syncing needs to be done by hand, again.

I begin to think that if I need a solution - I have to create it.

Maintaining several libraries in one place

Reply #7
Real tag.
...
I begin to think that if I need a solution - I have to create it.


If you used linux on your server, there are several FUSE-based virtual filesystems solving your problem, such as http://www.pytagsfs.org/Introduction , http://erislabs.net/ianb/projects/id3fs/or older https://gna.org/projects/tagsfs . I have not tested them personally  (I am happy with mp3fs http://khenriks.github.com/mp3fs/ ) though but most likely they will work OK.

Maintaining several libraries in one place

Reply #8
If you used linux on your server, there are several FUSE-based virtual filesystems solving your problem.

This looks promising! Linux? Not yet, but for this, a VM should suffice. I need to take a look into this.
As so often, I expect them to reach their limits with wv+embedded cue of which I have a lot.

Maintaining several libraries in one place

Reply #9
This looks promising! Linux? Not yet, but for this, a VM should suffice. I need to take a look into this.


Probably the performance will suffer, but if I understand correctly performance of your tag-filtered filesystem is not critical.

As so often, I expect them to reach their limits with wv+embedded cue of which I have a lot.


I would be surprised if those filesystems supported wv, at least they do not specify this format. Is splitting them to flacs eventually viable?

 

Maintaining several libraries in one place

Reply #10
For the cost of some disk drive space, it's probably simplest to just duplicate the common files in each library. Then you don't have to worry about tagging or specific application support. Give the other two users read/write permission only to their own library. If you rip a new CD, copy the files to each library. If they don't want them they can delete them.