libsaria: Don't store the library in the playlist deck
This makes some of the deck code easier, since I don't need to check for static playlists anymore. Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
parent
5b86536af3
commit
7f52d81d12
|
@ -151,7 +151,6 @@ namespace libsaria
|
|||
|
||||
app::mkdir("library");
|
||||
next_id = schedule_load();
|
||||
deck::push_back(&lib_playlist);
|
||||
|
||||
task = new IdleCallback(restore_current);
|
||||
task->queue();
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
using namespace std;
|
||||
|
||||
static unsigned int max_playlists = 10;
|
||||
static unsigned int num_static = 0;
|
||||
static void (*on_new_playlist)(libsaria::Playlist *) = NULL;
|
||||
|
||||
static AutoPauseType pause_type;
|
||||
|
@ -32,21 +31,22 @@ static void renumber_playlists()
|
|||
list<libsaria::Playlist *>::iterator it;
|
||||
int n = 0;
|
||||
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++) {
|
||||
if (!(*it)->is_static())
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++)
|
||||
(*it)->renumber(n++);
|
||||
}
|
||||
}
|
||||
|
||||
libsaria::Playlist *find_nth_plist(unsigned int n)
|
||||
{
|
||||
list<libsaria::Playlist *>::iterator it;
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++) {
|
||||
if ((*it)->get_number() == n)
|
||||
return (*it);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
if (n >= playlist_deck.size())
|
||||
return NULL;
|
||||
|
||||
it = playlist_deck.begin();
|
||||
for (unsigned int i = 0; i < n; i++)
|
||||
it++;
|
||||
|
||||
return *it;
|
||||
}
|
||||
|
||||
static void check_pause()
|
||||
|
@ -73,22 +73,20 @@ namespace libsaria
|
|||
|
||||
void deck::push_back(Playlist *plist)
|
||||
{
|
||||
list<libsaria::Playlist *>::iterator it;
|
||||
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++) {
|
||||
if ((*it)->is_static()) {
|
||||
playlist_deck.insert(it, plist);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
playlist_deck.push_back(plist);
|
||||
}
|
||||
|
||||
void deck::next()
|
||||
{
|
||||
Playlist *plist = playlist_deck.front();
|
||||
Track *track = plist->next();
|
||||
Playlist *plist;
|
||||
Track *track;
|
||||
|
||||
if (playlist_deck.size() == 0)
|
||||
plist = library::get_playlist();
|
||||
else
|
||||
plist = playlist_deck.front();
|
||||
|
||||
track = plist->next();
|
||||
if (track) {
|
||||
track->play_now();
|
||||
list_recent_track(track);
|
||||
|
@ -120,7 +118,7 @@ namespace libsaria
|
|||
{
|
||||
Playlist *plist;
|
||||
|
||||
if ((playlist_deck.size() - num_static) == max_playlists)
|
||||
if (playlist_deck.size() == max_playlists)
|
||||
return;
|
||||
|
||||
switch (type) {
|
||||
|
@ -148,7 +146,6 @@ namespace libsaria
|
|||
void deck::init()
|
||||
{
|
||||
app::mkdir("playlist");
|
||||
push_back(&recent_plist);
|
||||
}
|
||||
|
||||
Playlist *deck::get_recent_plist()
|
||||
|
|
Loading…
Reference in New Issue