Examples
Here are a few quick examples to get you started using JavaSlimServer. Check out the javadocs
page for full documentation.
To create a SlimServer object:
public void createSlimServer() {
int cliPort = 9090;
int webPort = 9000;
try {
SlimServer ss = new SlimServer("hostname", cliPort, webPort);
System.out.println("is connected:" + ss.isConnected());
} catch (SlimConnectionException ex) {
System.out.println("There was a problem connecting to SqueezeCenter!");
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
}
}
|
To use the Slim Player:
public void createPlayer(SlimServer ss) {
List<SlimPlayer> players = new ArrayList<SlimPlayer>(ss.getSlimPlayers());
System.out.println("Here are the players:");
for (SlimPlayer player : players) {
System.out.println("\t" + player.getName());
}
SlimPlayer player = players.get(0);
System.out.println("Id:" + player.getId());
System.out.println("Ip:" + player.getIp());
System.out.println("Name:" + player.getName());
System.out.println("Elapsed time:" + player.getElapsedTime());
}
|
To use the Slim Playlist:
public void createPlaylist(SlimServer ss, SlimPlayer player) {
try {
SlimPlaylist playlist = ss.getSlimPlaylist(player);
SlimDatabase database = new SlimDatabase(ss);
List<SlimArtist> artists = new ArrayList<SlimArtist>(database.searchArtists("Metallica"));
List<SlimSong> songs = new ArrayList<SlimSong>(database.listSongsForArtist(artists.get(0)));
playlist.addSong(songs.get(0));
} catch (SlimConnectionException ex) {
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
} catch (SlimDatabaseException ex) {
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
} catch (SlimException ex) {
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
}
}
|
To use the stand alone monitor:
public class Examples implements ConnectionChangeListener,
PlayerChangeListener,
PlaylistChangeListener,
SlimErrorListener,
TrackPositionChangeListener,
VolumeChangeListener {
public void createStandAloneMonitor(SlimPlayer player) {
SlimStandAloneMonitor ssm;
try {
ssm = new SlimStandAloneMonitor(player, 1000);
ssm.addConnectionChangeListener(this);
ssm.addPlayerChangeListener(this);
ssm.addPlaylistChangeListener(this);
ssm.addSlimErrorListener(this);
ssm.addTrackPositionChangeListener(this);
ssm.addVolumeChangeListener(this);
} catch (SlimException ex) {
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void connectionChangeEventReceived(ConnectionChangeEvent event) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void playerChanged(PlayerChangeEvent event) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void playlistChanged(PlaylistChangeEvent event) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void errorEventReceived(SlimErrorEvent event) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void trackPositionChanged(TrackPositionChangeEvent event) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void volumeChanged(VolumeChangeEvent event) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
|
To use the Slim database:
public void createDatabase(SlimServer ss) {
try {
SlimDatabase database = new SlimDatabase(ss);
List<SlimArtist> artists = new ArrayList<SlimArtist>(database.getArtists());
System.out.println("Artists:");
for (SlimArtist artist : artists) {
System.out.println("\t" + artist);
}
List<SlimAlbum> albums = new ArrayList<SlimAlbum>(database.getAlbums());
System.out.println("Albums:");
for (SlimAlbum album : albums) {
System.out.println("\t" + album);
}
List<SlimArtist> artistList = new ArrayList<SlimArtist>(database.searchArtists("Buckethead"));
List<SlimSong> songs = new ArrayList<SlimSong>(database.listSongsForArtist(artistList.get(0)));
System.out.println("Songs by Buckethead:");
for (SlimSong song : songs) {
System.out.println("\t" + song);
}
} catch (SlimConnectionException ex) {
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
} catch (SlimDatabaseException ex) {
Logger.getLogger(Examples.class.getName()).log(Level.SEVERE, null, ex);
}
}
|
Code formatting generated using Java2html
|