libsaria: Save queue to disk

I save when IDs are added and when a next track is chosen.
This commit is contained in:
Bryan Schumaker 2011-12-30 20:02:24 -05:00
parent 30c45f608f
commit 11e82cccf1
3 changed files with 21 additions and 0 deletions

View File

@ -21,6 +21,7 @@ namespace libsaria
unsigned int size();
string next_file();
void save();
}
}

18
libsaria/queue/file.cpp Normal file
View File

@ -0,0 +1,18 @@
#include <libsaria/queue.h>
#include "queue.h"
namespace libsaria
{
void queue::save()
{
OutFile out("queue.q");
deque<sid_t>::iterator it;
out << playqueue.size() << "\n";
for (it = playqueue.begin(); it != playqueue.end(); it++)
out << (*it) << "\n";
}
}

View File

@ -25,6 +25,7 @@ namespace libsaria
playqueue.insert(playqueue.end(), ids.begin(), ids.end());
println("Queue size: %d", playqueue.size());
trigger_callback(QUEUE_REFRESH);
save();
}
unsigned int queue::size()
@ -36,6 +37,7 @@ namespace libsaria
{
sid_t inode;
pop_queue(inode);
save();
return library::find_filepath(inode);
}