Makes some modifications to console output.

This should hopefully make things easier to parse for the end user.
This commit is contained in:
Markil3
2021-10-31 16:00:14 -06:00
parent 66d803e301
commit 8022104373
6 changed files with 90 additions and 56 deletions

View File

@@ -74,9 +74,27 @@ public class Album implements Comparable<Album>, Serializable
@Override @Override
public String toString() public String toString()
{ {
return "Album{" + StringBuilder builder = new StringBuilder();
"name='" + name + '\'' + builder.append('"');
", artists=" + Arrays.toString(artists) + 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) +
// '}';
} }
} }

View File

@@ -73,15 +73,4 @@ public class InternetSong extends Song
} }
return compare; return compare;
} }
@Override
public String toString()
{
return "Song{" +
"title='" + title + '\'' +
", artists=" + Arrays.toString(artists) +
", album=" + album +
", url=" + location +
'}';
}
} }

View File

@@ -68,15 +68,4 @@ public class LocalSong extends Song
} }
return compare; return compare;
} }
@Override
public String toString()
{
return "Song{" +
"title='" + title + '\'' +
", artists=" + Arrays.toString(artists) +
", album=" + album +
", url=" + file.getAbsolutePath() +
'}';
}
} }

View File

@@ -99,10 +99,33 @@ public class Song implements Comparable<Song>, Serializable
@Override @Override
public String toString() public String toString()
{ {
return "Song{" + StringBuilder builder = new StringBuilder();
"title='" + title + '\'' + builder.append('"');
", artists=" + Arrays.toString(artists) + builder.append(this.title);
", album=" + album + 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 +
// '}';
} }
} }

View File

@@ -267,7 +267,7 @@ public class PlayerEnvironment
.build(); .build();
OPTIONS.addOption(play); OPTIONS.addOption(play);
Option pause = Option.builder().longOpt("pause") Option pause = Option.builder().longOpt("pause")
.desc("Starts playback.") .desc("Pauses playback.")
.build(); .build();
OPTIONS.addOption(pause); OPTIONS.addOption(pause);
Option toggle = Option.builder("t").longOpt("toggle") Option toggle = Option.builder("t").longOpt("toggle")
@@ -326,7 +326,7 @@ public class PlayerEnvironment
{ {
try try
{ {
out.println(cmd.toString()); // out.println(cmd.toString());
for (Option op : cmd.getOptions()) for (Option op : cmd.getOptions())
{ {
switch (op.getLongOpt()) switch (op.getLongOpt())
@@ -476,17 +476,39 @@ public class PlayerEnvironment
.map(Map.Entry::getKey) .map(Map.Entry::getKey)
.collect(Collectors.toList()); .collect(Collectors.toList());
Collections.reverse(songs); Collections.reverse(songs);
out.println("Playing " + songs);
if (!cmd.hasOption("search")) if (!cmd.hasOption("search"))
{ {
Queue.getInstance().addAll(songs); if (songs.size() > 0)
{
out.print("Playing ");
}
}
if (songs.size() > 0)
{
out.print(songs.get(0));
if (songs.size() > 1)
{
Song song;
ListIterator<Song> iter = songs.listIterator(1);
while (iter.hasNext())
{
song = iter.next();
if (!cmd.hasOption("search"))
{
out.print("; ");
} }
else else
{ {
for (Song song : songs) out.println();
{
out.println(song);
} }
out.print(song.toString());
}
}
}
out.println();
if (!cmd.hasOption("search"))
{
Queue.getInstance().addAll(songs);
} }
} }
} }

View File

@@ -1,18 +1,5 @@
package edu.regis.universeplayer.player; 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.AbstractTask;
import edu.regis.universeplayer.PlaybackListener; import edu.regis.universeplayer.PlaybackListener;
import edu.regis.universeplayer.PlaybackStatus; 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.InternetSong;
import edu.regis.universeplayer.data.LocalSong; import edu.regis.universeplayer.data.LocalSong;
import edu.regis.universeplayer.data.PlaybackEvent; import edu.regis.universeplayer.data.PlaybackEvent;
import edu.regis.universeplayer.data.Queue;
import edu.regis.universeplayer.data.Song; 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 * The PlayerManager serves as the central access point for playing songs of any