Rocksky.Library (Rocksky v0.7.0)

Copy Markdown View Source

Ergonomic wrappers for the authenticated app.rocksky.library.* API — the Subsonic/navidrome-compatible surface over a user's uploaded music.

Build a client once with new/2 and pass it to every call — the access token is bound in the client, not repeated per call:

lib = Rocksky.Library.new(token)
{:ok, genres} = Rocksky.Library.get_genres(lib)
{:ok, song} = Rocksky.Library.get_song(lib, song_id)

Optional params go in an opts map with camelCase string keys. Returns {:ok, value} | {:error, message}.

Summary

Functions

app.rocksky.library.createPlaylist — see new/2.

app.rocksky.library.deleteAlbum — see new/2.

app.rocksky.library.deletePlaylist — see new/2.

app.rocksky.library.deleteSong — see new/2.

app.rocksky.library.getAlbum — see new/2.

app.rocksky.library.getAlbumInfo — see new/2.

app.rocksky.library.getAlbumList — see new/2.

app.rocksky.library.getArtist — see new/2.

app.rocksky.library.getArtistInfo — see new/2.

app.rocksky.library.getArtists — see new/2.

app.rocksky.library.getCoverArtUrl — see new/2.

app.rocksky.library.getDownloadUrl — see new/2.

app.rocksky.library.getGenres — see new/2.

app.rocksky.library.getIndexes — see new/2.

app.rocksky.library.getInternetRadioStations — see new/2.

app.rocksky.library.getLicense — see new/2.

app.rocksky.library.getLyrics — see new/2.

app.rocksky.library.getMusicDirectory — see new/2.

app.rocksky.library.getMusicFolders — see new/2.

app.rocksky.library.getNowPlaying — see new/2.

app.rocksky.library.getPlayQueue — see new/2.

app.rocksky.library.getPlaylist — see new/2.

app.rocksky.library.getPlaylists — see new/2.

app.rocksky.library.getRandomSongs — see new/2.

app.rocksky.library.getScanStatus — see new/2.

app.rocksky.library.getSimilarSongs — see new/2.

app.rocksky.library.getSong — see new/2.

app.rocksky.library.getSongsByGenre — see new/2.

app.rocksky.library.getStarred — see new/2.

app.rocksky.library.getStreamUrl — see new/2.

app.rocksky.library.getTopSongs — see new/2.

app.rocksky.library.getUser — see new/2.

Build a library client bound to a (required) access token.

app.rocksky.library.ping — see new/2.

app.rocksky.library.savePlayQueue — see new/2.

app.rocksky.library.scrobble — see new/2.

app.rocksky.library.search — see new/2.

app.rocksky.library.star — see new/2.

app.rocksky.library.startScan — see new/2.

app.rocksky.library.unstar — see new/2.

app.rocksky.library.updateNowPlaying — see new/2.

app.rocksky.library.updatePlaylist — see new/2.

Functions

create_playlist(client, name)

app.rocksky.library.createPlaylist — see new/2.

delete_album(client, id)

app.rocksky.library.deleteAlbum — see new/2.

delete_playlist(client, id)

app.rocksky.library.deletePlaylist — see new/2.

delete_song(client, id)

app.rocksky.library.deleteSong — see new/2.

get_album(client, id)

app.rocksky.library.getAlbum — see new/2.

get_album_info(client, id)

app.rocksky.library.getAlbumInfo — see new/2.

get_album_list(client, type, opts \\ %{})

app.rocksky.library.getAlbumList — see new/2.

get_artist(client, id)

app.rocksky.library.getArtist — see new/2.

get_artist_info(client, id)

app.rocksky.library.getArtistInfo — see new/2.

get_artists(client)

app.rocksky.library.getArtists — see new/2.

get_cover_art_url(client, id, opts \\ %{})

app.rocksky.library.getCoverArtUrl — see new/2.

get_download_url(client, id)

app.rocksky.library.getDownloadUrl — see new/2.

get_genres(client)

app.rocksky.library.getGenres — see new/2.

get_indexes(client)

app.rocksky.library.getIndexes — see new/2.

get_internet_radio_stations(client)

app.rocksky.library.getInternetRadioStations — see new/2.

get_license(client)

app.rocksky.library.getLicense — see new/2.

get_lyrics(client, opts \\ %{})

app.rocksky.library.getLyrics — see new/2.

get_music_directory(client, id)

app.rocksky.library.getMusicDirectory — see new/2.

get_music_folders(client)

app.rocksky.library.getMusicFolders — see new/2.

get_now_playing(client)

app.rocksky.library.getNowPlaying — see new/2.

get_play_queue(client)

app.rocksky.library.getPlayQueue — see new/2.

get_playlist(client, id)

app.rocksky.library.getPlaylist — see new/2.

get_playlists(client)

app.rocksky.library.getPlaylists — see new/2.

get_random_songs(client, opts \\ %{})

app.rocksky.library.getRandomSongs — see new/2.

get_scan_status(client)

app.rocksky.library.getScanStatus — see new/2.

get_similar_songs(client, id, opts \\ %{})

app.rocksky.library.getSimilarSongs — see new/2.

get_song(client, id)

app.rocksky.library.getSong — see new/2.

get_songs_by_genre(client, genre, opts \\ %{})

app.rocksky.library.getSongsByGenre — see new/2.

get_starred(client)

app.rocksky.library.getStarred — see new/2.

get_stream_url(client, id, opts \\ %{})

app.rocksky.library.getStreamUrl — see new/2.

get_top_songs(client, artist, opts \\ %{})

app.rocksky.library.getTopSongs — see new/2.

get_user(client)

app.rocksky.library.getUser — see new/2.

new(token, base \\ "")

Build a library client bound to a (required) access token.

ping(client)

app.rocksky.library.ping — see new/2.

save_play_queue(client, opts \\ %{})

app.rocksky.library.savePlayQueue — see new/2.

scrobble(client, id, opts \\ %{})

app.rocksky.library.scrobble — see new/2.

search(client, query, opts \\ %{})

app.rocksky.library.search — see new/2.

star(client, id, opts \\ %{})

app.rocksky.library.star — see new/2.

start_scan(client)

app.rocksky.library.startScan — see new/2.

unstar(client, id, opts \\ %{})

app.rocksky.library.unstar — see new/2.

update_now_playing(client, id)

app.rocksky.library.updateNowPlaying — see new/2.

update_playlist(client, playlist_id, opts \\ %{})

app.rocksky.library.updatePlaylist — see new/2.