cassette
v3.0.3
Published
An extensible playlist system.
Downloads
221
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:
boolean
whether to loop the playlist at extremetiesautoplay:
boolean
whether 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():
void
reset the playlist's songs and positionhasPrev():
boolean
whether the playlist is not at the first positionprev():
boolean
advance the playlist backwards and return whether it was successfulhasNext():
boolean
whether the playlist is not at the last positionnext():
Promise<boolean>
advance the playlist and return whether it was successfulshuffle():
void
shuffle 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