57 [[nodiscard]]
const AlbumList& albums()
const;
58 [[nodiscard]]
const ArtistList& artists()
const;
65 void changeCurrentDisc(Disc track);
67 [[nodiscard]]
bool isLoaded()
const;
72 [[nodiscard]]
virtual bool isReloading()
const;
73 [[nodiscard]]
virtual bool isEmpty()
const;
76 void sigAllTracksLoaded();
77 void sigAllAlbumsLoaded();
78 void sigAllArtistsLoaded();
80 void sigReloadingLibrary(
const QString& message,
int progress);
81 void sigReloadingLibraryFinished();
83 void sigDeleteAnswer(QString);
85 void sigCurrentAlbumChanged(
int row);
86 void sigCurrentTrackChanged(
int row);
89 virtual void reloadLibrary(
bool clear_first, Library::ReloadQuality quality) = 0;
91 virtual void refetch();
93 virtual void refreshCurrentView();
95 virtual void findTrack(TrackID
id);
98 virtual void selectedArtistsChanged(
const IndexSet& indexes);
99 virtual void selectedAlbumsChanged(
const IndexSet& indexes,
bool ignore_artists =
false);
100 virtual void selectedTracksChanged(
const IndexSet& indexes);
103 virtual void prepareCurrentTracksForPlaylist(
bool new_playlist);
104 virtual void prepareFetchedTracksForPlaylist(
bool new_playlist);
105 void prepareTracksForPlaylist(
const QStringList& file_paths,
bool new_playlist);
108 virtual void playNextFetchedTracks();
109 virtual void playNextCurrentTracks();
112 virtual void appendFetchedTracks();
113 virtual void appendCurrentTracks();
117 virtual void fetchTracksByPath(
const QStringList& paths);
119 virtual void deleteTracks(
const MetaDataList& tracks, Library::TrackDeletionMode mode) = 0;
121 virtual void deleteFetchedTracks(Library::TrackDeletionMode mode);
122 virtual void deleteCurrentTracks(Library::TrackDeletionMode mode);
123 virtual void deleteAllTracks();
125 virtual void importFiles(
const QStringList& files);
127 virtual void changeTrackSortorder(Library::SortOrder sortOrder);
128 virtual void changeAlbumSortorder(Library::SortOrder sortOrder);
129 virtual void changeArtistSortorder(Library::SortOrder sortOrder);
133 virtual void refreshArtists() = 0;
134 virtual void refreshAlbums() = 0;
135 virtual void refreshTracks() = 0;
139 virtual void initLibraryImpl() = 0;
140 virtual void emitAll();
142 virtual void getAllArtists(
ArtistList& artists)
const = 0;
145 virtual void getAllAlbums(
AlbumList& albums)
const = 0;
149 [[nodiscard]]
virtual int getTrackCount()
const = 0;
150 virtual void getAllTracks(
MetaDataList& tracks)
const = 0;
151 virtual void getAllTracks(
const QStringList& paths,
MetaDataList& tracks)
const = 0;
155 virtual void getAllTracksByPath(
const QStringList& paths,
MetaDataList& tracks)
const = 0;
157 virtual void getTrackById(TrackID trackId,
MetaData& md)
const = 0;
158 virtual void getAlbumById(AlbumId albumId,
Album& album)
const = 0;
159 virtual void getArtistById(ArtistId artistId,
Artist& artist)
const = 0;
161 void replaceAlbum(
int index,
const Album& album);
162 void replaceTrack(
int index,
const MetaData& track);
164 void prepareTracks();
165 void prepareAlbums();
166 void prepareArtists();
169 void changeTrackSelection(
const IndexSet& indexes);
170 void changeArtistSelection(
const IndexSet& indexes);
171 void changeAlbumSelection(
const IndexSet& indexes,
bool ignore_artists =
false);