/* This file is part of Subsonic. Subsonic is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Subsonic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Subsonic. If not, see <http://www.gnu.org/licenses/>. Copyright 2009 (C) Sindre Mehus */ package net.sourceforge.subsonic.ajax; import java.util.List; /** * The playlist of a player. * * @author Sindre Mehus */ public class PlaylistInfo { private final List<Entry> entries; private final int index; private final boolean stopEnabled; private final boolean repeatEnabled; private final boolean sendM3U; private final float gain; // jcduss : VLC remote player private final String vlcPlaylistOperation; // jcduss : VLC remote player : added vlcPlaylistOperation public PlaylistInfo(List<Entry> entries, int index, boolean stopEnabled, boolean repeatEnabled, boolean sendM3U, float gain, String vlcPlaylistOperation) { this.entries = entries; this.index = index; this.stopEnabled = stopEnabled; this.repeatEnabled = repeatEnabled; this.sendM3U = sendM3U; this.gain = gain; // jcduss : VLC remote player this.vlcPlaylistOperation = vlcPlaylistOperation; } // jcduss : VLC remote player public String getVlcPlaylistOperation() { return vlcPlaylistOperation; } public List<Entry> getEntries() { return entries; } public int getIndex() { return index; } public boolean isStopEnabled() { return stopEnabled; } public boolean isSendM3U() { return sendM3U; } public boolean isRepeatEnabled() { return repeatEnabled; } public float getGain() { return gain; } public static class Entry { private final Integer trackNumber; private final String title; private final String artist; private final String album; private final String genre; private final Integer year; private final String bitRate; private final Integer duration; private final String durationAsString; private final String format; private final String contentType; private final String fileSize; private final String albumUrl; private final String streamUrl; public Entry(Integer trackNumber, String title, String artist, String album, String genre, Integer year, String bitRate, Integer duration, String durationAsString, String format, String contentType, String fileSize, String albumUrl, String streamUrl) { this.trackNumber = trackNumber; this.title = title; this.artist = artist; this.album = album; this.genre = genre; this.year = year; this.bitRate = bitRate; this.duration = duration; this.durationAsString = durationAsString; this.format = format; this.contentType = contentType; this.fileSize = fileSize; this.albumUrl = albumUrl; this.streamUrl = streamUrl; } public Integer getTrackNumber() { return trackNumber; } public String getTitle() { return title; } public String getArtist() { return artist; } public String getAlbum() { return album; } public String getGenre() { return genre; } public Integer getYear() { return year; } public String getBitRate() { return bitRate; } public String getDurationAsString() { return durationAsString; } public Integer getDuration() { return duration; } public String getFormat() { return format; } public String getContentType() { return contentType; } public String getFileSize() { return fileSize; } public String getAlbumUrl() { return albumUrl; } public String getStreamUrl() { return streamUrl; } } }