hoshimi
    Preparing search index...

    Class Queue

    Class representing a queue. Queue

    Index

    Constructors

    Properties

    current: Track | null = null

    Current track of the queue.

    history: Track[] = []

    Previous tracks of the queue.

    player: Player

    The player instance.

    Tracks of the queue.

    utils: QueueUtils

    The queue utils instance.

    Accessors

    • get size(): number

      Get the track size of the queue.

      Returns number

      The track size of the queue.

      const queue = player.queue;

      console.log(queue.size); // 0
      queue.add(track);

      console.log(queue.size); // 1
      queue.add([track1, track2]);

      console.log(queue.size); // 3
      queue.shift();
      console.log(queue.size); // 2

      queue.clear();
      console.log(queue.size); // 0
    • get totalSize(): number

      Get the total track size of the queue (Includes the current track).

      Returns number

      The total track size of the queue.

      const queue = player.queue;

      console.log(queue.totalSize); // 0
      queue.add(track);

      console.log(queue.totalSize); // 1
      queue.add([track1, track2]);

      console.log(queue.totalSize); // 3
      queue.shift();
      console.log(queue.totalSize); // 2

      queue.clear();
      console.log(queue.totalSize); // 0

    Methods

    • Clear the queue.

      Returns Promise<Queue>

      The queue instance.

      const queue = player.queue;

      console.log(queue.size); // 0
      await queue.add(track);
      await queue.add(track1, track2);

      console.log(queue.size); // 3
      await queue.clear();
      console.log(queue.size); // 0
    • Readonly

      Check if the queue is empty.

      Returns boolean

      True if the queue is empty.

      const queue = player.queue;

      console.log(queue.isEmpty()); // true
      queue.add(track);

      console.log(queue.isEmpty()); // false
      queue.clear();

      console.log(queue.isEmpty()); // true
    • Move a track to a specific position in the queue.

      Parameters

      • track: Track

        The track to move.

      • to: number

        The position to move.

      Returns Promise<Queue>

      The queue instance.

      const queue = player.queue;
      await queue.add(track);
      await queue.add(track1);
      await queue.add(track2);

      console.log(queue.tracks); // [track, track1, track2]
      await queue.move(track1, 0);
      console.log(queue.tracks); // [track1, track, track2]
    • Get the previous track of the queue.

      Parameters

      • Optionalremove: boolean = false

        Whether to remove the track from the previous queue.

      Returns Promise<Track | null>

      The previous track of the queue.

      const queue = player.queue;

      console.log(await queue.previous()); // null
      queue.add(track);
      queue.add(track2);

      console.log(await queue.previous()); // track
      console.log(await queue.previous(true)); // track and remove it from the previous tracks
    • Shuffle the queue.

      Returns Promise<Queue>

      The queue instance.

      const queue = player.queue;

      console.log(queue.size); // 0
      await queue.add(track);
      await queue.add(track1, track2);

      console.log(queue.size); // 3
      console.log(queue.tracks); // [track, track1, track2]

      await queue.shuffle();
      console.log(queue.tracks); // [track2, track, track1]
    • Convert the queue to a JSON object.

      Returns QueueJson

      The queue JSON object.

      const queue = player.queue;
      await queue.add(track);

      console.log(queue.toJSON()); // { tracks: [track], history: [], current: null }
    • Add tracks to the beginning of the queue.

      Parameters

      • ...tracks: Track[]

        The tracks to add.

      Returns Promise<Queue>

      The queue instance.

      const queue = player.queue;

      console.log(queue.size); // 0
      await queue.unshift(track);

      console.log(queue.size); // 1
      await queue.unshift(track1, track2);

      console.log(queue.size); // 3
      console.log(queue.tracks); // [track1, track2, track]