ocarina/include/track.h
Bryan Schumaker 258875bdb8 libsaria: Move header files out of include/libsaria/
Ocarina no longer has a header file subdirectory so there is no reason
to have a libsaria subdirectory anymore.  Putting header files directly
in the include/ directory is a bit simpler.

Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
2012-09-12 08:15:31 -04:00

86 lines
1.6 KiB
C++

#ifndef LIBSARIA_TRACK_H
#define LIBSARIA_TRACK_H
#include <playlist.h>
#include <list>
#include <string>
using namespace std;
namespace libsaria
{
namespace library
{
class Path;
}
class Track
{
private:
library::Path *path;
list<libsaria::Playlist *> playlists;
string filepath;
string title;
string artist;
string album;
string comment;
string genre;
string lenstr;
unsigned int id;
unsigned int year;
unsigned int track;
unsigned int count;
unsigned int last_day;
unsigned int last_month;
unsigned int last_year;
int length;
int bitrate;
int sample;
int channels;
bool banned;
string *artist_lc;
string *album_lc;
void read_tags();
void mark_played();
public:
Track();
Track(string);
Track(string, library::Path *);
Track(ifstream &, library::Path *, unsigned int);
~Track();
void save(ofstream *);
void load_unlisted(bool);
void load(bool);
void add_playlist(libsaria::Playlist *);
void rm_playlist(libsaria::Playlist *);
string &get_filepath();
string get_title();
string &get_artist();
string &get_album();
string &get_comment();
string &get_genre();
string &get_lenstr();
string get_last_played();
int &get_length();
unsigned int &get_year();
unsigned int &get_track();
unsigned int &get_libid();
unsigned int &get_id();
unsigned int &get_count();
bool &get_banned();
void set_banned(bool);
bool operator<(Track &);
};
Track *current_track();
} /* Namespace: libsaria */
#endif /* LIBSARIA_TRACK_H */