summaryrefslogtreecommitdiff
path: root/playlist.h
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-07-03 21:44:27 +0200
committerGravatar waker <wakeroid@gmail.com>2009-07-03 21:44:27 +0200
commitea3c1d9b0351effebcae6925650a0d5060103901 (patch)
tree94756ea3e5662292c1b196cfbdc2f509396a235d /playlist.h
initial proto
Diffstat (limited to 'playlist.h')
-rw-r--r--playlist.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/playlist.h b/playlist.h
new file mode 100644
index 00000000..944230a0
--- /dev/null
+++ b/playlist.h
@@ -0,0 +1,28 @@
+#ifndef __PLAYLIST_H
+#define __PLAYLIST_H
+
+typedef struct playItem_s {
+ char *fname; // full pathname
+ char *displayname; // all required metainfo columns packed in single string, separated with zeroes
+ struct codec_s *codec; // codec to use with this file
+ int tracknum; // used for stuff like sid, nsf, cue (will be ignored by most codecs)
+ float timestart; // start time of cue track, or -1
+ float timeend; // end time of cue track, or -1
+ struct playItem_s *next; // next item in linked list
+ struct playItem_s *prev; // prev item in linked list
+} playItem_t;
+
+extern playItem_t *playlist_head; // head of linked list
+extern playItem_t *playlist_tail; // tail of linked list
+extern playItem_t *playlist_current;
+
+int
+ps_add_file (const char *fname);
+
+int
+ps_add_dir (const char *dirname);
+
+int
+ps_remove (playItem_t *i);
+
+#endif // __PLAYLIST_H