Compare commits

...

5 Commits

  1. 3
      src/main/java/moe/nekojimi/chords/MusicHandler.java
  2. 16
      src/main/java/moe/nekojimi/chords/Track.java
  3. 6
      src/main/java/moe/nekojimi/chords/TrackPlayer.java
  4. 7
      src/main/java/moe/nekojimi/chords/TrackRequest.java
  5. 4
      src/main/java/moe/nekojimi/chords/commands/QueueCommand.java

@ -105,7 +105,8 @@ public class MusicHandler implements AudioSendHandler, Closeable, Consumer<Track
} catch (UnsupportedAudioFileException | IOException ex)
{
Logger.getLogger(Chords.class.getName()).log(Level.SEVERE, null, ex);
skipTrack();
currentTrack = null;
requestTrack();
} finally
{
}

@ -10,6 +10,9 @@ import com.amihaiemil.eoyaml.YamlMapping;
import com.amihaiemil.eoyaml.YamlSequence;
import com.amihaiemil.eoyaml.YamlSequenceBuilder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@ -25,6 +28,7 @@ public class Track implements Comparable<Track>
private String artist;
private final URL url;
private File location = null;
private InputStream inputStream = null;
private int number;
private List<Format> formats = new ArrayList<>();
@ -136,6 +140,18 @@ public class Track implements Comparable<Track>
this.location = location;
}
public InputStream getInputStream() throws FileNotFoundException
{
if (inputStream == null && location != null)
inputStream = new FileInputStream(location);
return inputStream;
}
public void setInputStream(InputStream inputStream)
{
this.inputStream = inputStream;
}
void delete()
{
if (location != null)

@ -26,7 +26,7 @@ public class TrackPlayer implements Closeable
private static final int DESIRED_BUFFER_SIZE = 3840 * 500;
private static final int MAX_READ_FAILS = 3;
private static final int RETRY_COUNT = 10;
private static final int RETRY_COUNT = 8;
private static final int RETRY_DELAY = 100;
private final CircularByteBuffer audioBuffer = new CircularByteBuffer(3840 * 1024);
@ -43,11 +43,11 @@ public class TrackPlayer implements Closeable
{
try
{
in = AudioSystem.getAudioInputStream(track.getLocation());
in = AudioSystem.getAudioInputStream(track.getInputStream());
decodedFormat = AudioSendHandler.INPUT_FORMAT;
break; // it worked!
} catch (IOException ex)
} catch (Exception ex)
{
try
{

@ -110,7 +110,12 @@ public class TrackRequest implements Comparable<TrackRequest>
public URL getUrl()
{
return url;
if (url != null)
return url;
else if (result != null)
return (result.getLink());
else
return null;
}
public void setUrl(URL url)

@ -36,7 +36,9 @@ public class QueueCommand extends Command
String message = ">>> ";
int i = 1;
final Track currentTrack = bot.getMusicHandler().getCurrentTrack();
Track currentTrack = null;
if (bot.getMusicHandler() != null)
currentTrack = bot.getMusicHandler().getCurrentTrack();
if (currentTrack != null)
message += ":notes: **Now playing: " + currentTrack + "**\n";
else

Loading…
Cancel
Save