I’d like to have a Storage that is synchronised with the Network Mode database from a single authoratative source which I will call the MASTER. All audio files and their metadata will be maintained on the MASTER. The (human) librarian will keep this storage and the database in sync.
In each of our studios, I wish to maintain a COPY of the MASTER. I can easily create the magic that maintains the coherence between MASTER and the studio COPIES. Assume for this discussion that magic is working.
When an Operator drags an item from the database onto a player or a playlist, I want the audio file to be loaded from the COPY in the studio they are working in. For example, a music item called Dancing Queen, when dragged onto a player in Studio 2, should load the media file from the Studio 2 COPY. It should not load it from the MASTER.
First, set up mAirListDB as usual, with all paths pointing at the network share of the server (UNC paths or mapped drive letter, doesn’t matter).
Then open the config app in studio 2, go to Databases, and edit the database connection. Go to the Storages tab and click the button to retrieve the list of storages. Then double-click the storage to bring up the Storage Redirection dialog. You will find a setting named “Cache Path”. Specify the path of the local sync’d copy here.
When you add a file from the DB library and check its properties, Audio File tab, you will notice that the filename of the local copy appears in the “cache filename” field now.
When the file is opened for playback, mAirList will check the local file first, and only access the server if the file does not exist locally. The benefit is that you can update the copy only once a day or so, and still access “brand new” files directly from the server.
There is another setting, “Backup location”, which does the exact opposite: Try server first, then check backup location. You can even combine backup and cache: First check local cache, then server, then backup.