diff options
author | waker <wakeroid@gmail.com> | 2009-08-22 11:49:45 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2009-08-22 11:49:45 +0200 |
commit | 1646c6b35ab4c0c767a7bfde29b85d5c1ef467f0 (patch) | |
tree | 73fd7ead91bcd3a8f6e084fdfc3eddd08ab1d072 /playlist.h | |
parent | b45b4ea9220681d4e6f177da33b0ac948534ebaa (diff) |
new shuffle (faster)
Diffstat (limited to 'playlist.h')
-rw-r--r-- | playlist.h | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -24,10 +24,9 @@ typedef struct metaInfo_s { struct metaInfo_s *next; } metaInfo_t; -#define PL_MAX_ITERATORS 3 +#define PL_MAX_ITERATORS 2 #define PL_MAIN 0 #define PL_SEARCH 1 -#define PL_SHUFFLE 2 typedef struct playItem_s { char *fname; // full pathname @@ -38,11 +37,13 @@ typedef struct playItem_s { float duration; // in seconds int startoffset; // offset to seek to skip tags and info-headers (mp3) int endoffset; // offset from end of file where music data ends (mp3) + int shufflerating; // sort order for shuffle mode const char *filetype; // e.g. MP3 or OGG struct playItem_s *next[PL_MAX_ITERATORS]; // next item in linked list struct playItem_s *prev[PL_MAX_ITERATORS]; // prev item in linked list struct metaInfo_s *meta; // linked list storing metainfo unsigned selected : 1; + unsigned played : 1; // mark as played in shuffle mode } playItem_t; extern playItem_t *playlist_head[PL_MAX_ITERATORS]; // head of linked list @@ -143,9 +144,6 @@ void pl_select_all (void); void -pl_shuffle_item (playItem_t *it, int cnt); - -void -pl_reshuffle (void); +pl_reshuffle (playItem_t **ppmin, playItem_t **ppmax); #endif // __PLAYLIST_H |