2013-12-22 22:21:19 -05:00
|
|
|
/*
|
|
|
|
* Copyright 2013 (c) Anna Schumaker.
|
|
|
|
*/
|
|
|
|
#ifndef OCARINA_DECK_H
|
|
|
|
#define OCARINA_DECK_H
|
|
|
|
|
2014-06-05 10:19:22 -04:00
|
|
|
#include <core/queue.h>
|
2014-05-26 22:20:07 -04:00
|
|
|
#include <list>
|
2013-12-22 22:21:19 -05:00
|
|
|
|
2014-05-31 09:09:44 -04:00
|
|
|
|
|
|
|
class TempQueue : public Queue
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
TempQueue();
|
|
|
|
TempQueue(bool random);
|
|
|
|
|
|
|
|
void set_flag(queue_flags);
|
|
|
|
void unset_flag(queue_flags);
|
|
|
|
|
|
|
|
unsigned int add(Track *);
|
|
|
|
void del(Track *);
|
|
|
|
void del(unsigned int);
|
|
|
|
|
|
|
|
void sort(sort_t, bool);
|
|
|
|
};
|
|
|
|
|
2013-12-22 22:21:19 -05:00
|
|
|
namespace deck
|
|
|
|
{
|
|
|
|
|
2014-01-16 22:25:04 -05:00
|
|
|
void init();
|
2014-01-24 21:43:18 -05:00
|
|
|
void write();
|
2013-12-23 10:37:22 -05:00
|
|
|
|
2014-04-01 20:28:19 -04:00
|
|
|
Queue *create(bool);
|
2014-05-26 22:20:07 -04:00
|
|
|
void destroy(Queue *);
|
2014-04-01 20:28:19 -04:00
|
|
|
void move(Queue *, unsigned int);
|
2014-06-05 11:04:55 -04:00
|
|
|
|
2014-05-26 22:20:07 -04:00
|
|
|
unsigned int index(Queue *);
|
2014-06-05 11:04:55 -04:00
|
|
|
Queue *get(unsigned int);
|
2014-05-26 22:20:07 -04:00
|
|
|
|
2014-04-13 12:26:32 -04:00
|
|
|
Track *next();
|
2014-05-26 22:20:07 -04:00
|
|
|
Track *prev();
|
2013-12-22 22:21:19 -05:00
|
|
|
|
2014-05-31 09:09:44 -04:00
|
|
|
std::list<TempQueue> &get_queues();
|
2014-05-26 22:20:07 -04:00
|
|
|
Queue *get_queue();
|
2013-12-22 22:21:19 -05:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* OCARINA_DECK_H */
|