Git Product home page Git Product logo

cassette's Introduction

Cassette

Build Status

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');
  1. Create a playlist. That's what we're here for, after all.
const playlist = new cassette.Playlist();
  1. 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');
  1. Add some stuff to this new playlist.
playlist.add('some awesome song', [ytService]);
  1. Profit.

Reference

Playlist extends Array

  • constructor(client: Client)

  • loop: boolean whether to loop the playlist at extremeties

  • autoplay: boolean whether to use the last song to find the next song when at the end of the playlist

  • pos: number (readonly) the current 0-based position of the playlist

  • current: Song? (readonly) the current

  • reset(): void reset the playlist's songs and position

  • hasPrev(): boolean whether the playlist is not at the first position

  • prev(): boolean advance the playlist backwards and return whether it was successful

  • hasNext(): boolean whether the playlist is not at the last position

  • next(): Promise<boolean> advance the playlist and return whether it was successful

  • shuffle(): void shuffle the playlist

  • add(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 song

  • type: string (abstract, readonly) the type of the song, based on the service

  • title: string (abstract, readonly) the title of the song

  • trackID: string | number (abstract, readonly) the ID of the song, relative to the service

  • playlistID?: string | number (abstract, readonly) the ID of the playlist this song came from, if any, relative to the service

  • streamURL: string (abstract, readonly) the URL to stream audio from

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.