aboutsummaryrefslogtreecommitdiffstats
path: root/audio/TrackScheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'audio/TrackScheduler.java')
-rw-r--r--audio/TrackScheduler.java59
1 files changed, 0 insertions, 59 deletions
diff --git a/audio/TrackScheduler.java b/audio/TrackScheduler.java
deleted file mode 100644
index 8377e7a..0000000
--- a/audio/TrackScheduler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package audio;
-
-import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
-import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter;
-import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
-import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- * This class schedules tracks for the audio player. It contains the queue of tracks.
- */
-public class TrackScheduler extends AudioEventAdapter {
- public final AudioPlayer player;
- public BlockingQueue<AudioTrack> queue;
-
- /**
- * @param player The audio player this scheduler uses
- */
- public TrackScheduler(AudioPlayer player) {
- this.player = player;
- this.queue = new LinkedBlockingQueue<>();
- }
-
- /**
- * Add the next track to queue or play right away if nothing is in the queue.
- *
- * @param track The track to play or add to queue.
- */
- public void queue(AudioTrack track) {
- if (!player.startTrack(track, true)) {
- queue.offer(track);
- }
- }
-
- /**
- * Start the next track, stopping the current one if it is playing.
- */
- public void nextTrack() {
-
- player.startTrack(queue.poll(), false);
-
- }
-
- @Override
- public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
- // Only start the next track if the end reason is suitable for it (FINISHED or LOAD_FAILED)
- if (endReason.mayStartNext) {
- nextTrack();
- }
- }
- public void shuffle()
- {
- Collections.shuffle((List<?>) queue);
- }
-} \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage