1
class LibraryBackend : QObject {
4
#include "library/librarybackend.h"
10
Album(const QString& _artist, const QString& _album_name,
11
const QString& _art_automatic, const QString& _art_manual,
12
const QString& _first_filename);
17
QString art_automatic;
19
QString first_filename;
21
typedef QList<LibraryBackend::Album> AlbumList;
23
QString songs_table() const;
24
QString dirs_table() const;
25
QString subdirs_table() const;
27
// Get a list of directories in the library. Emits DirectoriesDiscovered.
28
void LoadDirectoriesAsync();
30
// Counts the songs in the library. Emits TotalSongCountUpdated
31
void UpdateTotalSongCountAsync();
33
SongList FindSongsInDirectory(int id);
34
SubdirectoryList SubdirsInDirectory(int id);
35
DirectoryList GetAllDirectories();
36
void ChangeDirPath(int id, const QString& new_path);
38
QStringList GetAll(const QString& column, const QueryOptions& opt = QueryOptions());
39
QStringList GetAllArtists(const QueryOptions& opt = QueryOptions());
40
QStringList GetAllArtistsWithAlbums(const QueryOptions& opt = QueryOptions());
41
SongList GetSongs(const QString& artist, const QString& album, const QueryOptions& opt = QueryOptions());
43
bool HasCompilations(const QueryOptions& opt = QueryOptions());
44
SongList GetCompilationSongs(const QString& album, const QueryOptions& opt = QueryOptions());
46
LibraryBackend::AlbumList GetAllAlbums(const QueryOptions& opt = QueryOptions());
47
LibraryBackend::AlbumList GetAlbumsByArtist(const QString& artist, const QueryOptions& opt = QueryOptions());
48
LibraryBackend::AlbumList GetCompilationAlbums(const QueryOptions& opt = QueryOptions());
50
void UpdateManualAlbumArtAsync(const QString& artist, const QString& album, const QString& art);
51
LibraryBackend::Album GetAlbumArt(const QString& artist, const QString& album);
53
Song GetSongById(int id);
54
SongList GetSongsById(const QList<int>& ids);
55
SongList GetSongsById(const QStringList& ids);
56
SongList GetSongsByForeignId(const QStringList& ids, const QString& table,
57
const QString& column);
59
SongList GetSongsByFilename(const QString& filename);
60
Song GetSongByFilename(const QString& filename, int beginning);
62
void AddDirectory(const QString& path);
63
void RemoveDirectory(const Directory& dir);
65
bool ExecQuery(LibraryQuery* q);
66
// SongList FindSongs(const smart_playlists::Search& search);
68
void IncrementPlayCountAsync(int id);
69
void IncrementSkipCountAsync(int id, float progress);
70
void ResetStatisticsAsync(int id);
71
void UpdateSongRatingAsync(int id, float rating);
76
void LoadDirectories();
77
void UpdateTotalSongCount();
78
void AddOrUpdateSongs(const SongList& songs);
79
void UpdateMTimesOnly(const SongList& songs);
80
void DeleteSongs(const SongList& songs);
81
void AddOrUpdateSubdirs(const SubdirectoryList& subdirs);
82
void UpdateCompilations();
83
void UpdateManualAlbumArt(const QString& artist, const QString& album, const QString& art);
84
void ForceCompilation(const QString& artist, const QString& album, bool on);
85
void IncrementPlayCount(int id);
86
void IncrementSkipCount(int id, float progress);
87
void ResetStatistics(int id);
88
void UpdateSongRating(int id, float rating);
91
void DirectoryDiscovered(const Directory& dir, const SubdirectoryList& subdirs);
92
void DirectoryDeleted(const Directory& dir);
94
void SongsDiscovered(const SongList& songs);
95
void SongsDeleted(const SongList& songs);
96
void SongsStatisticsChanged(const SongList& songs);
99
void TotalSongCountUpdated(int total);