diff --git a/src/main/java/com/bbn/hadder/audio/TrackManager.java b/src/main/java/com/bbn/hadder/audio/TrackManager.java index b4c1e9a..bb95194 100644 --- a/src/main/java/com/bbn/hadder/audio/TrackManager.java +++ b/src/main/java/com/bbn/hadder/audio/TrackManager.java @@ -19,6 +19,8 @@ public class TrackManager extends AudioEventAdapter { private final AudioPlayer player; private final Queue queue; + private boolean loop = false; + AudioTrack lastTrack; public TrackManager(AudioPlayer player) { this.player = player; @@ -48,7 +50,9 @@ public class TrackManager extends AudioEventAdapter { @Override public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) { Guild g = queue.poll().getAuthor().getGuild(); - if (queue.isEmpty()) { + if (loop) { + player.startTrack(lastTrack.makeClone(), false); + } else if (queue.isEmpty()) { g.getAudioManager().closeAudioConnection(); } else { player.playTrack(queue.element().getTrack()); @@ -67,6 +71,16 @@ public class TrackManager extends AudioEventAdapter { queue.remove(entry); } + public boolean isLoop() + { + return loop; + } + + public void setLoop(boolean repeating) + { + this.loop = repeating; + } + public AudioInfo getTrackInfo(AudioTrack track) { return queue.stream().filter(audioInfo -> audioInfo.getTrack().equals(track)).findFirst().orElse(null); }