21 #ifndef ABSTRACTLIBRARY_H 22 #define ABSTRACTLIBRARY_H 25 #include "Utils/Library/LibraryNamespaces.h" 26 #include "Utils/Library/Filter.h" 27 #include "Utils/Settings/SayonaraClass.h" 28 #include "Utils/Pimpl.h" 29 #include "Utils/Set.h" 31 #include "Utils/MetaData/Artist.h" 32 #include "Utils/MetaData/Album.h" 33 #include "Utils/MetaData/MetaDataList.h" 35 #include "Utils/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) 73 bool is_loaded()
const;
76 void sig_track_mime_data_available();
77 void sig_all_tracks_loaded ();
78 void sig_all_albums_loaded();
79 void sig_all_artists_loaded();
81 void sig_reloading_library(
const QString& message,
int progress);
82 void sig_reloading_library_finished();
84 void sig_delete_answer(QString);
85 void sig_import_dialog_requested();
95 virtual void refetch();
100 virtual void refresh();
104 virtual void selected_artists_changed(
const IndexSet& indexes);
105 virtual void selected_albums_changed(
const IndexSet& indexes,
bool ignore_artists=
false);
106 virtual void selected_tracks_changed(
const IndexSet& indexes);
109 virtual void prepare_current_tracks_for_playlist(
bool new_playlist);
110 virtual void prepare_fetched_tracks_for_playlist(
bool new_playlist);
111 void prepare_tracks_for_playlist(
const QStringList& file_paths,
bool new_playlist);
115 virtual void play_next_fetched_tracks();
116 virtual void play_next_current_tracks();
120 virtual void append_fetched_tracks();
121 virtual void append_current_tracks();
128 virtual void fetch_tracks_by_paths(
const QStringList& paths);
135 virtual void delete_all_tracks();
138 virtual void import_files(
const QStringList& files);
141 virtual void change_track_rating(
int idx, Rating rating);
142 virtual void change_album_rating(
int idx, Rating rating);
144 virtual void change_track_sortorder(Library::SortOrder s);
145 virtual void change_album_sortorder(Library::SortOrder s);
146 virtual void change_artist_sortorder(Library::SortOrder s);
148 virtual void add_genre(
const IdSet ids,
const Genre& genre);
149 virtual void delete_genre(
const Genre& genre);
150 virtual void rename_genre(
const Genre& genre,
const Genre& new_genre);
152 virtual void merge_artists(
const IdSet& source_ids, ArtistId target_id);
153 virtual void merge_albums(
const IdSet& source_ids, AlbumId target_id);
157 virtual void refresh_artist()=0;
158 virtual void refresh_albums()=0;
159 virtual void refresh_tracks()=0;
163 virtual void emit_stuff();
165 virtual void get_all_artists(
ArtistList& artists)=0;
168 virtual void get_all_albums(
AlbumList& albums)=0;
173 virtual void get_all_tracks(
const QStringList& paths,
MetaDataList& v_md)=0;
178 virtual void get_album_by_id(AlbumId album_id,
Album& album)=0;
179 virtual void get_artist_by_id(ArtistId artist_id,
Artist& artist)=0;
181 virtual void update_track(
const MetaData& md)=0;
183 virtual void update_album(
const Album& album)=0;
194 void tag_edit_commit();
195 void set_playlist_action_after_double_click();
197 void change_track_selection(
const IndexSet& indexes);
198 void change_artist_selection(
const IndexSet& indexes);
199 void change_album_selection(
const IndexSet& indexes,
bool ignore_artists=
false);
202 #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:33
Definition: AbstractLibrary.h:47
The Filter class.
Definition: Filter.h:42
The GUI_TagEdit class.
Definition: AbstractLibrary.h:42
The AlbumList class.
Definition: Album.h:85
ArtistList.
Definition: Artist.h:69
The Album class.
Definition: Album.h:38
The Artist class.
Definition: Artist.h:35
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: AbstractPlaylist.h:38
The TagEdit class Metadata has to be added using the set_metadata(const MetaDataList&) method...
Definition: Editor.h:44
Definition: org_mpris_media_player2_adaptor.h:20