Module Collection.MusicSource

Operations on musics

Sourceval add : t -> SkhcDb.Database.t -> ?music_old:SkhcDb.MusicFile.t -> compilation:bool -> string -> SkhcMetadata.Metadata.t -> (SkhcDb.MusicFile.t, Sqlite3.Rc.t * string) result

add collection database ?music_old ~compilation path metadata adds the song located at path with metadata to db. add reads metadata to create or find artists and albums. compilation indicates whether the song is part of a compilation album.

if music_old, add updates music_old.

see SkhcDb.MusicFile.insert for more explainations on music_old.

raise Unix.Unix_error if Unix.stat fails with path.

Sourceval remove : t -> SkhcDb.Database.t -> SkhcDb.MusicFile.t -> (unit, Sqlite3.Rc.t * string) result

remove collection database musicfile removes musicfile from the database. The file in the filesystem is untouched.

Sourceval path : t -> SkhcDb.MusicFile.t -> string

path collection music returns the full path of music.

scrobble collection database music_file increases play_count by one, set played_at to Unix.time () and call SkhcDb.MusicFile.update

Sourceval set_rating : t -> SkhcDb.Database.t -> SkhcDb.MusicFile.t -> int option -> (SkhcDb.MusicFile.t, Sqlite3.Rc.t * string) result

set_rating collection database music rating sets music rating to rating. if SkhcDb.MusicFile.rating music = rating, returns music as is. Otherwise, call SkhcDb.MusicFile.update.

set_flag collection database music_file sets flag to true. if music_file has already flag set to true, this functions returns music_file as is. Otherwise, it calls SkhcDb.MusicFile.update.

unset_flag collection database music_file sets flag to false. if music_file has already flag set to false, this functions returns music_file as is. Otherwise, it calls SkhcDb.MusicFile.update.

Sourceval audio : t -> SkhcDb.MusicFile.t -> string

audio collection music_file returns the content of the file pointed by music_file.

raise Sys_error if one of the underlying system calls fails.

find_with_metadata ~compilation collection database metadata query tries to find a music within database which has metadata matching metadata with query.

  • since 0.3.0