On Wed, 2005-12-07 at 09:02 +0000, mailing rhythmbox seani justemail net wrote: > 1) Preprocess the list entry before applying the search term. This > involves removing multiple spaces and punctuation, and ignoring case. > > 2) If a search term is composed of several text fragments seperated by > spaces, *all* of the fragments must appear in the list entry text for a > match to occur, but the order is unimportant > > given: > > "The Best Of Some Tedious Band" > "Tedium As A Way to Achieve Some Level of Relaxation" > "Is This The Way to Sleep" > "Time For Bed, Its Three OClock" > > The 1st and 2nd will be matched by "ted som" or "som ted" > > This gives us a loose sort of logical AND. Rhythmbox 0.9.2 does this. All punctuation and word breaks are stripped, and case is ignored. A track will match if each fragment is found in any of Title, Artist, Album and Genre; a track will not match if any of the fragment isn't in one of those. > 3) The pipe character, "|" is used to seperate alternate search terms > (loosely, logical OR) > > This means that, for instance, the search term: > > "ted best | clock" > > would match the 1st and 4th entries. > > "band | way achi | time" > > would match the 1st, 2nd and 4th entries. > > This relatively simple extension seems to work extremely effectively, > and its very easy to implement; split on the pipe and apply each term in > turn. There was a discussion about having more powerful filters available earlier in the year[0]. That suggest more complex searches, allowing you to specify "artist=X or album=Y" and the like. What you're suggesting would be a lot simpler, and fairly trivial to implement. [0]http://mail.gnome.org/archives/rhythmbox-devel/2005-April/msg00041.html > I also have a setting that allows the search term to be applied > automatically if it changes and there is a suitable pause, usually at > about 1.5 seconds. This allows the user to type the term, and when they > stop for breath (or just stop), the list is filtered, but they can carry > on to further refine if need be. Rhythmbox also does this, although the timeout is set to (if I recall correctly) half a second. > Generally lists of up to about 10-15,000 entries can be searched in this > way in a near interactive fashion (given lots of other criteria > concerning memory, processor speed, language etc. that I haven't defined > :)). The cvs version of Rhythmbox has several speed improvements which make this faster than in older versions. Cheers, James "Doc" Livingston -- "This array has no size, and that's bad" -- MPW C error message
Attachment:
signature.asc
Description: This is a digitally signed message part