X-Git-Url: https://git.kaliko.me/?p=python-musicpd.git;a=blobdiff_plain;f=README.rst;h=ca91f0eaaaeb5517172b30a5246f117839ef92fb;hp=a926514908ef9fe257a906815416c673f3f870c1;hb=48a0a0132c18a69be36b50bd35a05455e2c19acb;hpb=d28bd57ddc3465db4fcaa540fe7cb3de53f8be6b diff --git a/README.rst b/README.rst index a926514..ca91f0e 100644 --- a/README.rst +++ b/README.rst @@ -54,6 +54,16 @@ Command lists are also supported using `command_list_ok_begin()` and client.status() # insert the status command into the list results = client.command_list_end() # results will be a list with the results +Provide a 2-tuple as argument for command supporting ranges (cf. `MPD protocol documentation`_ for more details):: + + # An intelligent clear + # clears played track in the queue, currentsong included + pos = client.currentsong().get('pos', 0) + # the 2-tuple range object accepts str, no need to convert to int + client.delete((0, pos)) + # missing end interpreted as highest value possible, pay attention still need a tuple. + client.delete((pos,)) # purge queue from current to the end + Commands may also return iterators instead of lists if `iterate` is set to `True`:: @@ -62,6 +72,25 @@ Commands may also return iterators instead of lists if `iterate` is set to for song in client.playlistinfo(): print song['file'] +Each command have a *send\_* and a *fetch\_* variant, which allows to +send a MPD command and then fetch the result later. +This is useful for the idle command:: + + >>> client.send_idle() + # do something else or use function like select() + # http://docs.python.org/howto/sockets.html#non-blocking-sockets + # ex. select([client], [], []) + >>> events = client.fetch_idle() + + # more complex use for example, with glib/gobject: + >>> def callback(source, condition): + >>> changes = client.fetch_idle() + >>> print changes + >>> return False # removes the IO watcher + + >>> client.send_idle() + >>> gobject.io_add_watch(client, gobject.IO_IN, callback) + >>> gobject.MainLoop().run() Contacting authors ------------------