diff options
Diffstat (limited to 'src/main/java/audio/TrackScheduler.java')
| -rw-r--r-- | src/main/java/audio/TrackScheduler.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/main/java/audio/TrackScheduler.java b/src/main/java/audio/TrackScheduler.java index 8377e7a..02329c8 100644 --- a/src/main/java/audio/TrackScheduler.java +++ b/src/main/java/audio/TrackScheduler.java @@ -4,6 +4,8 @@ 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 net.dv8tion.jda.api.JDA;
+import net.dv8tion.jda.api.entities.Activity;
import java.util.Collections;
import java.util.List;
@@ -16,12 +18,13 @@ import java.util.concurrent.LinkedBlockingQueue; public class TrackScheduler extends AudioEventAdapter {
public final AudioPlayer player;
public BlockingQueue<AudioTrack> queue;
-
+ public JDA jda;
/**
* @param player The audio player this scheduler uses
*/
- public TrackScheduler(AudioPlayer player) {
+ public TrackScheduler(AudioPlayer player, JDA jda) {
this.player = player;
+ this.jda = jda;
this.queue = new LinkedBlockingQueue<>();
}
@@ -31,24 +34,34 @@ public class TrackScheduler extends AudioEventAdapter { * @param track The track to play or add to queue.
*/
public void queue(AudioTrack track) {
- if (!player.startTrack(track, true)) {
+ //!player.startTrack(track, true)
+ if (player.getPlayingTrack()!= null) {
queue.offer(track);
+ jda.getPresence().setActivity(Activity.playing(player.getPlayingTrack().getInfo().title));
+ }
+ else{
+ player.startTrack(track, true);
+ jda.getPresence().setActivity(Activity.playing(player.getPlayingTrack().getInfo().title));
}
+
}
/**
* Start the next track, stopping the current one if it is playing.
*/
public void nextTrack() {
-
player.startTrack(queue.poll(), false);
+ jda.getPresence().setActivity(Activity.playing(player.getPlayingTrack().getInfo().title));
- }
+ }
+ //TODO: FIGURE OUT HOW TO CHANGE THE STATUS AT THIS PART
@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)
+ jda.getPresence().setActivity(null);
if (endReason.mayStartNext) {
+ jda.getPresence().setActivity(Activity.playing(track.getInfo().title));
nextTrack();
}
}
|
