21 #ifndef ABSTRACTLIBRARY_H
22 #define ABSTRACTLIBRARY_H
24 #include "Utils/Library/LibraryNamespaces.h"
25 #include "Utils/Library/Filter.h"
26 #include "Utils/Library/Sorting.h"
27 #include "Utils/Pimpl.h"
31 #define prepare_tracks_for_playlist_files static_cast<void (AbstractLibrary::*) (const QStringList&)>(&AbstractLibrary::psl_prepare_tracks_for_playlist)
32 #define prepare_tracks_for_playlistIdxs static_cast<void (AbstractLibrary::*) (const IdxList&)>(&AbstractLibrary::psl_prepare_tracks_for_playlist)
71 void changeCurrentDisc(Disc track);
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);
112 void metadataChanged();
113 void albumsChanged();
115 virtual void findTrack(TrackID
id);
118 virtual void selectedArtistsChanged(
const IndexSet& indexes);
119 virtual void selectedAlbumsChanged(
const IndexSet& indexes,
bool ignore_artists =
false);
120 virtual void selectedTracksChanged(
const IndexSet& indexes);
123 virtual void prepareCurrentTracksForPlaylist(
bool new_playlist);
124 virtual void prepareFetchedTracksForPlaylist(
bool new_playlist);
125 void prepareTracksForPlaylist(
const QStringList& file_paths,
bool new_playlist);
128 virtual void playNextFetchedTracks();
129 virtual void playNextCurrentTracks();
132 virtual void appendFetchedTracks();
133 virtual void appendCurrentTracks();
137 virtual void fetchTracksByPath(
const QStringList& paths);
144 virtual void deleteAllTracks();
147 virtual void importFiles(
const QStringList& files);
155 virtual void refreshArtists() = 0;
156 virtual void refreshAlbums() = 0;
157 virtual void refreshTracks() = 0;
161 virtual void emitAll();
163 virtual void getAllArtists(
ArtistList& artists)
const = 0;
166 virtual void getAllAlbums(
AlbumList& albums)
const = 0;
170 virtual int getTrackCount()
const = 0;
171 virtual void getAllTracks(
MetaDataList& v_md)
const = 0;
172 virtual void getAllTracks(
const QStringList& paths,
MetaDataList& v_md)
const = 0;
176 virtual void getAllTracksByPath(
const QStringList& paths,
MetaDataList& v_md)
const = 0;
178 virtual void getTrackById(TrackID trackId,
MetaData& md)
const = 0;
179 virtual void getAlbumById(AlbumId albumId,
Album& album)
const = 0;
180 virtual void getArtistById(ArtistId artistId,
Artist& artist)
const = 0;
182 void prepareTracks();
183 void prepareAlbums();
184 void prepareArtists();
186 void ignoreArtistArticleChanged();
189 void tagEditCommit();
191 void changeTrackSelection(
const IndexSet& indexes);
192 void changeArtistSelection(
const IndexSet& indexes);
193 void changeAlbumSelection(
const IndexSet& indexes,
bool ignore_artists =
false);
Definition: AbstractLibrary.h:44
virtual void refetch()
Clears all filters and searchstrings and fetches everything again.
virtual void refreshCurrentView()
refetches everything from database as it is, keeping selected elements, the user won't recognize anyt...
const MetaDataList & currentTracks() const
current selected tracks
The AlbumList class.
Definition: Album.h:100
The Album class.
Definition: Album.h:41
ArtistList.
Definition: Artist.h:77
The Artist class.
Definition: Artist.h:38
Collection of extensions. Handles extensions currently active or inactive and the extension toolbar.
Definition: ExtensionSet.h:33
Definition: LibraryPlaylistInteractor.h:27
The Sortings class.
Definition: Sorting.h:37
Definition: EngineUtils.h:33
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:37
SortOrder
The SortOrder enum.
Definition: Sortorder.h:32
ReloadQuality
The ReloadQuality enum.
Definition: LibraryNamespaces.h:48
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:37