Browse By Category
Hi all. I'm kind of new here. I had an idea for a plugin I'm thinking about working on and I'd like to share it with you.
When I want to select something to listen to I like to browse using the remote & squeezbox2. Simply browsing by artist doesn't work for me because my collection has too many of them. Browsing by genre doesn't work for me because as far as I'm concerned most artists do not clearly fit into a single genre. In my mind I associate each artist with multiple categories which could be like genres, time periods, historical significance, whatever. I want to browse through such arbitrary categories that I define.
What I have done to achieved this to a limited extent on my Linux server is to set up directories with artists in them and use symlinks to include artists in multiple "category" directories. Then I simply browse by music folder. However I don't like the fact that this solution results in a lot of redundant entries in the track table and I think the album table as well. Managing a bunch of symlinks isn't fun either, but I suppose I could automate changes.
My idea for a plugin involves supporting a "browse by category" capablilty.
The database would have a "category" table with probably five columns:
- category index
- category name
- index of member category
- index of member artist (relating back to artist table)
- index of member album (relating back to album table)
so that each category could contain categories, artists and albums.
There would have to be a utility for populating the category table, perhaps taking a YAML or similar text file the user would manually edit. Given enough interest, a more user friendly method for updating the table could be developed.
Once the table was in place the "browse by category" plugin would start by listing the contents of "top", a mandatory top level category. The user would then select an item to view its contents. If the selected item was itself a category, it's contents would be displayed. If an artist was selected that artist's albums would be displayed. If an album was selected its tracks would be displayed. If the play button was pressed at any point then all tracks that could be found within that item (be it a category, artist or album) by drilling down recursively would be set to the playlist.