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

Reply via email to