There are lots of music servers/solutions that take a media player, or an existing music library, and serve it to remote clients. Most of them are read-only: you manage the media files on the server itself, and then serve them in a play-only capacity (or play-and-make-your-own-playlists capacity) to users. However, there doesn't seem to be one that allows me to manage the library (tags, file locations, etc) remotely. The common solution to this niche seems to be to set up your media player of choice to target a remote library on a shared folder, but that's insufficient for a few reasons:
- Concurrent accesses (read or write) to the library from multiple "client" media players have a tendency to really mess it up.
- Clients are all, to some degree, platform-specific. Even using Songbird or one of the more religiously cross-platform players as a "client", accessing the library from OSX prevents or mangles subsequent accesses from Windows machines, and vice versa.
As it is, every time I access my shared library, I cross my fingers that I didn't leave a player instance open on another computer somewhere (as that would, at least in iTunes' case, trigger a library file rewrite that invalidates most/all of my files).
My question is this: is there some way to set up a music/media server that supports remote management of the server? Ideally, it would meet these criteria:
- The files themselves stay on the server machine. They can be remotely played, searched, etc. via a standard media player interace. It doesn't have to be as polished as Winamp, but should at least have the standard compliment of features.
- They can be remotely moved (at least relative to the library root on the server), modified, and retagged via clients which access the server. Playlists should also be server-side, and remotely manageable.
- Concurrent access should be handled sensibly, even if "sensibly" is "temporarily lock out all clients whenever someone does a modification". This doesn't need to scale to more than a handful of simultaneous users, so lockouts/disruptions are OK.
- Clients with the ability to connect to, play from, and modify the library need to be available for multiple platforms (at least Windows, standard Linuxes, and OSX). Ideally, standalone/application clients would be used, but I recognize that if such a product exists, it probably has a web UI. That's OK.
- It should be accessible by a standard enough method that I can get to it from anywhere with internet access (having a VPN as a precondition is OK).
I'm capable of wrangling multiple products, hand-configuring web servers, networking, VPN access, and even a little programming, so if there is a way to make this work, it doesn't have to be simple to set up. However, I'm at a loss as to how to do it: most existing solutions I've seen (e.g. subsonic, Tangerine, Firefly Server) seem geared towards the "read only client" model. Basically, I'm hoping to configure a read-write media player that works just as it would (including write/move/update/delete operations) on a local machine with a dedicated library, but backed by an internet-available share of files.