Loop function

This commit is contained in:
GregTCLTK 2020-01-06 18:38:02 +01:00
parent c687cef65d
commit 4198f1e245
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67

View file

@ -19,6 +19,8 @@ public class TrackManager extends AudioEventAdapter {
private final AudioPlayer player;
private final Queue<AudioInfo> 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);
}