Multi Library plugin
From SqueezeboxWiki
Contents |
Overview
The standard SqueezeCenter(formerly known as SlimServer) doesn't have any way to divide your SqueezeCenter library into different main sections or sub libraries. The Multi Library tries to make a temporary solution available for this problem until real support is available in SqueezeCenter. The plugin makes it possible to divide your music library into different sub libraries.
Some example where this can be useful:
- Each family member just like to browse his/her own music and not the music of the rest of the family
- You want to limit the music available on the SqueezeBox on the kids room
SqueezeCenter will still scan and contain the full main library, this plugin does not affect the scanning process at all. The plugin runs directly after the scanning and put each scanned music file into the correct sub library. A specific music file can be part of several sub libraries.
Sub libraries can be defined using:
- Directory paths
- Genres
- Artists
- Comment tags
- Lossless/Lossy only
- All excluding/including other sub libraries
To use the sub libraries you will need the Custom Browse plugin, the standard SqueezeCenter Music Library browse menus will still browse the complete library but when using the Custom Browse plugin you can define menus that are limited to a specific sub libraries.
The easiest way to create a new library is from the Multi Libary plugin user interface found under "Extras" in the home page of the web interface.
Installation
- Remove any previous version of Multi Library from the SqueezeCenter Plugins directory if you have manually installed it earlier (this is not needed if you have installed it through Extension Downloader)
- Goto SqueezeCenter Settings/Plugins and select to install Multi Library. You might need to add Erland's repository to see it, see here for more information regarding this: SqueezeCenter_Repositories. If you don't want to install it through Extension Downloader, you can also download it from the download page and manually unzip the new version in the SqueezeCenter Plugins directory
- Please note that earlier versions of this plugin will require you to also install the License Manager plugin.
- Please note that earlier versions of this plugin will require you to purchase a license.
- Optionally Install other plugins that extends Multi Library with more functionality
- Custom Browse plugin (almost a requirement)
- When you have installed everything you might also want to look at
Note!
- More information about how to purchase and activate the commercial license can be found through the License Manager plugin
If you are using SlimServer 6.5 or earlier, you may want to use the old guide instead.
Bugs and new features
The current list of known bugs and wishes for new features can be found here:
If you want to encourage future development of this plugin you should also consider making a donation or purchasing a license
Downloading and sharing library definitions
Multi Library provides a way to download and share library definitions with other users, this is used in a number of different ways:
- The latest version of the builtin library types are always available for download, this means that instead of waiting for a new official release of Multi Library you can download a new library directly after it has been corrected by the developer.
- A user can choose to publish/share a library he has made himself, after publishing this library will be available for download for all other users
When publishing/sharing a library you have the following options
- You can choose to register, the advantage with this is that other users will see that you are the author for the library so you will get some credit for it. It is also a way to make sure that no one else can modify your shared library. You register by selecting on of the "Publish" links and then selecting "Register & Login" in the Multi Library web interface.
- You can choose to publish a library anonymously, this way you don't need to provide any information about yourself but it also means that other persons can update and modify the shared library.
The recommendation is that you register when publishing libraries but its still better that you publish a library anonymously than not publish it at all.
Database structure
The library contents of the libraries defined with the Multi Library plugin is stored in the following database tables:
multilibrary_contributor
Contains information about which contributors/artists that have songs in each library. It represents relation between the multilibrary_libraries and contributors tables and can be joined as:
multilibrary_contributor.contributor=contributors.id and multilibrary_contributor.library=multilibrary_libraries.id
multilibrary_album
Contains information about which albums that have songs in each library. It represents the relation between the multilibrary_libraries and albums tables and can be joined as:
multilibrary_album.album=albums.id and multilibrary_album.library=multilibrary_libraries.id
multilibrary_genre
Contains information about which genres that have songs in each library. It represents the relation between the multilibrary_libraries and genres tables and can be joined as:
multilibrary_genre.genre=genres.id and multilibrary_genre.library=multilibrary_libraries.id
multilibrary_year
Contains information about which years that have songs in each library. It represents the relation between the multilibrary_libraries and years tables and can be joined as:
multilibrary_year.year=years.id and multilibrary_year.library=multilibrary_libraries.id
multilibrary_track
Contains information about which songs that exist in each library. It represents the relation between the multilibrary_libraries and tracks tables and can be joined as:
multilibrary_track.track=tracks.id and multilibrary_track.library=multilibrary_libraries.id
multilibrary_libraries
Contains all the defined libraries with the following attributes:
- id - Unique id for the library, will not change unless you delete the library or its configuration file
- libraryid - A uniqe id of the library in text form, this is basically the library configuration filename without the extension
- name - The name of the library that should be displayed to the user