libsaria: Save queue to disk
This will restore the queue the next time ocarina is started up.
This commit is contained in:
parent
8a0922c4a1
commit
d655739b77
|
@ -22,6 +22,7 @@ namespace libsaria
|
|||
string next_file();
|
||||
|
||||
void save();
|
||||
void load();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include <libsaria/path.h>
|
||||
#include <libsaria/prefs.h>
|
||||
#include <libsaria/print.h>
|
||||
#include <libsaria/queue.h>
|
||||
#include <libsaria/library.h>
|
||||
#include <libsaria/format.h>
|
||||
#include <libsaria/index.h>
|
||||
|
@ -21,6 +22,7 @@ namespace libsaria
|
|||
println("saria dir: %s", get_saria_dir().c_str());
|
||||
make_saria_dir();
|
||||
libsaria::library::load();
|
||||
libsaria::queue::load();
|
||||
libsaria::prefs::load();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,36 @@
|
|||
|
||||
#include <libsaria/idle.h>
|
||||
#include <libsaria/callback.h>
|
||||
#include <libsaria/queue.h>
|
||||
#include "queue.h"
|
||||
|
||||
static void do_load()
|
||||
{
|
||||
unsigned int size;
|
||||
sid_t songid;
|
||||
InFile in("queue.q");
|
||||
|
||||
if (!in.good())
|
||||
return;
|
||||
in >> size;
|
||||
|
||||
for (unsigned int i = 0; i < size; i++) {
|
||||
in >> songid;
|
||||
playqueue.push_back(songid);
|
||||
}
|
||||
|
||||
trigger_callback(QUEUE_REFRESH);
|
||||
}
|
||||
|
||||
namespace libsaria
|
||||
{
|
||||
|
||||
void queue::load()
|
||||
{
|
||||
LoadTask *task = new LoadTask(do_load);
|
||||
task->queue();
|
||||
}
|
||||
|
||||
void queue::save()
|
||||
{
|
||||
OutFile out("queue.q");
|
||||
|
|
Loading…
Reference in New Issue