aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/soundchan/TrackScheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/soundchan/TrackScheduler.java')
-rw-r--r--src/main/java/soundchan/TrackScheduler.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/main/java/soundchan/TrackScheduler.java b/src/main/java/soundchan/TrackScheduler.java
index cc68335..cf7b1f8 100644
--- a/src/main/java/soundchan/TrackScheduler.java
+++ b/src/main/java/soundchan/TrackScheduler.java
@@ -46,14 +46,16 @@ public class TrackScheduler extends AudioEventAdapter {
public void playNow(AudioTrack track) {
AudioTrack currenlyPlaying = player.getPlayingTrack();
- AudioTrack cloned = currenlyPlaying.makeClone();
- cloned.setPosition(currenlyPlaying.getPosition());
-
- // Don't re-enqueue if its just a soundclip
- if(!(currenlyPlaying.getInfo().uri.contains(".mp3") || currenlyPlaying.getInfo().uri.contains(".wav")))
- // Re-enqueue the track
- queue.addFirst(cloned);
+ // If something is currently playing, pause it and put it back in the queue
+ if(currenlyPlaying != null) {
+ AudioTrack cloned = currenlyPlaying.makeClone();
+ cloned.setPosition(currenlyPlaying.getPosition());
+ // Don't re-enqueue if its just a soundclip
+ if (!(currenlyPlaying.getInfo().uri.contains(".mp3") || currenlyPlaying.getInfo().uri.contains(".wav")))
+ // Re-enqueue the track
+ queue.addFirst(cloned);
+ }
player.startTrack(track, false);
}