X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Flibrary.h;h=1803c02ea646aa3d5cf86128c9cff0a25b28efbb;hb=2b5575c42a105ddfc42c62facfa820759b668e82;hp=b7e674b5c1eac3a93b79b94a064fbc31238d3764;hpb=5fa76f57fd5bd74b268196f08d411e69124222fc;p=someplayer diff --git a/src/library.h b/src/library.h index b7e674b..1803c02 100644 --- a/src/library.h +++ b/src/library.h @@ -47,18 +47,26 @@ namespace SomePlayer { Library(QString databasePath, QString playlistsPath); ~Library(); - void addDirectory(QString path); + void addDirectory(QString path, bool async = true); void addFile(QString path); + QList getDirectories(); QList getArtists(); - QList getAlbumsForArtist(QString artist); + QMap getAlbumsForArtist(QString artist); QList getTracksForAlbum(QString album, QString artist); + QList getAllTracksForArtist(QString artist); + + QList searchTracks(QString pattern); Playlist getFavorites(); Playlist getMostPlayed(); Playlist getNeverPlayed(); Playlist getRecentlyAdded(); + int getArtistsCount(); + int getAlbumsCount(); + int getTracksCount(); + QList getPlaylists(); QStringList getPlaylistsNames(); Playlist getPlaylist(QString name); @@ -68,10 +76,20 @@ namespace SomePlayer { Playlist getCurrentPlaylist(); void saveCurrentPlaylist(const Playlist &playlist); + LastPlayed getLastPlayedForCurPlaylist(); + + void updateDirectories(QList directories); + void updateAll(); + void deleteDirectories(QList directories); + + bool isFavorite(Track); signals: + void started(); void done(); void busy(QString); + void allCount(int); + void tick(); private: DbStorage *_library_storage; @@ -79,11 +97,19 @@ namespace SomePlayer { MediaScanner *_scanner; TagResolver *_resolver; + private slots: + void _scanned(QStringList); + void _decoded(Track); + public slots: void removeTrack(Track); void addTrack(Track); void addToFavorites(Track); + void removeFromFavorites(Track); void updateTrackCount(Track); + void updateTrackMetadata(Track); + void updatePlaylists(); + void saveLastPlayedForCurPlaylist(LastPlayed); }; };