Re: [Rhythmbox-devel] DBus Interface for database querying



James Livingston wrote:
On Sun, 2005-10-30 at 11:27 +0100, Raphael Slinckx wrote:
That would require something like
search(string, max results) -> (artist, title, uri)*
play(uri) which i beleive already exists.


Artem mentioned the idea of being able to search the Rhythmbox database
with the deskbar applet. I haven't done anything with DBus before, so I
only know the general ideas, but it should definitely be possible.


Well the dbus technical side is not a problem really, i could even do it myself, but it's more a rhythmbox related question: where to put this code, and is rhythmbox shell for example exposing a function that allow searches (rb-shell is where the existing dbus code lives iirc)


The question is what level we should do it at, the simple search you
have above, full RhythmDB queries, or both. The simple search would be a
lot easier to implement, but not anywhere near as powerful as queries.
Perhaps doing the simple searches now, and adding queries later would be
an option.

What are you calling queries vs. simple searches ?

I see two possibilities, either a function that takes a string and put that string in the RB search box and then play. That way, typing "Led zeppelin" would in fact start to play all songs from led zeppelin (all song that contain led zeppelin in the metadata), typing stairway to heaven would play that particular song.. so exactly like the current search function.

The second way is a real search that returns more than one possible result, so typing "led zeppelin" would return "Play albums from led zeppelin" and maybe the 3-4 most played songs from led zeppelin in the database, or albums..

In deskbar it translate either as a static "Listen to xxx" where xxx is any string the user entered just as if he entered in in the RB search box, or as a list of possible matches, "Listen to xxx albums" if xxx is an artist, "Listen to xxx" if xxx is a song", etc..

I don't know which is better, the first one seems easier..

Raf

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]