Whoa dude, that are exactly the same ideas i am waiting patiently for! ... And even a lot better ideas ;) Looks like a lot of work, it would create not only "playlist _managing_" but something like the "Media Library" from Winamp3, and then some... An additional feature i'd like to see: a little "What's up next" info somewhere onscreen when playing in shuffle / recursive random mode!
Okay, this was an non-constructive mail, i just wanted to let you now that i totally agree with you ;-) /jan -----Ursprüngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Antti Kivimäki Gesendet: Sonntag, 28. März 2004 15:04 An: [EMAIL PROTECTED] Betreff: [Freevo-devel] Advanced music listening features Hi folks. First of all I'm about to wet my pants because this is my first post to a mailing list ever. I've been running freevo for a couple of months now and I really enjoy it. I don't have a TV-tuner card so I mostly use it to listen to music and watch movies. I'm a hardcore music listener and a complete couch potato so I would like to see some more advanced features in Freevo's music-related functionality. Below are some of my ideas about what to improve and how. It would be great if I got some feedback from you people, especially those who are interested in having this kind of features. I have seen a couple of related posts in this list so I know I'm not alone with my desires: http://sourceforge.net/mailarchive/message.php?msg_id=7116168 http://sourceforge.net/mailarchive/message.php?msg_id=7624799 I woud love to code this stuff myself, even if it takes a year. It's been a very long time since I last did anything with Python but I think I can manage that. However I'm not at all familiar with Freevo's codebase so I would definitely apprecicate it if I could get some pointers on where to start, maybe even some sketches on what kind of entities I should create from these thingies and where in the whole system they should be plugged. These are the typical uses cases I have for listening music: --- - play all songs of an artist - find and play a specific song by its name - create long playlists of specific songs, daily - while listening to some music (playlist), suddenly wanting to hear one or more specific songs and then resume listening to the original playlist - do everything via remote control Playlist support --- - playlists can be saved - - playlists get automatically named by the date & time - - playlist name can be entered with remote control - playlists can be loaded - - extra information about the playlists is shown while browsing them - - - number of items within - - - first or a couple of first items in the list - - it is possible to delete a playlist while browsing them - playlist can be modified - - items can be added to the playlist - - items can be removed from the playlist - - items can be moved inside the playlist - - user gets visual feedback about each modification - - playlist contents can be modified while it is being played - - all modifications can be done with remote control - - all modifications can be done without accessing any menus - playlist history; whenever the current playlist with more than one items is cleared (i.e. pressing play on an item or manually clearing the playlist while editing it), it is automatically saved - - each playlist is stored only once - system has a play-button, pressing which causes the current playlist to be cleared and the currently selected item to be played - system has a play next -button, pressing which adds the currently selected item as the next item in the playlist (i.e. the item will be played after the currently playing song ends) - system has an enqueue-button, pressing which adds the currently selected item as the last item in the playlist - it is possible to play and enqueue single titles - it is possible to play and enqueue contents of a directory recursively Search logic --- In mobile phones there's the T9-system that tries to guess which word the user is typing (using the digit-keys). This is achieved by having a dictionary in the phone's memory and performing searches according to the search pattern the user enters. The user is only required to press one digit per letter, meaning that each keypress may correspond to 3 or 4 different letters and that in general the sequence matches more than just one word. However, the more letters the user enters, the fewer words the combination matches in the dictionary, making 3-4 letters typically enough to find the correct word (at least in Finnish). The search logic described below is a refined version of the T9. A similar logic has already been seen in google's mobile search. For instance, the sequence 3473 translates to the regular expression "[def3] [ghi4][pqrs7][def3]", matching e.g. to the following items (ignoring case): - Artist "{Dire} Straits" - Album "The Unforgettable {Fire}" by U2 - Title "Para{dise}" by Sade In a bit more detailed level, this is how I see the system should work: Let's assume I want to listen to some Dire Straits (yeah I'm a fan) and I'm in main menu. - I press number 3. The display goes into search mode, containing an input box for the search pattern (now containing "3") and a bigger box containing the search results. On top of the bigger box there's an info text saying "more than 100 matches, please refine query" or "waiting for 3 digits" or something. - I press numbers 4 and 7. The numbers appear in the input box, and the info says "87 items". The search results box contains the following stuff: --------------------------- Artist: Dire Straits <--- first item in the list is highlighted ...some more artists Album: Dire Straits (Dire Straits) Album: The Unforgettable Fire (U2) ...some more albums Song: Frankie's First Affair (Sade/Diamond Life) Song: Selfish (Toto/Mindfields) ..and some more songs --------------------------- (instead of the strings "Artist", "Album" and "Song" there could be corresponding icons to indicate the type of the item, to save some valuable screen space) Now, because Dire Straits (as an artist, which I was looking for in this example) is listed first (and is thus highlighted), I could just hit play-button and the system would play everything from Dire Straits. If this wasn't the case, I could navigate the search list with up/down-buttons, find the correct entry and then play it. If there were still too many matches I could just keep hitting more digits and the number of matches would drop and the match list be updated accordingly until I find it convenient to manually browse the list. Depending on the type of the selected item, the system would act differently: - selecting an artist would play/queue everything from the artist - selecting an album would play/queue the album's contents - selecting a song would play/queue that particular song There must be a back-button to erase entered digits & search terms. It is also possible to enter more than just one search term to further narrow down the result list. This would be useful for example when the song that the user is looking for contains only very short and/or common words ("I Love You"). Entering multiple search words is done as follows: - enter the first search term as described above, search results are shown - press OK, ENTER or something... anyway a button is needed for this. Search results remain on the screen - enter the second search term just as the first one. Every keypress removes those results that don't contain both the first and the second search term (the order is not relevant). - keep entering terms until you got a small enough list of matches The user may enter as many search terms as he wishes, however in most cases even just 1 term with 4 digits seems to be enough. Misc/unrefined ideas: - To make searching anywhere near feasible, there will probably have to be a database with proper indexes - The system would probably rely on ID3 tags only, searching with filenames would be messy - If numbers are not used for anything else in the current context, first number press activates the search mode, otherwise a separate button needs to be pressed to activate music search mode. There could also be separate buttons to activate either music or movie search, allowing this mechanism to be used for quick movie launching as well. - While searching, all umlauted, dotted etc characters should match to the "normal" version of those letters (i.e. one of the 26 characters, a-z). - It should be possible to select whether the user wants to search only the song, album or artist database. This could be achieved by either initiating the search with a special button ("search song", "search album", "search artist") or perhaps by configuring the default search mode. - Only a maximum of one keypress must be required at any time to reach the mode where a search pattern can be entered. - Using the search database could be optional, but usage without it would be extremely slow. - Constructing the search database could be done automatically in the background and started as a low-priority process when the system starts. If the user tries to enter the search-feature while the database is being built, an error dialogue should be shown (with an approximation of how much work is still to be done?). - If the initial search would produce more than a predefined maximum number of matches (e.g. 100 = something that is not easily browsable on the UI) the UI could show a status-message somewhere on the screen asking the user to enter more digits or search patterns - Number of search results with the current terms should be visible on the screen at all times to give the user a hint on whether he has entered enough information or not. - Rough estimation of database hard disk consumption: TODO: design database structure first - It should be possible to have songs in multiple directories for one artist. The system should treat them as belonging to the same artist. - The list of matching song titles must also contain information about the album & artist: many artists have songs with the same name, also the same song from an artist may appear on multiple albums of him (different versions or just duplicates, but we don't know that) - Button "go to current artist/album(/folder?)"; when listening to music in shuffle mode you often remember a specific song from the same artist that is playing and you want to play that song next. - TODO: how can it be implemented that while in shuffle mode you choose "play next" for a song, meaning that the selected song would play next, but after that the player would resume the shuffle mode. What if multiple tracks are enqueued with "play next"? Some sort of an intelligent playlist format with nested lists would probably be needed. -- Antti Kivimäki ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=ick _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel