playlist: Create the initial playlist class
Right now it just knows the value of its flags variable. More to come soon! Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
This commit is contained in:
parent
9aa2bc7df1
commit
2d13b74c12
1
config
1
config
|
@ -40,6 +40,7 @@ class Config:
|
||||||
self.GROUP = False
|
self.GROUP = False
|
||||||
self.IDLE = False
|
self.IDLE = False
|
||||||
self.LIBRARY = False
|
self.LIBRARY = False
|
||||||
|
self.PLAYLIST = False
|
||||||
self.TEST = TEST
|
self.TEST = TEST
|
||||||
self.reconfigure()
|
self.reconfigure()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2013 (c) Anna Schumaker.
|
||||||
|
*/
|
||||||
|
#ifndef OCARINA_PLAYLIST_H
|
||||||
|
#define OCARINA_PLAYLIST_H
|
||||||
|
|
||||||
|
enum playlist_flags {
|
||||||
|
PL_ENABLED = (1 << 0),
|
||||||
|
PL_RANDOM = (1 << 1),
|
||||||
|
PL_LOCKED = (1 << 2),
|
||||||
|
};
|
||||||
|
|
||||||
|
class Playlist {
|
||||||
|
private:
|
||||||
|
unsigned int flags;
|
||||||
|
|
||||||
|
public:
|
||||||
|
Playlist(playlist_flags);
|
||||||
|
~Playlist();
|
||||||
|
|
||||||
|
void set_flag(playlist_flags);
|
||||||
|
void unset_flag(playlist_flags);
|
||||||
|
const unsigned int get_flags();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* OCARINA_PLAYLIST_H */
|
|
@ -21,6 +21,7 @@ modules = {
|
||||||
"GROUP" : Module("group.cpp", depends = [ "DATABASE" ]),
|
"GROUP" : Module("group.cpp", depends = [ "DATABASE" ]),
|
||||||
"IDLE" : Module("idle.cpp"),
|
"IDLE" : Module("idle.cpp"),
|
||||||
"LIBRARY" : Module("library.cpp", package = "taglib", depends = [ "DATABASE", "IDLE" ]),
|
"LIBRARY" : Module("library.cpp", package = "taglib", depends = [ "DATABASE", "IDLE" ]),
|
||||||
|
"PLAYLIST" : Module("playlist.cpp", depends = [ "FILE" ]),
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
###########################
|
###########################
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2013 (c) Anna Schumaker.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <playlist.h>
|
||||||
|
|
||||||
|
Playlist :: Playlist(playlist_flags f)
|
||||||
|
: flags(f)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Playlist :: ~Playlist()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Playlist :: set_flag(playlist_flags f)
|
||||||
|
{
|
||||||
|
flags |= f;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Playlist :: unset_flag(playlist_flags f)
|
||||||
|
{
|
||||||
|
flags &= ~f;
|
||||||
|
}
|
||||||
|
|
||||||
|
const unsigned int Playlist :: get_flags()
|
||||||
|
{
|
||||||
|
return flags;
|
||||||
|
}
|
|
@ -57,7 +57,8 @@ rm_test_dir(xdg.BaseDirectory.xdg_data_home);
|
||||||
#
|
#
|
||||||
# Read SConscript files
|
# Read SConscript files
|
||||||
#
|
#
|
||||||
scripts = [ "database", "file", "filter", "group", "idle", "index", "library", "print" ]
|
scripts = [ "database", "file", "filter", "group", "idle", "index", "library",
|
||||||
|
"playlist", "print" ]
|
||||||
for s in scripts:
|
for s in scripts:
|
||||||
CONFIG.reset(TEST = True)
|
CONFIG.reset(TEST = True)
|
||||||
SConscript("%s/Sconscript" % s)
|
SConscript("%s/Sconscript" % s)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
Import("Test", "CONFIG")
|
||||||
|
|
||||||
|
CONFIG.PLAYLIST = True
|
||||||
|
|
||||||
|
Test("playlist", "playlist.cpp")
|
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2013 (c) Anna Schumaker.
|
||||||
|
*/
|
||||||
|
#include <playlist.h>
|
||||||
|
#include <print.h>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
void test_flags(const std :: string &test, Playlist &plist, unsigned int expected)
|
||||||
|
{
|
||||||
|
print("%s: ", test.c_str());
|
||||||
|
if (plist.get_flags() == expected)
|
||||||
|
print("SUCCESS\n");
|
||||||
|
else
|
||||||
|
print("FAILED\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Test flag setting / unsetting / getting */
|
||||||
|
void test_0()
|
||||||
|
{
|
||||||
|
Playlist plist(PL_ENABLED);
|
||||||
|
|
||||||
|
test_flags("0a", plist, PL_ENABLED);
|
||||||
|
plist.set_flag(PL_RANDOM);
|
||||||
|
test_flags("0b", plist, PL_ENABLED | PL_RANDOM);
|
||||||
|
plist.set_flag(PL_ENABLED);
|
||||||
|
test_flags("0c", plist, PL_ENABLED | PL_RANDOM);
|
||||||
|
plist.unset_flag(PL_ENABLED);
|
||||||
|
test_flags("0d", plist, PL_RANDOM);
|
||||||
|
plist.unset_flag(PL_RANDOM);
|
||||||
|
test_flags("0f", plist, 0);
|
||||||
|
print("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
test_0();
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
0a: SUCCESS
|
||||||
|
0b: SUCCESS
|
||||||
|
0c: SUCCESS
|
||||||
|
0d: SUCCESS
|
||||||
|
0f: SUCCESS
|
||||||
|
|
Loading…
Reference in New Issue