4 #include "someplayer.h"
8 #include "filestorage.h"
10 // represents media library: tracks, playlists
11 // it uses different media storages for tracks and playlists
12 // but dynamic playlits will be stored with tracks into the same storage
14 using SomePlayer::DataObjects::Track;
15 using SomePlayer::DataObjects::Playlist;
16 using SomePlayer::Storage::DbStorage;
17 using SomePlayer::Storage::FileStorage;
19 namespace SomePlayer {
20 namespace DataObjects {
24 Library(QString databasePath, QString playlistsPath);
27 void addDirectory(QString path);
28 void addFile(QString path);
30 QList<QString> getArtists();
31 QList<QString> getAlbumsForArtist(QString artist);
32 QList<Track> getTracksForAlbum(QString album, QString artist);
34 Playlist getFavorites();
35 Playlist getMostPlayed();
36 Playlist getNeverPlayed();
37 Playlist getRecentlyAdded();
39 void removeTrack(Track);
41 void addToFavorites(Track);
43 void updateTrack(Track);
45 QList<Playlist> getPlaylists();
46 void savePlaylist(Playlist playlist);
47 void removePlaylist(Playlist playlist);
49 Playlist getCurrentPlaylist();
50 void saveCurrentPlaylist(Playlist playlist);
53 DbStorage *_library_storage;
54 FileStorage *_playlist_storage;