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:
parent
94cbcd9a5d
commit
bfb00ec812
|
@ -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();
|
||||
|
|
|
@ -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 *);
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue