258875bdb8
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>
86 lines
1.6 KiB
C++
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 */
|