diff options
Diffstat (limited to 'audio/TrackScheduler.java')
| -rw-r--r-- | audio/TrackScheduler.java | 59 |
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 |
