module type Radio_t =sig..end
This is the type of the Radio API.
API for using lastfm radios
No protocol documentation avaible for now...
typetrack =(string * string) list * string
Type for track datas
A track is a list of "field","value" metadatas and an uri
type error =
| |
Http of |
| |
Auth of |
| |
Adjust of |
| |
Playlist |
| |
Empty |
Various errors
exception Error of error
val string_of_error : error -> stringGet meaning of Error e
val base_host : string Stdlib.refBase host. Default: "ext.last.fm"
val get : ?timeout:float -> string -> track listget uri performs whole process and
outputs a list of metadatas,uri
from given lastfm uri.
This function cannot handle well multiple anonymous requests.
If you plan to play simultaneously several anonymous radios, you better use the advanced API to keep track of every opened session.
Using this API you shall call:
Then you can use any of the following:
After each of those calls, you shall use *only* one of the songs from the playlist.
The module will cache session informations and avoid redundant requests, so you might always call init and adjust.
If you call playlist, and anything went bad,
you have to call clear to remove cached data
about this session.
In any case you may also give another try,
in case of inconsistent cached session data.
See get source for details
val parse : string -> Lastfm_generic.login * string * string optionparse uri parse the given lastfm:// uri
returns login,station,options
val init : ?timeout:float -> Lastfm_generic.login -> stringinit login initiate lastfm session
Returns the session id
val adjust : ?timeout:float -> string -> string -> (string * string) listadjust id station adjusts lastfm station
for given session ID
Returns a list of (variable,value) as returned by the server. Contains settings for adjusted radio.
val playlist : ?timeout:float -> string -> string option -> stringplaylist id returns the raw xml content of the playlist
val tracks : ?timeout:float ->
string -> string option -> track listtracks id
returns a list of metadatas,uri
val clear : string -> unitclear id closes and clear all
informations about the given session ID