Ok, so we have three scenarios, all related to having an additional library: * Use case 1: Just-in-case backup for 3rd party equipment. ( Bug #1001299 ) Description: The user has a working Mixxx and a working library and takes his equipment to the place. In case something goes wrong and is not able to use the equipment, the user would have prepared a backup of some files into an usb stick/external drive to use as-is on another Mixxx or 3rd party DJ software. Mixxx role: Let the user specify files to export to another folder or drive. Create a playlist would be a good thing to do too. * Use case 2: Main setup and gig setup ( this bug ) Description: The user has a home setup which uses daily, and an additional setup that is used when going to other places, in order to avoid damaging the main setup or whatever. The user expects to be able to share the same content between those two setups, and so making the transition as much transparent as possible. The user shows interest in dual-direction of information sharing. i.e. changes to cues, loops, ranking and whatnot to be available back to the main system. Mixxx role: Allow the database to be shared between setups. This has different ways to achieve it with different degrees of usability, as described below: - A single database, shared between the setups. The database would be stored on an external drive by default, and this could be connected to either of the setups. Mixxx allows this with the use of --settingsPath. This could be made more user-friendly adding an option to the Library menu similar to "Switch library location", similar in concept to the Eclipse IDE where the user can have different workspaces for different projects. Such option would make Mixxx close itself and relaunch with the provided path (maybe it doesn't need to close, that's up to the implementation details). - A local database + an external database. The idea would be to be able to attach libraries in a similar fashion that we now specify multiple music folders. An option on the library settings page would allow to create an external database and attach this database. Additionally, user could attach or detach a library from the library entry in the library browser as well as from the Library menu. The user would need to visually see the existence of these two libraries in the program so that it can maintain the contents. As an option, the user could select or discard maintaining the waveform analysis with the external database (if space constrained). - Database backup-replication. This setup is still a single database setup. It makes it easier for the user to have a copy of the database for backup, as well as to move it between setups. Mixxx has a local database, but that it has an option to export the whole setup and merge back changes from it. - Crates database. This could be seen as an attachable/detachable library, similar to the case of local database + external database, but in a more volatile way. Again, with the two setups scenarios, the user would prepare a crate and/or playlists for his show and when he's ready, he would export those (including files) to a crates database. This database would then be attachable to the other setup and be usable directly without problems. Once done, it will be detached, and maybe even completely discarded. If statistics or changes need to be get back, then we need the merge functionality from the point 3. I think that's pretty much all the scenarios that we could reasonably think of. Use case 1 is almost ready and for Use case 2, one of the options is ready, although it could be improved. And I would recommend thinking about the sub cases of backup-replication and crates database.