libsaria: Remove the remove_tracks() function from playlists

It doesn't make sense to keep it around anymore since I have the
single-track removal function.

Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
Bryan Schumaker 2012-07-01 11:51:28 -04:00
parent 94cbcd9a5d
commit bfb00ec812
5 changed files with 19 additions and 41 deletions

View File

@ -33,7 +33,7 @@ namespace libsaria
Playlist *get_recent_plist();
void list_recent(Track *);
void tracks_removed(List<Track> &);
void track_removed(Track *);
void set_pause_type(AutoPauseType, unsigned int);
AutoPauseType get_pause_type();

View File

@ -93,7 +93,6 @@ namespace libsaria
void add_tracks(list<Track *> &);
void remove_indices(list<unsigned int> &);
void remove_track(Track *);
void remove_tracks(list<Track *> &);
void track_updated(Track *);
};

View File

@ -66,6 +66,20 @@ static void sort_tracks(libsaria::Track &track, void *data)
sort->tracks.push_back(&track);
}
static void hide_track(libsaria::Track &track, void *data)
{
if (track.get_banned())
libsaria::ban::get_banned_plist()->remove_track(&track);
else
lib_playlist.remove_track(&track);
}
static void delete_track(libsaria::Track &track, void *data)
{
hide_track(track, NULL);
libsaria::deck::track_removed(&track);
}
static bool check_trackid(libsaria::Track &track, void *data)
{
return track.get_id() == *(unsigned int *)data;
@ -115,7 +129,7 @@ namespace libsaria
list<Path>::iterator p_it;
remove_file(path);
deck::tracks_removed(path->tracks);
path->tracks.for_each_item(delete_track, NULL);
pop_path(path);
}
@ -134,12 +148,7 @@ namespace libsaria
void library::hide_path(Path *path)
{
struct sort_data sort;
path->tracks.for_each_item(sort_tracks, &sort);
lib_playlist.remove_tracks(sort.tracks);
ban::get_banned_plist()->remove_tracks(sort.banned);
path->tracks.for_each_item(hide_track, NULL);
path->visible = false;
path->data_state = DIRTY;
save_path(path);

View File

@ -61,30 +61,6 @@ namespace libsaria
RENDER( modify_done() );
}
void Playlist::remove_tracks(list<Track *> &tracks)
{
list<Track *>::iterator p_it, t_it;
unsigned int index = 0;
RENDER( modify_prepare() );
for (p_it = plist.begin(); p_it != plist.end(); p_it++) {
for (t_it = tracks.begin(); t_it != tracks.end(); t_it++) {
if (*p_it == *t_it) {
remove_track_it(p_it, index);
break;
}
}
if (t_it == tracks.end())
index++;
}
schedule_save();
RENDER( modify_done() );
}
void Playlist::remove_indices(list<unsigned int> &indices)
{
list<Track *>::iterator to_rm, tmp;

View File

@ -202,17 +202,11 @@ namespace libsaria
return *it;
}
void deck::tracks_removed(List<Track> &tracks)
void deck::track_removed(Track *track)
{
list<Track *> track_ptrs;
ListItem<Track> *item;
list<Playlist *>::iterator it;
for (item = tracks.first(); item != tracks.end(); item = item->next())
track_ptrs.push_back(&item->get_value());
for (it = playlist_deck.begin(); it != playlist_deck.end(); it++)
(*it)->remove_tracks(track_ptrs);
(*it)->remove_track(track);
}
void deck::set_pause_type(AutoPauseType type, unsigned int count)