2009-11-19, 17:03
As I'm looking more and more into having XBMC be the only front-end to my HTPC and have it simply be a 'box' that people use with a remote, I'm finding that my music needs are becoming an issue. Based on other threads I've seen, there's much discussion and debate on potential ways to fix the playlist/queue/etc. issues surrounding music. Based on developer suggestions for people to propose a flow/methodology for music, I came up with the following.
Specifics Functions/States Required:
Additional Navigation:
I've used systems similar to the above and found that the work and are intuitive to use from the outset. Obviously, there are a bunch of more in depth options that could be done, but I think this is a good overview of a basic navigation scheme that addresses what I've seen as most issues.
Additionally, having a now playing queue will provide a method to easily integrate with 'Smart Playlist' type applications (i.e. MusicIP, the Apple iTunes Genius thing, etc.)
Also, note, that half of this might be in XBMC already at this point. I haven't used the music navigation in awhile because of the difficulties I had with it and inability to generate a smart-list quickly (I need to integrate MusicIP still).
Looking forward to discussion and thoughts, particularly from devs.
Specifics Functions/States Required:
- Two button functions will be required for navigation - which I will call 'Play' and 'Select' for ease of description.
- One toggleable state will be needed, controled via skin, remote button, setup or another means.
- Queue Toggle: Controls if the selected item is immediately played or queued into the current play queue.
- Queue Toggle: Controls if the selected item is immediately played or queued into the current play queue.
- Two Queues will be necessary:
- Now Playing Queue: Queue containing items selected when Queue toggle is set to Queue selected items. This queue is not cleared unless modified or cleared via commands.
- Insta-Play Queue: Queue containing items selected when Queue toggle is set to immediately play selected items. Upon completion, this queue always shifts to the Now Playing Queue and continues playing music from there. The Insta-Play queue is overwritten whenever an item is selected for insta-play.
- Now Playing Queue: Queue containing items selected when Queue toggle is set to Queue selected items. This queue is not cleared unless modified or cleared via commands.
- If item IS NOT a music file (or can be IS a folder/heirarchy (i.e. genre, artist, etc):
- Select will enter the item (ex. enter the sub-folder).
- Play will queue or immediately play (depending on Queue toggle state) every music file found below that level (i.e. all music in a genre, all items under an artist, or all items under an album).
- Select will enter the item (ex. enter the sub-folder).
- If item IS a music file:
- Select AND Play will queue or immediately play (depending on Queue toggle state) every music file found below that level (i.e. all music in a genre, all items under an artist, or all items under an album).
- Select AND Play will queue or immediately play (depending on Queue toggle state) every music file found below that level (i.e. all music in a genre, all items under an artist, or all items under an album).
Additional Navigation:
- Now Playing: Now playing will require an additional commands to display queue or view queue - most likely via entry into another screen. The playlist editor can be used for this as it is now, with the Now Playing queue acting as the default playlist that appears unless another is loaded.
Possible Commands- Load: Loads a playlist into the Now Playing Queue
- Random: Shuffles the Now Playing Queue
- Save: Save the Now Playing Queue as a Playlist
- Play From: Select a song in this screen and the playlist moves the now playing song to this song and continues from there.
- Load: Loads a playlist into the Now Playing Queue
I've used systems similar to the above and found that the work and are intuitive to use from the outset. Obviously, there are a bunch of more in depth options that could be done, but I think this is a good overview of a basic navigation scheme that addresses what I've seen as most issues.
Additionally, having a now playing queue will provide a method to easily integrate with 'Smart Playlist' type applications (i.e. MusicIP, the Apple iTunes Genius thing, etc.)
Also, note, that half of this might be in XBMC already at this point. I haven't used the music navigation in awhile because of the difficulties I had with it and inability to generate a smart-list quickly (I need to integrate MusicIP still).
Looking forward to discussion and thoughts, particularly from devs.