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)
67 void changeCurrentDisc(Disc track);
69 bool isLoaded()
const;
74 virtual bool isReloading()
const;
75 virtual bool isEmpty()
const;
78 void sigTrackMimedataAvailable();
79 void sigAllTracksLoaded();
80 void sigAllAlbumsLoaded();
81 void sigAllArtistsLoaded();
83 void sigReloadingLibrary(
const QString& message,
int progress);
84 void sigReloadingLibraryFinished();
86 void sigDeleteAnswer(QString);
87 void sigImportDialogRequested();
89 void sigCurrentAlbumChanged(
int row);
90 void sigCurrentTrackChanged(
int row);
97 virtual void refetch();
99 virtual void refreshCurrentView();
100 void metadataChanged();
101 void albumsChanged();
103 virtual void findTrack(TrackID
id);
106 virtual void selectedArtistsChanged(
const IndexSet& indexes);
107 virtual void selectedAlbumsChanged(
const IndexSet& indexes,
bool ignore_artists =
false);
108 virtual void selectedTracksChanged(
const IndexSet& indexes);
111 virtual void prepareCurrentTracksForPlaylist(
bool new_playlist);
112 virtual void prepareFetchedTracksForPlaylist(
bool new_playlist);
113 void prepareTracksForPlaylist(
const QStringList& file_paths,
bool new_playlist);
116 virtual void playNextFetchedTracks();
117 virtual void playNextCurrentTracks();
120 virtual void appendFetchedTracks();
121 virtual void appendCurrentTracks();
125 virtual void fetchTracksByPath(
const QStringList& paths);
132 virtual void deleteAllTracks();
135 virtual void importFiles(
const QStringList& files);
137 virtual void changeTrackSortorder(Library::SortOrder sortOrder);
138 virtual void changeAlbumSortorder(Library::SortOrder sortOrder);
139 virtual void changeArtistSortorder(Library::SortOrder sortOrder);
143 virtual void refreshArtists() = 0;
144 virtual void refreshAlbums() = 0;
145 virtual void refreshTracks() = 0;
149 virtual void emitAll();
151 virtual void getAllArtists(
ArtistList& artists)
const = 0;
154 virtual void getAllAlbums(
AlbumList& albums)
const = 0;
158 virtual int getTrackCount()
const = 0;
159 virtual void getAllTracks(
MetaDataList& v_md)
const = 0;
160 virtual void getAllTracks(
const QStringList& paths,
MetaDataList& v_md)
const = 0;
164 virtual void getAllTracksByPath(
const QStringList& paths,
MetaDataList& v_md)
const = 0;
166 virtual void getTrackById(TrackID trackId,
MetaData& md)
const = 0;
167 virtual void getAlbumById(AlbumId albumId,
Album& album)
const = 0;
168 virtual void getArtistById(ArtistId artistId,
Artist& artist)
const = 0;
170 void prepareTracks();
171 void prepareAlbums();
172 void prepareArtists();
175 void tagEditCommit();
177 void changeTrackSelection(
const IndexSet& indexes);
178 void changeArtistSelection(
const IndexSet& indexes);
179 void changeAlbumSelection(
const IndexSet& indexes,
bool ignore_artists =
false);
Definition: AbstractLibrary.h:44
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
ReloadQuality
The ReloadQuality enum.
Definition: LibraryNamespaces.h:48
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:37