Skip to main content

Interface: Application

Properties

networkRequest

networkRequest: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>

Type declaration

▸ (input, init?): Promise<Response>

Make a networkRequest from parent AudioGata frame rather from plugin frame.

Parameters
NameType
inputRequestInfo | URL
init?RequestInit
Returns

Promise<Response>

Methods

addPlaylists

addPlaylists(playlists): Promise<void>

Adds or updates playlists. Playlists with the same id are updated.

Parameters

NameType
playlistsPlaylist[]

Returns

Promise<void>


addTracksToPlaylist

addTracksToPlaylist(playlistId, tracks): Promise<void>

Adds tracks to a playlist

Parameters

NameTypeDescription
playlistIdstringid of playlist
tracksTrack[]Tracks being added to playlist

Returns

Promise<void>


createNotification

createNotification(notification): Promise<void>

Show user a notification on the bottom left of the screen

Parameters

NameType
notificationNotificationMessage

Returns

Promise<void>


endTrack

endTrack(): Promise<void>

When plugin is acting as an embedded player, used to signal that the track has end.

Returns

Promise<void>


getCorsProxy

getCorsProxy(): Promise<undefined | string>

Get cors proxy configured in settings.

Returns

Promise<undefined | string>


getLocale

getLocale(): Promise<string>

Get locale configured in settings.

Returns

Promise<string>


getNowPlayingTracks

getNowPlayingTracks(): Promise<Track[]>

Get the user's Now Plyaing Queue track list;

Returns

Promise<Track[]>


getPlaylists

getPlaylists(): Promise<Playlist[]>

Get the user's current playlists including tracks.

Returns

Promise<Playlist[]>


getPlaylistsInfo

getPlaylistsInfo(): Promise<PlaylistInfo[]>

Get the users's current playlists metadata without tracks.

Returns

Promise<PlaylistInfo[]>


getPluginId

getPluginId(): Promise<string>

Get the current plugin's id.

Returns

Promise<string>


getPlugins

getPlugins(): Promise<PluginInfo[]>

Get user's currently installed plugins.

Returns

Promise<PluginInfo[]>


getTheme

getTheme(): Promise<Theme>

Returns the user's current theme

Returns

Promise<Theme>


installPlugins

installPlugins(plugins): Promise<void>

Open user dialog for user to optionally install plugins

Parameters

NameType
pluginsPluginInfo[]

Returns

Promise<void>


isNetworkRequestCorsDisabled

isNetworkRequestCorsDisabled(): Promise<boolean>

Used to determine whether requests from networkRequest are restricted by CORs.

Returns

Promise<boolean>


onCanParseUrl

Optional onCanParseUrl(url, type): Promise<boolean>

Callback method that checks to see if url can be parsed by plugin so that onLookupPlaylistUrl returns results

Parameters

NameType
urlstring
typeParseUrlType

Returns

Promise<boolean>


onChangeTheme

onChangeTheme(theme): Promise<void>

Callback method that is called after a users changes theme

Parameters

NameType
themeTheme

Returns

Promise<void>


onDeepLinkMessage

Optional onDeepLinkMessage(message): Promise<void>

Callback method to return deep link messages in mobile

Parameters

NameType
messagestring

Returns

Promise<void>


onGetAlbumTracks

Optional onGetAlbumTracks(request): Promise<AlbumTracksResult>

Callback method that gets an albums's tracks. Used on /plugins/:pluginId/albums/:apiId

Parameters

NameType
requestAlbumTrackRequest

Returns

Promise<AlbumTracksResult>


onGetArtistAlbums

Optional onGetArtistAlbums(request): Promise<ArtistAlbumsResult>

Callback method that gets an artists's albums. Used on /plugins/:pluginId/artists/:apiId

Parameters

NameType
requestArtistAlbumRequest

Returns

Promise<ArtistAlbumsResult>


onGetLyrics

onGetLyrics(request): Promise<GetLyricsResponse>

Callback method to get lyrics based on a track's name and artist name

Parameters

NameType
requestGetLyricsRequest

Returns

Promise<GetLyricsResponse>


onGetPlaylistTracks

Optional onGetPlaylistTracks(request): Promise<PlaylistTracksResult>

Callback method that gets a playlist's tracks. Used on /plugins/:pluginId/playlists/:apiId

Parameters

NameType
requestPlaylistTrackRequest

Returns

Promise<PlaylistTracksResult>


onGetSearchSuggestions

onGetSearchSuggestions(request): Promise<string[]>

Callback method that returns search suggestions when a query is typed in the search bar

Parameters

NameType
requestGetSearchSuggestionsRequest

Returns

Promise<string[]>


onGetTopItems

Optional onGetTopItems(): Promise<SearchAllResult>

Callback method to return items to display on Home page.

Returns

Promise<SearchAllResult>


onGetTrack

Optional onGetTrack(request): Promise<Track>

Callback method to get track information. Used on /track/:id

Parameters

NameType
requestGetTrackRequest

Returns

Promise<Track>


onGetTrackUrl

Optional onGetTrackUrl(request): Promise<string>

Callback method to get track url. Must be set to play track if onPlay is not set.

Parameters

NameType
requestGetTrackUrlRequest

Returns

Promise<string>

Url to play


onGetUserPlaylists

Optional onGetUserPlaylists(request): Promise<SearchPlaylistResult>

Callback method that gets user playlists. Used on /plugins/:pluginId/playlists

Parameters

NameType
requestUserPlaylistRequest

Returns

Promise<SearchPlaylistResult>


onLookupPlaylistUrl

Optional onLookupPlaylistUrl(url): Promise<Playlist>

Callback method that takes a url and returns a playlist. Used on the /playlists page.

Parameters

NameType
urlstring

Returns

Promise<Playlist>


onLookupTrack

onLookupTrack(request): Promise<Track>

Callback method to lookup up track based on track information. It is used to convert tracks to use a different plugin.

Parameters

NameType
requestLookupTrackRequest

Returns

Promise<Track>


onLookupTrackUrls

Optional onLookupTrackUrls(urls): Promise<Track[]>

Callback method that takes urls and returns tracks.

Parameters

NameType
urlsstring[]

Returns

Promise<Track[]>


onNowPlayingTracksAdded

Optional onNowPlayingTracksAdded(tracks): Promise<void>

Callback method to detect when new tracks got added to Now Playing queue

Parameters

NameTypeDescription
tracksTrack[]Tracks that got added to queue

Returns

Promise<void>


onNowPlayingTracksChanged

Optional onNowPlayingTracksChanged(tracks): Promise<void>

Callback method to detect when tracks got changed in the Now Playing queue

Parameters

NameTypeDescription
tracksTrack[]Tracks that were changed in the queue

Returns

Promise<void>


onNowPlayingTracksRemoved

Optional onNowPlayingTracksRemoved(tracks): Promise<void>

Callback method to detect when tracks got removed from Now Playing queue

Parameters

NameTypeDescription
tracksTrack[]Tracks that got removed to queue

Returns

Promise<void>


onNowPlayingTracksSet

Optional onNowPlayingTracksSet(tracks): Promise<void>

Callback method to detect when there is a new tracklist in the Now Playing queue

Parameters

NameTypeDescription
tracksTrack[]Current track list

Returns

Promise<void>


onPause

Optional onPause(): Promise<void>

Callback method to pause embedded player

Returns

Promise<void>


onPlay

Optional onPlay(track): Promise<void>

Callback method to play the track using an embedded player in the plugin.

Parameters

NameTypeDescription
trackPlayTrackRequestThe Track to play

Returns

Promise<void>


onResume

Optional onResume(): Promise<void>

Callback method to resume embedded player

Returns

Promise<void>


onSearchAlbums

Optional onSearchAlbums(request): Promise<SearchAlbumResult>

Callback method to return album search results on /search

Remarks

This method must be set for album pagination to work on the /search page

Parameters

NameType
requestSearchRequest

Returns

Promise<SearchAlbumResult>


onSearchAll

Optional onSearchAll(request): Promise<SearchAllResult>

Callback method to return search results on /search

Remarks

This method must be set for the plugin to show on the /search page

Parameters

NameType
requestSearchRequest

Returns

Promise<SearchAllResult>


onSearchArtists

Optional onSearchArtists(request): Promise<SearchArtistResult>

Callback method to return artist search results on /search

Remarks

This method must be set for artist pagination to work on the /search page

Parameters

NameType
requestSearchRequest

Returns

Promise<SearchArtistResult>


onSearchPlaylists

Optional onSearchPlaylists(request): Promise<SearchPlaylistResult>

Callback method to return playlist search results on /search

Remarks

This method must be set for playlist pagination to work on the /search page

Parameters

NameType
requestSearchRequest

Returns

Promise<SearchPlaylistResult>


onSearchTracks

Optional onSearchTracks(request): Promise<SearchTrackResult>

Callback method to return track search results on /search

Remarks

This method must be set for track pagination to work on the /search page

Parameters

NameType
requestSearchRequest

Returns

Promise<SearchTrackResult>


onSeek

Optional onSeek(time): Promise<void>

Callback method to seek time in the embedded player

Parameters

NameTypeDescription
timenumberTime in seconds

Returns

Promise<void>


onSetPlaybackRate

Optional onSetPlaybackRate(rate): Promise<void>

Callback method to set the playback rate of the embedded player

Parameters

NameTypeDescription
ratenumberPercent of rate normal play rate. min 0, max 200.

Returns

Promise<void>


onSetVolume

Optional onSetVolume(volume): Promise<void>

Callback method to set volume of embedded player

Parameters

NameTypeDescription
volumenumberVolume of player. 1 is 100% volume. 0.5 is 50%. min 0, max 1

Returns

Promise<void>


onUiMessage

Optional onUiMessage(message): void

Callback method that receives parent.postMessage requests from UI frames.

Parameters

NameType
messageany

Returns

void


postUiMessage

postUiMessage(msg): Promise<void>

Sends a message to ui frames like options set in manifest.json.

Parameters

NameType
msgany

Returns

Promise<void>


setNowPlayingTracks

setNowPlayingTracks(tracks): Promise<void>

Set the user's Now Playing Queue track list;

Parameters

NameType
tracksTrack[]

Returns

Promise<void>


setTrackTime

setTrackTime(currentTime): Promise<void>

When plugin is acting as an embedded player, used to show user current track time.

Parameters

NameType
currentTimenumber

Returns

Promise<void>