cassette
v3.0.3
Published
An extensible playlist system.
Readme
Cassette
An extensible playlist module designed to make playlist management easy and powerful.
How to use
Assume cassette is imported like so:
const cassette = require('cassette');- Create a playlist. That's what we're here for, after all.
const playlist = new cassette.Playlist();- Create some services. Cassette ships with several, but you can always make your own by implementing
IService.
const ytService = new cassette.YouTubeService('your api key');- Add some stuff to this new playlist.
playlist.add('some awesome song', [ytService]);- Profit.
Reference
Playlist extends Array
constructor(client: Client)loop:
booleanwhether to loop the playlist at extremetiesautoplay:
booleanwhether to use the last song to find the next song when at the end of the playlistpos:
number(readonly) the current 0-based position of the playlistcurrent:
Song?(readonly) the currentreset():
voidreset the playlist's songs and positionhasPrev():
booleanwhether the playlist is not at the first positionprev():
booleanadvance the playlist backwards and return whether it was successfulhasNext():
booleanwhether the playlist is not at the last positionnext():
Promise<boolean>advance the playlist and return whether it was successfulshuffle():
voidshuffle the playlistadd(content: string, services: IService[], options: { position?: number, searchType?: 'song' | 'playlist' }):
Promise<Song[]>add content to the playlist
Song
constructor(service: IService)service:
IService(readonly) the service that loaded this songtype:
string(abstract, readonly) the type of the song, based on the servicetitle:
string(abstract, readonly) the title of the songtrackID:
string | number(abstract, readonly) the ID of the song, relative to the serviceplaylistID?:
string | number(abstract, readonly) the ID of the playlist this song came from, if any, relative to the servicestreamURL:
string(abstract, readonly) the URL to stream audio from
