libsaria: Add tracks to the lib_playlist when scanning
I was trying to add an empty list, rather than track items. This caused the library count to increase (on the library path tab), but the library playlist was never given track pointers so you had to restart ocarina to see songs. Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
parent
3df9d153f6
commit
4d764eeb00
|
@ -89,6 +89,7 @@ namespace libsaria
|
|||
|
||||
virtual void do_add_tracks(list<Track *> &) = 0;
|
||||
void add_tracks(list<Track *> &);
|
||||
void add_track(Track *);
|
||||
void remove_indices(list<unsigned int> &);
|
||||
void remove_track(Track *);
|
||||
void track_updated(Track *);
|
||||
|
|
|
@ -96,7 +96,7 @@ static bool check_file(libsaria::Track &track, void *data)
|
|||
void ScanTask::run_task()
|
||||
{
|
||||
list<string>::iterator it;
|
||||
list<libsaria::Track *> tracks;
|
||||
libsaria::ListItem<libsaria::Track> *li;
|
||||
|
||||
for (it = file_list.begin(); it != file_list.end(); it++) {
|
||||
/*
|
||||
|
@ -109,7 +109,8 @@ void ScanTask::run_task()
|
|||
continue;
|
||||
|
||||
try {
|
||||
path->tracks.push_back(libsaria::Track(*it, path));
|
||||
li = path->tracks.push_back(libsaria::Track(*it, path));
|
||||
lib_playlist.add_track(&li->get_value());
|
||||
path->data_state = DIRTY;
|
||||
} catch (string message) {
|
||||
println(message);
|
||||
|
@ -117,7 +118,6 @@ void ScanTask::run_task()
|
|||
}
|
||||
|
||||
libsaria::notify(PATH_UPDATED, path);
|
||||
lib_playlist.add_tracks(tracks);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -137,4 +137,12 @@ namespace libsaria
|
|||
cur = plist.begin();
|
||||
}
|
||||
|
||||
void Playlist::add_track(Track *track)
|
||||
{
|
||||
list<Track *> tracks;
|
||||
tracks.push_back(track);
|
||||
do_add_tracks(tracks);
|
||||
schedule_save();
|
||||
}
|
||||
|
||||
}; /* namespace: libsaria */
|
||||
|
|
Loading…
Reference in New Issue