diff --git a/browserCommands/src/main/java/edu/regis/universeplayer/data/Album.java b/browserCommands/src/main/java/edu/regis/universeplayer/data/Album.java index 95cc224..2a6196d 100644 --- a/browserCommands/src/main/java/edu/regis/universeplayer/data/Album.java +++ b/browserCommands/src/main/java/edu/regis/universeplayer/data/Album.java @@ -74,9 +74,27 @@ public class Album implements Comparable, Serializable @Override public String toString() { - return "Album{" + - "name='" + name + '\'' + - ", artists=" + Arrays.toString(artists) + - '}'; + StringBuilder builder = new StringBuilder(); + builder.append('"'); + builder.append(this.name); + builder.append('"'); + if (this.artists != null && this.artists.length > 0) + { + builder.append(" by "); + builder.append(this.artists[0]); + if (this.artists.length > 1) + { + for (int i = 1; i < this.artists.length; i++) + { + builder.append(", "); + builder.append(this.artists[i]); + } + } + } + return builder.toString(); +// return "Album{" + +// "name='" + name + '\'' + +// ", artists=" + Arrays.toString(artists) + +// '}'; } } diff --git a/browserCommands/src/main/java/edu/regis/universeplayer/data/InternetSong.java b/browserCommands/src/main/java/edu/regis/universeplayer/data/InternetSong.java index f7a275c..f5db85b 100644 --- a/browserCommands/src/main/java/edu/regis/universeplayer/data/InternetSong.java +++ b/browserCommands/src/main/java/edu/regis/universeplayer/data/InternetSong.java @@ -73,15 +73,4 @@ public class InternetSong extends Song } return compare; } - - @Override - public String toString() - { - return "Song{" + - "title='" + title + '\'' + - ", artists=" + Arrays.toString(artists) + - ", album=" + album + - ", url=" + location + - '}'; - } } diff --git a/browserCommands/src/main/java/edu/regis/universeplayer/data/LocalSong.java b/browserCommands/src/main/java/edu/regis/universeplayer/data/LocalSong.java index 825690d..a475833 100644 --- a/browserCommands/src/main/java/edu/regis/universeplayer/data/LocalSong.java +++ b/browserCommands/src/main/java/edu/regis/universeplayer/data/LocalSong.java @@ -68,15 +68,4 @@ public class LocalSong extends Song } return compare; } - - @Override - public String toString() - { - return "Song{" + - "title='" + title + '\'' + - ", artists=" + Arrays.toString(artists) + - ", album=" + album + - ", url=" + file.getAbsolutePath() + - '}'; - } } diff --git a/browserCommands/src/main/java/edu/regis/universeplayer/data/Song.java b/browserCommands/src/main/java/edu/regis/universeplayer/data/Song.java index f03cd31..c18169f 100644 --- a/browserCommands/src/main/java/edu/regis/universeplayer/data/Song.java +++ b/browserCommands/src/main/java/edu/regis/universeplayer/data/Song.java @@ -99,10 +99,33 @@ public class Song implements Comparable, Serializable @Override public String toString() { - return "Song{" + - "title='" + title + '\'' + - ", artists=" + Arrays.toString(artists) + - ", album=" + album + - '}'; + StringBuilder builder = new StringBuilder(); + builder.append('"'); + builder.append(this.title); + builder.append('"'); + if (this.artists != null && this.artists.length > 0) + { + builder.append(" by "); + builder.append(this.artists[0]); + if (this.artists.length > 1) + { + for (int i = 1; i < this.artists.length; i++) + { + builder.append(", "); + builder.append(this.artists[i]); + } + } + } + if (this.album != null) + { + builder.append(" in "); + builder.append(this.album.name); + } + return builder.toString(); +// return "Song{" + +// "title='" + title + '\'' + +// ", artists=" + Arrays.toString(artists) + +// ", album=" + album + +// '}'; } } diff --git a/interface/src/main/java/edu/regis/universeplayer/PlayerEnvironment.java b/interface/src/main/java/edu/regis/universeplayer/PlayerEnvironment.java index c77c504..97265bd 100644 --- a/interface/src/main/java/edu/regis/universeplayer/PlayerEnvironment.java +++ b/interface/src/main/java/edu/regis/universeplayer/PlayerEnvironment.java @@ -267,7 +267,7 @@ public class PlayerEnvironment .build(); OPTIONS.addOption(play); Option pause = Option.builder().longOpt("pause") - .desc("Starts playback.") + .desc("Pauses playback.") .build(); OPTIONS.addOption(pause); Option toggle = Option.builder("t").longOpt("toggle") @@ -326,7 +326,7 @@ public class PlayerEnvironment { try { - out.println(cmd.toString()); +// out.println(cmd.toString()); for (Option op : cmd.getOptions()) { switch (op.getLongOpt()) @@ -476,18 +476,40 @@ public class PlayerEnvironment .map(Map.Entry::getKey) .collect(Collectors.toList()); Collections.reverse(songs); - out.println("Playing " + songs); + if (!cmd.hasOption("search")) + { + if (songs.size() > 0) + { + out.print("Playing "); + } + } + if (songs.size() > 0) + { + out.print(songs.get(0)); + if (songs.size() > 1) + { + Song song; + ListIterator iter = songs.listIterator(1); + while (iter.hasNext()) + { + song = iter.next(); + if (!cmd.hasOption("search")) + { + out.print("; "); + } + else + { + out.println(); + } + out.print(song.toString()); + } + } + } + out.println(); if (!cmd.hasOption("search")) { Queue.getInstance().addAll(songs); } - else - { - for (Song song : songs) - { - out.println(song); - } - } } } catch (Throwable e) diff --git a/interface/src/main/java/edu/regis/universeplayer/player/PlayerManager.java b/interface/src/main/java/edu/regis/universeplayer/player/PlayerManager.java index ec6f91c..955c435 100644 --- a/interface/src/main/java/edu/regis/universeplayer/player/PlayerManager.java +++ b/interface/src/main/java/edu/regis/universeplayer/player/PlayerManager.java @@ -1,18 +1,5 @@ package edu.regis.universeplayer.player; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.concurrent.CancellationException; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ForkJoinTask; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import javax.swing.JOptionPane; - import edu.regis.universeplayer.AbstractTask; import edu.regis.universeplayer.PlaybackListener; import edu.regis.universeplayer.PlaybackStatus; @@ -21,9 +8,15 @@ import edu.regis.universeplayer.browserCommands.QueryFuture; import edu.regis.universeplayer.data.InternetSong; import edu.regis.universeplayer.data.LocalSong; import edu.regis.universeplayer.data.PlaybackEvent; -import edu.regis.universeplayer.data.Queue; import edu.regis.universeplayer.data.Song; -import edu.regis.universeplayer.gui.Interface; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ForkJoinTask; +import java.util.concurrent.TimeUnit; /** * The PlayerManager serves as the central access point for playing songs of any