21 #ifndef ABSTRACTLIBRARY_H 22 #define ABSTRACTLIBRARY_H 25 #include "Utils/Library/LibraryNamespaces.h" 26 #include "Utils/Library/Filter.h" 27 #include "Utils/Library/Sorting.h" 28 #include "Utils/Pimpl.h" 32 #define prepare_tracks_for_playlist_files static_cast<void (AbstractLibrary::*) (const QStringList&)>(&AbstractLibrary::psl_prepare_tracks_for_playlist) 33 #define prepare_tracks_for_playlistIdxs static_cast<void (AbstractLibrary::*) (const IdxList&)>(&AbstractLibrary::psl_prepare_tracks_for_playlist) 71 void changeCurrentDisc(Disc disc);
73 bool isLoaded()
const;
78 virtual bool isReloading()
const;
79 virtual bool isEmpty()
const;
82 void sigTrackMimedataAvailable();
83 void sigAllTracksLoaded();
84 void sigAllAlbumsLoaded();
85 void sigAllArtistsLoaded();
87 void sigReloadingLibrary(
const QString& message,
int progress);
88 void sigReloadingLibraryFinished();
90 void sigDeleteAnswer(QString);
91 void sigImportDialogRequested();
93 void sigCurrentAlbumChanged(
int row);
94 void sigCurrentTrackChanged(
int row);
114 void metadataChanged();
115 void albumsChanged();
117 virtual void findTrack(TrackID
id);
120 virtual void selectedArtistsChanged(
const IndexSet& indexes);
121 virtual void selectedAlbumsChanged(
const IndexSet& indexes,
bool ignore_artists=
false);
122 virtual void selectedTracksChanged(
const IndexSet& indexes);
125 virtual void prepareCurrentTracksForPlaylist(
bool new_playlist);
126 virtual void prepareFetchedTracksForPlaylist(
bool new_playlist);
127 void prepareTracksForPlaylist(
const QStringList& file_paths,
bool new_playlist);
130 virtual void playNextFetchedTracks();
131 virtual void playNextCurrentTracks();
134 virtual void appendFetchedTracks();
135 virtual void appendCurrentTracks();
139 virtual void fetchTracksByPath(
const QStringList& paths);
146 virtual void deleteAllTracks();
149 virtual void importFiles(
const QStringList& files);
157 virtual void refreshArtists()=0;
158 virtual void refreshAlbums()=0;
159 virtual void refreshTracks()=0;
163 virtual void emitAll();
165 virtual void getAllArtists(
ArtistList& artists)
const=0;
168 virtual void getAllAlbums(
AlbumList& albums)
const=0;
172 virtual int getTrackCount()
const=0;
174 virtual void getAllTracks(
const QStringList& paths,
MetaDataList& v_md)
const=0;
178 virtual void getAllTracksByPath(
const QStringList& paths,
MetaDataList& v_md)
const=0;
180 virtual void getTrackById(TrackID trackId,
MetaData& md)
const=0;
181 virtual void getAlbumById(AlbumId albumId,
Album& album)
const=0;
182 virtual void getArtistById(ArtistId artistId,
Artist& artist)
const=0;
184 void prepareTracks();
185 void prepareAlbums();
186 void prepareArtists();
188 void ignoreArtistArticleChanged();
192 void tagEditCommit();
193 void setPlaylistActionAfterDoubleClick();
195 void changeTrackSelection(
const IndexSet& indexes);
196 void changeArtistSelection(
const IndexSet& indexes);
197 void changeAlbumSelection(
const IndexSet& indexes,
bool ignore_artists=
false);
200 #endif // ABSTRACTLIBRARY_H ReloadQuality
The ReloadQuality enum.
Definition: LibraryNamespaces.h:47
SortOrder
The SortOrder enum.
Definition: Sortorder.h:31
const MetaDataList & currentTracks() const
current selected tracks
The Sortings class.
Definition: Sorting.h:35
Definition: AbstractLibrary.h:41
The Filter class.
Definition: Filter.h:40
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:35
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:36
The AlbumList class.
Definition: Album.h:99
virtual void refetch()
Clears all filters and searchstrings and fetches everything again.
ArtistList.
Definition: Artist.h:75
The Album class.
Definition: Album.h:39
The Artist class.
Definition: Artist.h:36
virtual void refreshCurrentView()
refetches everything from database as it is, keeping selected elements, the user won't recognize anyt...
Definition: EngineUtils.h:33
Collection of extensions. Handles extensions currently active or inactive and the extension toolbar.
Definition: ExtensionSet.h:32