deck: Updates for the playlist -> playqueue renaming

Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
Anna Schumaker 2014-01-04 11:21:05 -05:00 committed by Anna Schumaker
parent 8e363fe7b2
commit 1d559865c8
6 changed files with 128 additions and 121 deletions

View File

@ -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

View File

@ -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

View File

@ -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 */
};

View File

@ -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 */

View File

@ -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();

View File

@ -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 }