v3.0.0-alpha.0
Pre-release
Pre-release
·
68 commits
to master
since this release
Breaking changes
- Reorganized Redis keys and key types: existing databases should be flushed
listhas been renamed tonext,nphas been replaced with a simpleposindicator, andprevhas been added to keep track of previous songs
- Playlists will no longer advance when the player is stopped using the WebSocket
Additions
Queue#sort(predicate?: (a: string, b: string) => boolean): Promise<number>has been added; does not operate on previous songs; resolves with length of the listQueue#move(from: number, to: number): Promise<string[]>has been added. Moves songs from one position to another by index; supports negative indices to wrap around list.; does not operate on previous songs Resolves with the new list.Queue#shuffle(): Promise<string[]>has been added; resolves with the new list; does not operate on previous songsQueue#clearnow returns a native Promise instead of PromiseLikeQueue#tracksnow returns a native Promise instead of PromiseLikeQueue#nextnow accepts negative numbers to advance the queue in reverseNPtypedef (represents a currently playing track) now will always have track and position properties.QueueStore#redishas been extended to include new custom commandslmove(key: string, from: number, to: number): Promise<string[]>moves elements in a list from one index to anotherloverride(key: string, ...args: any[]): Promise<number>will override a key with new list datalshuffle(key: string, seed: number): Promise<string[]>will shuffle elements of a listmultirpoplpush(source: string, dest: string, count: number): Promise<string[]>will rpoplpush multiple elements
Clientnow has anadvanceBy(queue: Queue, endedTrack: string): numberwhich will be called in any situation where a track is ended and an advancement count has not been provided. This is typically called when a track ends naturally and the queue needs to determine how many tracks to advance.Clientnow accepts anadvanceByproperty in constructor options