deck: Updates for the playlist -> playqueue renaming
Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
8e363fe7b2
commit
1d559865c8
|
@ -21,7 +21,7 @@ Files:
|
|||
genre.db
|
||||
library.db
|
||||
playlist.db
|
||||
playlists.lst
|
||||
playqueue.lst
|
||||
track.db
|
||||
/usr/bin/
|
||||
ocarina
|
||||
|
@ -896,7 +896,7 @@ Deck: (lib/deck.cpp)
|
|||
|
||||
unsigned int deck :: next();
|
||||
Iterate through the deck until you find a playqueue with the
|
||||
flag PL_ENABLED set. Call next() on this playqueue and return
|
||||
flag PQ_ENABLED set. Call next() on this playqueue and return
|
||||
the result.
|
||||
|
||||
If the playqueue is empty after calling next(), remove it from
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
ocarina/lib/
|
||||
deck.cpp
|
||||
$HOME/.ocarina{-debug}/
|
||||
playlists.lst
|
||||
playqueue.lst
|
||||
|
||||
== Depends ==
|
||||
playqueue
|
||||
|
@ -41,7 +41,7 @@ Deck: (lib/deck.cpp)
|
|||
|
||||
unsigned int deck :: next();
|
||||
Iterate through the deck until you find a playqueue with the
|
||||
flag PL_ENABLED set. Call next() on this playqueue and return
|
||||
flag PQ_ENABLED set. Call next() on this playqueue and return
|
||||
the result.
|
||||
|
||||
If the playqueue is empty after calling next(), remove it from
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#ifndef OCARINA_DECK_H
|
||||
#define OCARINA_DECK_H
|
||||
|
||||
#include <playlist.h>
|
||||
#include <playqueue.h>
|
||||
|
||||
namespace deck
|
||||
{
|
||||
|
@ -12,16 +12,16 @@ namespace deck
|
|||
void read(File &);
|
||||
void write(File &);
|
||||
|
||||
Playlist *create();
|
||||
Playqueue *create();
|
||||
void remove(unsigned int);
|
||||
Playlist *get(unsigned int);
|
||||
Playqueue *get(unsigned int);
|
||||
void move(unsigned int, unsigned int);
|
||||
unsigned int next();
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
#ifdef CONFIG_TEST
|
||||
void reset();
|
||||
void print_info();
|
||||
#endif /* CONFIG_DEBUG */
|
||||
#endif /* CONFIG_TEST */
|
||||
|
||||
};
|
||||
|
||||
|
|
56
lib/deck.cpp
56
lib/deck.cpp
|
@ -6,48 +6,48 @@
|
|||
|
||||
#include <list>
|
||||
|
||||
static std::list<Playlist> playlist_deck;
|
||||
static std::list<Playqueue> playqueue_deck;
|
||||
|
||||
void deck :: read(File &f)
|
||||
{
|
||||
unsigned int num;
|
||||
std::list<Playlist>::iterator it;
|
||||
std::list<Playqueue>::iterator it;
|
||||
|
||||
f >> num;
|
||||
playlist_deck.resize(num);
|
||||
playqueue_deck.resize(num);
|
||||
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++)
|
||||
for (it = playqueue_deck.begin(); it != playqueue_deck.end(); it++)
|
||||
it->read(f);
|
||||
}
|
||||
|
||||
void deck :: write(File &f)
|
||||
{
|
||||
std::list<Playlist>::iterator it;
|
||||
std::list<Playqueue>::iterator it;
|
||||
|
||||
f << playlist_deck.size() << std :: endl;
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++) {
|
||||
f << playqueue_deck.size() << std :: endl;
|
||||
for (it = playqueue_deck.begin(); it != playqueue_deck.end(); it++) {
|
||||
it->write(f);
|
||||
f << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
Playlist *deck :: create()
|
||||
Playqueue *deck :: create()
|
||||
{
|
||||
playlist_deck.push_back(Playlist(PL_ENABLED));
|
||||
return &playlist_deck.back();
|
||||
playqueue_deck.push_back(Playqueue(PQ_ENABLED));
|
||||
return &playqueue_deck.back();
|
||||
}
|
||||
|
||||
void deck :: remove(unsigned int id)
|
||||
{
|
||||
std::list<Playlist>::iterator it = playlist_deck.begin();
|
||||
std::list<Playqueue>::iterator it = playqueue_deck.begin();
|
||||
for (unsigned int i = 0; i < id; i++)
|
||||
it++;
|
||||
playlist_deck.erase(it);
|
||||
playqueue_deck.erase(it);
|
||||
}
|
||||
|
||||
Playlist *deck :: get(unsigned int id)
|
||||
Playqueue *deck :: get(unsigned int id)
|
||||
{
|
||||
std::list<Playlist>::iterator it = playlist_deck.begin();
|
||||
std::list<Playqueue>::iterator it = playqueue_deck.begin();
|
||||
for (unsigned int i = 0; i < id; i++)
|
||||
it++;
|
||||
return &(*it);
|
||||
|
@ -55,10 +55,10 @@ Playlist *deck :: get(unsigned int id)
|
|||
|
||||
void deck :: move(unsigned int old_pos, unsigned int new_pos)
|
||||
{
|
||||
std::list<Playlist>::iterator it_old = playlist_deck.begin();
|
||||
std::list<Playlist>::iterator it_new = playlist_deck.begin();
|
||||
std::list<Playqueue>::iterator it_old = playqueue_deck.begin();
|
||||
std::list<Playqueue>::iterator it_new = playqueue_deck.begin();
|
||||
|
||||
for (unsigned int i = 0; i < playlist_deck.size(); i++) {
|
||||
for (unsigned int i = 0; i < playqueue_deck.size(); i++) {
|
||||
if (i < old_pos)
|
||||
it_old++;
|
||||
if (i < new_pos)
|
||||
|
@ -68,19 +68,19 @@ void deck :: move(unsigned int old_pos, unsigned int new_pos)
|
|||
if (new_pos > old_pos)
|
||||
it_new++;
|
||||
|
||||
playlist_deck.splice(it_new, playlist_deck, it_old);
|
||||
playqueue_deck.splice(it_new, playqueue_deck, it_old);
|
||||
}
|
||||
|
||||
unsigned int deck :: next()
|
||||
{
|
||||
unsigned int id = 0;
|
||||
std::list<Playlist>::iterator it;
|
||||
std::list<Playqueue>::iterator it;
|
||||
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++) {
|
||||
if (it->get_flags() & PL_ENABLED) {
|
||||
for (it = playqueue_deck.begin(); it != playqueue_deck.end(); it++) {
|
||||
if (it->get_flags() & PQ_ENABLED) {
|
||||
id = it->next();
|
||||
if (it->size() == 0)
|
||||
playlist_deck.erase(it);
|
||||
playqueue_deck.erase(it);
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
@ -88,21 +88,21 @@ unsigned int deck :: next()
|
|||
throw -1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
#ifdef CONFIG_TEST
|
||||
void deck :: reset()
|
||||
{
|
||||
playlist_deck.clear();
|
||||
playqueue_deck.clear();
|
||||
}
|
||||
|
||||
void deck :: print_info()
|
||||
{
|
||||
unsigned int i = 0;
|
||||
std::list<Playlist>::iterator it;
|
||||
std::list<Playqueue>::iterator it;
|
||||
|
||||
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++) {
|
||||
print("deck[%u] = Playlist { size = %u, flags = %u }\n",
|
||||
for (it = playqueue_deck.begin(); it != playqueue_deck.end(); it++) {
|
||||
print("deck[%u] = Playqueue { size = %u, flags = %u }\n",
|
||||
i, it->size(), it->get_flags());
|
||||
i++;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_DEBUG */
|
||||
#endif /* CONFIG_TEST */
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
* Copyright 2013 (c) Anna Schumaker.
|
||||
*/
|
||||
#include <deck.h>
|
||||
#include <idle.h>
|
||||
#include <library.h>
|
||||
#include <print.h>
|
||||
|
||||
void test_add_playlist(unsigned int size)
|
||||
{
|
||||
Playlist *plist = deck :: create();
|
||||
Playqueue *pqueue = deck :: create();
|
||||
for (unsigned i = 0; i < size; i++)
|
||||
plist->add(i);
|
||||
pqueue->add(i);
|
||||
}
|
||||
|
||||
/* Test creating a deck of playlists */
|
||||
|
@ -36,11 +38,11 @@ void test_1()
|
|||
/* Get a specific playlist from the deck */
|
||||
void test_2()
|
||||
{
|
||||
Playlist *plist;
|
||||
Playqueue *pqueue;
|
||||
print("Test 2: ");
|
||||
|
||||
plist = deck :: get(3);
|
||||
print("Playlist { size = %u, flags = %u }", plist->size(), plist->get_flags());
|
||||
pqueue = deck :: get(3);
|
||||
print("Playqueue { size = %u, flags = %u }", pqueue->size(), pqueue->get_flags());
|
||||
print("\n\n");
|
||||
}
|
||||
|
||||
|
@ -73,9 +75,9 @@ void test_4()
|
|||
{
|
||||
print("Test 4:\n");
|
||||
|
||||
deck :: get(0)->unset_flag(PL_ENABLED);
|
||||
deck :: get(1)->unset_flag(PL_ENABLED);
|
||||
deck :: get(4)->unset_flag(PL_ENABLED);
|
||||
deck :: get(0)->unset_flag(PQ_ENABLED);
|
||||
deck :: get(1)->unset_flag(PQ_ENABLED);
|
||||
deck :: get(4)->unset_flag(PQ_ENABLED);
|
||||
|
||||
for (unsigned int i = 0; i < 37; i++) {
|
||||
try {
|
||||
|
@ -97,13 +99,13 @@ void test_5()
|
|||
{
|
||||
print("Test 5:\n");
|
||||
|
||||
deck :: get(1)->set_flag(PL_ENABLED);
|
||||
deck :: get(2)->set_flag(PL_ENABLED);
|
||||
deck :: get(2)->set_flag(PL_RANDOM);
|
||||
deck :: get(1)->set_flag(PQ_ENABLED);
|
||||
deck :: get(2)->set_flag(PQ_ENABLED);
|
||||
deck :: get(2)->set_flag(PQ_RANDOM);
|
||||
|
||||
File f("playlist.lst", FILE_TYPE_DATA);
|
||||
File f("playqueue.lst", FILE_TYPE_DATA);
|
||||
|
||||
print("Saving playlist deck\n");
|
||||
print("Saving playqueue deck\n");
|
||||
f.open(OPEN_WRITE);
|
||||
deck :: write(f);
|
||||
f.close();
|
||||
|
@ -112,7 +114,7 @@ void test_5()
|
|||
deck :: reset();
|
||||
deck :: print_info();
|
||||
|
||||
print("Reading back playlist deck\n");
|
||||
print("Reading back playqueue deck\n");
|
||||
f.open(OPEN_READ);
|
||||
deck :: read(f);
|
||||
f.close();
|
||||
|
@ -122,6 +124,11 @@ void test_5()
|
|||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
library :: init();
|
||||
library :: reset();
|
||||
library :: add_path("/tmp/library/0");
|
||||
while (idle :: run_task());
|
||||
|
||||
test_0();
|
||||
test_1();
|
||||
test_2();
|
||||
|
|
|
@ -1,67 +1,67 @@
|
|||
Test 0:
|
||||
deck[0] = Playlist { size = 10, flags = 1 }
|
||||
deck[1] = Playlist { size = 11, flags = 1 }
|
||||
deck[2] = Playlist { size = 12, flags = 1 }
|
||||
deck[3] = Playlist { size = 13, flags = 1 }
|
||||
deck[4] = Playlist { size = 14, flags = 1 }
|
||||
deck[5] = Playlist { size = 15, flags = 1 }
|
||||
deck[6] = Playlist { size = 16, flags = 1 }
|
||||
deck[7] = Playlist { size = 17, flags = 1 }
|
||||
deck[8] = Playlist { size = 18, flags = 1 }
|
||||
deck[9] = Playlist { size = 19, flags = 1 }
|
||||
deck[0] = Playqueue { size = 10, flags = 1 }
|
||||
deck[1] = Playqueue { size = 11, flags = 1 }
|
||||
deck[2] = Playqueue { size = 12, flags = 1 }
|
||||
deck[3] = Playqueue { size = 13, flags = 1 }
|
||||
deck[4] = Playqueue { size = 14, flags = 1 }
|
||||
deck[5] = Playqueue { size = 15, flags = 1 }
|
||||
deck[6] = Playqueue { size = 16, flags = 1 }
|
||||
deck[7] = Playqueue { size = 17, flags = 1 }
|
||||
deck[8] = Playqueue { size = 18, flags = 1 }
|
||||
deck[9] = Playqueue { size = 19, flags = 1 }
|
||||
|
||||
Test 1:
|
||||
deck[0] = Playlist { size = 10, flags = 1 }
|
||||
deck[1] = Playlist { size = 12, flags = 1 }
|
||||
deck[2] = Playlist { size = 14, flags = 1 }
|
||||
deck[3] = Playlist { size = 15, flags = 1 }
|
||||
deck[4] = Playlist { size = 16, flags = 1 }
|
||||
deck[5] = Playlist { size = 19, flags = 1 }
|
||||
deck[0] = Playqueue { size = 10, flags = 1 }
|
||||
deck[1] = Playqueue { size = 12, flags = 1 }
|
||||
deck[2] = Playqueue { size = 14, flags = 1 }
|
||||
deck[3] = Playqueue { size = 15, flags = 1 }
|
||||
deck[4] = Playqueue { size = 16, flags = 1 }
|
||||
deck[5] = Playqueue { size = 19, flags = 1 }
|
||||
|
||||
Test 2: Playlist { size = 15, flags = 1 }
|
||||
Test 2: Playqueue { size = 15, flags = 1 }
|
||||
|
||||
Test 3:
|
||||
deck[0] = Playlist { size = 16, flags = 1 }
|
||||
deck[1] = Playlist { size = 10, flags = 1 }
|
||||
deck[2] = Playlist { size = 12, flags = 1 }
|
||||
deck[3] = Playlist { size = 14, flags = 1 }
|
||||
deck[4] = Playlist { size = 15, flags = 1 }
|
||||
deck[5] = Playlist { size = 19, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 1 }
|
||||
deck[1] = Playqueue { size = 10, flags = 1 }
|
||||
deck[2] = Playqueue { size = 12, flags = 1 }
|
||||
deck[3] = Playqueue { size = 14, flags = 1 }
|
||||
deck[4] = Playqueue { size = 15, flags = 1 }
|
||||
deck[5] = Playqueue { size = 19, flags = 1 }
|
||||
|
||||
deck[0] = Playlist { size = 16, flags = 1 }
|
||||
deck[1] = Playlist { size = 19, flags = 1 }
|
||||
deck[2] = Playlist { size = 10, flags = 1 }
|
||||
deck[3] = Playlist { size = 12, flags = 1 }
|
||||
deck[4] = Playlist { size = 14, flags = 1 }
|
||||
deck[5] = Playlist { size = 15, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 1 }
|
||||
deck[1] = Playqueue { size = 19, flags = 1 }
|
||||
deck[2] = Playqueue { size = 10, flags = 1 }
|
||||
deck[3] = Playqueue { size = 12, flags = 1 }
|
||||
deck[4] = Playqueue { size = 14, flags = 1 }
|
||||
deck[5] = Playqueue { size = 15, flags = 1 }
|
||||
|
||||
deck[0] = Playlist { size = 16, flags = 1 }
|
||||
deck[1] = Playlist { size = 19, flags = 1 }
|
||||
deck[2] = Playlist { size = 12, flags = 1 }
|
||||
deck[3] = Playlist { size = 14, flags = 1 }
|
||||
deck[4] = Playlist { size = 15, flags = 1 }
|
||||
deck[5] = Playlist { size = 10, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 1 }
|
||||
deck[1] = Playqueue { size = 19, flags = 1 }
|
||||
deck[2] = Playqueue { size = 12, flags = 1 }
|
||||
deck[3] = Playqueue { size = 14, flags = 1 }
|
||||
deck[4] = Playqueue { size = 15, flags = 1 }
|
||||
deck[5] = Playqueue { size = 10, flags = 1 }
|
||||
|
||||
deck[0] = Playlist { size = 16, flags = 1 }
|
||||
deck[1] = Playlist { size = 19, flags = 1 }
|
||||
deck[2] = Playlist { size = 12, flags = 1 }
|
||||
deck[3] = Playlist { size = 15, flags = 1 }
|
||||
deck[4] = Playlist { size = 14, flags = 1 }
|
||||
deck[5] = Playlist { size = 10, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 1 }
|
||||
deck[1] = Playqueue { size = 19, flags = 1 }
|
||||
deck[2] = Playqueue { size = 12, flags = 1 }
|
||||
deck[3] = Playqueue { size = 15, flags = 1 }
|
||||
deck[4] = Playqueue { size = 14, flags = 1 }
|
||||
deck[5] = Playqueue { size = 10, flags = 1 }
|
||||
|
||||
deck[0] = Playlist { size = 16, flags = 1 }
|
||||
deck[1] = Playlist { size = 19, flags = 1 }
|
||||
deck[2] = Playlist { size = 12, flags = 1 }
|
||||
deck[3] = Playlist { size = 14, flags = 1 }
|
||||
deck[4] = Playlist { size = 15, flags = 1 }
|
||||
deck[5] = Playlist { size = 10, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 1 }
|
||||
deck[1] = Playqueue { size = 19, flags = 1 }
|
||||
deck[2] = Playqueue { size = 12, flags = 1 }
|
||||
deck[3] = Playqueue { size = 14, flags = 1 }
|
||||
deck[4] = Playqueue { size = 15, flags = 1 }
|
||||
deck[5] = Playqueue { size = 10, flags = 1 }
|
||||
|
||||
deck[0] = Playlist { size = 16, flags = 1 }
|
||||
deck[1] = Playlist { size = 19, flags = 1 }
|
||||
deck[2] = Playlist { size = 12, flags = 1 }
|
||||
deck[3] = Playlist { size = 14, flags = 1 }
|
||||
deck[4] = Playlist { size = 15, flags = 1 }
|
||||
deck[5] = Playlist { size = 10, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 1 }
|
||||
deck[1] = Playqueue { size = 19, flags = 1 }
|
||||
deck[2] = Playqueue { size = 12, flags = 1 }
|
||||
deck[3] = Playqueue { size = 14, flags = 1 }
|
||||
deck[4] = Playqueue { size = 15, flags = 1 }
|
||||
deck[5] = Playqueue { size = 10, flags = 1 }
|
||||
|
||||
Test 4:
|
||||
Playing id: 0
|
||||
|
@ -76,11 +76,11 @@ Playing id: 8
|
|||
Playing id: 9
|
||||
Playing id: 10
|
||||
Playing id: 11
|
||||
deck[0] = Playlist { size = 16, flags = 0 }
|
||||
deck[1] = Playlist { size = 19, flags = 0 }
|
||||
deck[2] = Playlist { size = 14, flags = 1 }
|
||||
deck[3] = Playlist { size = 15, flags = 0 }
|
||||
deck[4] = Playlist { size = 10, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 0 }
|
||||
deck[1] = Playqueue { size = 19, flags = 0 }
|
||||
deck[2] = Playqueue { size = 14, flags = 1 }
|
||||
deck[3] = Playqueue { size = 15, flags = 0 }
|
||||
deck[4] = Playqueue { size = 10, flags = 1 }
|
||||
Playing id: 0
|
||||
Playing id: 1
|
||||
Playing id: 2
|
||||
|
@ -95,10 +95,10 @@ Playing id: 10
|
|||
Playing id: 11
|
||||
Playing id: 12
|
||||
Playing id: 13
|
||||
deck[0] = Playlist { size = 16, flags = 0 }
|
||||
deck[1] = Playlist { size = 19, flags = 0 }
|
||||
deck[2] = Playlist { size = 15, flags = 0 }
|
||||
deck[3] = Playlist { size = 10, flags = 1 }
|
||||
deck[0] = Playqueue { size = 16, flags = 0 }
|
||||
deck[1] = Playqueue { size = 19, flags = 0 }
|
||||
deck[2] = Playqueue { size = 15, flags = 0 }
|
||||
deck[3] = Playqueue { size = 10, flags = 1 }
|
||||
Playing id: 0
|
||||
Playing id: 1
|
||||
Playing id: 2
|
||||
|
@ -110,14 +110,14 @@ Playing id: 7
|
|||
Playing id: 8
|
||||
Playing id: 9
|
||||
No playable tracks!
|
||||
deck[0] = Playlist { size = 16, flags = 0 }
|
||||
deck[1] = Playlist { size = 19, flags = 0 }
|
||||
deck[2] = Playlist { size = 15, flags = 0 }
|
||||
deck[0] = Playqueue { size = 16, flags = 0 }
|
||||
deck[1] = Playqueue { size = 19, flags = 0 }
|
||||
deck[2] = Playqueue { size = 15, flags = 0 }
|
||||
|
||||
Test 5:
|
||||
Saving playlist deck
|
||||
Saving playqueue deck
|
||||
Clearing deck
|
||||
Reading back playlist deck
|
||||
deck[0] = Playlist { size = 16, flags = 0 }
|
||||
deck[1] = Playlist { size = 19, flags = 1 }
|
||||
deck[2] = Playlist { size = 15, flags = 3 }
|
||||
Reading back playqueue deck
|
||||
deck[0] = Playqueue { size = 16, flags = 0 }
|
||||
deck[1] = Playqueue { size = 19, flags = 1 }
|
||||
deck[2] = Playqueue { size = 15, flags = 3 }
|
||||
|
|
Loading…
Reference in New Issue