libsaria: Track()s add themselves to the index and library

When one is created, it adds itself to the library and index.  Up next:
removing themselves when they are destroyed.
This commit is contained in:
Bryan Schumaker 2011-12-30 15:57:14 -05:00
parent 6b7c3f3d50
commit 26979eb6a9
4 changed files with 8 additions and 10 deletions

View File

@ -33,7 +33,7 @@ namespace libsaria
string *artist_lc;
string *album_lc;
void make_lenstr();
void format_tags();
void do_bookkeeping();
public:
Track();

View File

@ -1,7 +1,5 @@
#include <libsaria/index.h>
#include "../library.h"
#include "../list/list.h"
#include "path.h"
void LibraryPath::load_file(InFile &in, string dir)
@ -17,8 +15,6 @@ void LibraryPath::load_file(InFile &in, string dir)
for (unsigned int i = 0; i < size; i++) {
track = new libsaria::Track(in);
file_list.push_back(track);
libsaria::index::add_track(track);
libsaria::library::list_track(track);
}
}

View File

@ -132,8 +132,6 @@ void LibraryPath::add_track(string &filepath, sid_t &songid)
if (has_id(songid) == false) {
track = new libsaria::Track(filepath, songid);
file_list.push_back(track);
libsaria::index::add_track(track);
libsaria::library::list_track(track);
}
}

View File

@ -1,6 +1,8 @@
#include <libsaria/track.h>
#include <libsaria/format.h>
#include <libsaria/library.h>
#include <libsaria/index.h>
#include <taglib/tag.h>
#include <taglib/fileref.h>
@ -43,7 +45,7 @@ namespace libsaria
channels = prop->channels();
make_lenstr();
format_tags();
do_bookkeeping();
}
Track::Track(InFile &in)
@ -62,17 +64,19 @@ namespace libsaria
in >> bitrate;
in >> sample;
in >> channels;
format_tags();
do_bookkeeping();
}
Track::~Track()
{
}
void Track::format_tags()
void Track::do_bookkeeping()
{
artist_lc = lowercase(artist);
album_lc = lowercase(album);
libsaria::index::add_track(this);
libsaria::library::list_track(this);
}
void Track::save(OutFile &out)