summaryrefslogtreecommitdiff
path: root/tools/playlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/playlist.c')
-rw-r--r--tools/playlist.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/tools/playlist.c b/tools/playlist.c
index e1f7d0d2..80fecdfa 100644
--- a/tools/playlist.c
+++ b/tools/playlist.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: playlist.c,v 1.11 2008-01-10 23:36:06 phelin Exp $
+ * $Id: playlist.c,v 1.12 2008-01-10 23:37:36 phelin Exp $
*
*/
@@ -928,3 +928,28 @@ cString cPlaylist::EscapeMrl(const char *mrl)
return cString((const char*)buf, true);
}
+cString cPlaylist::GetEntry(cPlaylistItem *i, bool isPlaylist, bool isCurrent)
+{
+
+ cString Entry = "";
+ if (*i->Artist && xc.playlist_artist || *i->Album && xc.playlist_album) {
+ Entry = cString::sprintf("%s%s%s%s%s%s(%s%s%s)",
+ isPlaylist ? (isCurrent ? "*" : " ") : "",
+ isPlaylist ? "\t" : " ",
+ xc.playlist_tracknumber ? (*i->Tracknumber ?: "") : "",
+ xc.playlist_tracknumber ? (*i->Tracknumber ? " - " : "") : "",
+ *i->Title,
+ isPlaylist ? "\t" : " ",
+ xc.playlist_artist ? (*i->Artist ?: "") : "",
+ xc.playlist_artist && xc.playlist_album ? (*i->Artist && *i->Album ? ":" : "") : "",
+ xc.playlist_album ? (*i->Album ?: "") : "");
+ } else {
+ Entry = cString::sprintf("%s%s%s%s%s",
+ isPlaylist ? (isCurrent ? "*" : " ") : "",
+ isPlaylist ? "\t" : " ",
+ xc.playlist_tracknumber ? (*i->Tracknumber ?: "") : "",
+ xc.playlist_tracknumber ? (*i->Tracknumber ? " - " : "") : "",
+ *i->Title);
+ }
+ return Entry;
+}