package lastfm

  1. Overview
  2. Docs
type source =
  1. | User
  2. | Broadcast
  3. | Recommendation
  4. | Lastfm
  5. | Unknown
type rating =
  1. | Love
  2. | Ban
  3. | Skip
type action =
  1. | NowPlaying
  2. | Submit
type song = {
  1. artist : string;
  2. track : string;
  3. time : float option;
  4. source : source option;
  5. rating : rating option;
  6. length : float option;
  7. album : string option;
  8. trackauth : string option;
  9. tracknumber : int option;
  10. musicbrainzid : string option;
}
type error =
  1. | Http of string
  2. | Banned
  3. | Badauth
  4. | Badtime
  5. | Failed of string
  6. | UnknownError of string
  7. | Success
  8. | Internal of string
  9. | BadData of string
exception Error of error
val string_of_error : error -> string
val base_port : int Stdlib.ref
val base_host : string Stdlib.ref
val get_song : ?time:float -> ?source:source -> ?rating:rating -> ?length:float -> ?album:string -> ?tracknumber:int -> ?musicbrainzid:string -> ?trackauth:string -> artist:string -> track:string -> unit -> song
val check_song : song -> action -> unit
val do_np : ?timeout:float -> ?host:(string * int) -> client -> login -> song -> unit
val do_submit : ?timeout:float -> ?host:(string * int) -> client -> login -> song list -> (error * song) list
val handshake : ?timeout:float -> ?host:(string * int) -> client -> login -> string
val np : ?timeout:float -> string -> song -> unit
val submit : ?timeout:float -> string -> song list -> (error * song) list