ocarina/lib/playlist.cpp

62 lines
903 B
C++
Raw Normal View History

/*
* Copyright 2013 (c) Anna Schumaker.
*/
#include <playlist.h>
Playlist :: Playlist(playlist_flags f)
: flags(f)
{
}
Playlist :: ~Playlist()
{
}
void Playlist :: write(File &f)
{
f << flags << " " << tracks.size();
for (unsigned int i = 0; i < tracks.size(); i++)
f << " " << tracks[i];
}
void Playlist :: read(File &f)
{
unsigned int n;
f >> flags >> n;
tracks.resize(n);
for (unsigned int i = 0; i < n; i++)
f >> tracks[i];
}
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;
}
unsigned int Playlist :: add(unsigned int track_id)
{
tracks.push_back(track_id);
return tracks.size() - 1;
}
void Playlist :: del(unsigned int plist_id)
{
tracks.erase(tracks.begin() + plist_id);
}
unsigned int Playlist :: size()
{
return tracks.size();
}