21 #ifndef ABSTRACTLIBRARY_H 22 #define ABSTRACTLIBRARY_H 25 #include "Helper/Library/LibraryNamespaces.h" 26 #include "Helper/Library/Filter.h" 27 #include "Helper/Settings/SayonaraClass.h" 28 #include "Helper/typedefs.h" 29 #include "Helper/Pimpl.h" 31 #include "Helper/MetaData/Artist.h" 32 #include "Helper/MetaData/Album.h" 33 #include "Helper/MetaData/MetaDataList.h" 35 #include "Helper/Library/Sorting.h" 39 #define prepare_tracks_for_playlist_files static_cast<void (AbstractLibrary::*) (const QStringList&)>(&AbstractLibrary::psl_prepare_tracks_for_playlist) 40 #define prepare_tracks_for_playlist_idxs static_cast<void (AbstractLibrary::*) (const IdxList&)>(&AbstractLibrary::psl_prepare_tracks_for_playlist) 57 void sig_all_albums_loaded(
const AlbumList&);
58 void sig_all_artists_loaded(
const ArtistList&);
60 void sig_reloading_library(
const QString& message,
int progress);
61 void sig_reloading_library_finished();
63 void sig_delete_answer(QString);
64 void sig_import_dialog_requested();
74 virtual void refetch();
79 virtual void refresh();
83 virtual void psl_selected_artists_changed(
const SP::Set<int>& idx_lst);
84 virtual void psl_selected_albums_changed(
const SP::Set<int>& idx_lst);
85 virtual void psl_selected_tracks_changed(
const SP::Set<int>& idx_lst);
89 virtual void psl_prepare_album_for_playlist(
int idx,
bool new_playlist);
90 virtual void psl_prepare_artist_for_playlist(
int idx,
bool new_playlist);
94 virtual void psl_prepare_tracks_for_playlist(
bool new_playlist);
95 virtual void psl_prepare_tracks_for_playlist(
const SP::Set<int>& indexes,
bool new_playlist);
96 virtual void psl_prepare_tracks_for_playlist(
const QStringList& file_paths,
bool new_playlist);
100 virtual void psl_play_next_all_tracks();
101 virtual void psl_play_next_tracks(
const SP::Set<int>& idx_lst);
105 virtual void psl_append_all_tracks();
106 virtual void psl_append_tracks(
const SP::Set<int>& idx_lst);
112 virtual void psl_filter_changed(
const Library::Filter&,
bool force=
false);
116 virtual void fetch_by_filter(
const Library::Filter& filter,
bool force);
120 virtual void delete_all_tracks();
124 virtual void import_files(
const QStringList& files);
127 virtual void change_track_rating(
int idx,
int rating);
128 virtual void change_album_rating(
int idx,
int rating);
130 virtual void add_genre(
const SP::Set<ID> ids,
const QString& genre);
131 virtual void delete_genre(
const QString& genre);
132 virtual void rename_genre(
const QString& genre,
const QString& new_name);
136 virtual void refresh_artist()=0;
137 virtual void refresh_albums()=0;
138 virtual void refresh_tracks()=0;
142 virtual void _sl_sortorder_changed();
163 virtual void emit_stuff();
175 virtual void get_all_tracks(
const QStringList& paths,
MetaDataList& v_md)=0;
180 virtual void get_album_by_id(
int album_id,
Album& album)=0;
181 virtual void get_artist_by_id(
int artist_id,
Artist& artist)=0;
183 virtual void update_track(
const MetaData& md)=0;
185 virtual void update_album(
const Album& album)=0;
189 void set_playlist_action_after_double_click();
192 void restore_track_selection();
193 void restore_album_selection();
196 void change_artist_selection(
const SP::Set<int>& idx_list);
197 void change_album_selection(
const SP::Set<int>& idx_list);
200 #endif // ABSTRACTLIBRARY_H TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:35
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
ReloadQuality
The ReloadQuality enum.
Definition: LibraryNamespaces.h:46
The Sortings class.
Definition: Sorting.h:34
Definition: AbstractLibrary.h:44
The Filter class.
Definition: Filter.h:43
The AlbumList class.
Definition: Album.h:78
ArtistList.
Definition: Artist.h:60
The Album class.
Definition: Album.h:38
Global handler for playlists.
Definition: PlaylistHandler.h:57
The Artist class.
Definition: Artist.h:33
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: AbstractPlaylist.h:37