X-Git-Url: http://git.maemo.org/git/?p=someplayer;a=blobdiff_plain;f=src%2Flibrary.cpp;h=54dcf090db1a445805ec06278c3eab4805b746a1;hp=6d255615c430c8b521797ea9e160b881ad353e60;hb=c92d96e01d110d72cee8e8d307667507bf5d6fff;hpb=bb42bbd3ed98dacfdbaaddb688b992e145861412 diff --git a/src/library.cpp b/src/library.cpp index 6d25561..54dcf09 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -1 +1,114 @@ #include "library.h" + +using namespace SomePlayer::DataObjects; +using namespace SomePlayer::Storage; + +#include "mediascanner.h" +#include + +Library::Library(QString databasePath, QString playlistsPath) : QObject(0) { + _library_storage = new DbStorage(databasePath); + _playlist_storage = new FileStorage(playlistsPath); + _scanner = new MediaScanner(); + _resolver = new TagResolver(this); + connect(_scanner, SIGNAL(scanFinish(QStringList)), _resolver, SLOT(decode(QStringList))); + connect(_resolver, SIGNAL(decoded(Track)), this, SLOT(addTrack(Track))); +} + +Library::~Library() { + delete _library_storage; + delete _playlist_storage; +} + +void Library::addDirectory(QString path) { + _scanner->init(path); + _scanner->start(QThread::LowestPriority); +} + +void Library::addFile(QString path) { + QStringList files(path); + _resolver->decode(files); +} + +QList Library::getArtists() { + return _library_storage->getArtists(); +} + +QList Library::getAlbumsForArtist(QString artist) { + return _library_storage->getAlbumsForArtist(artist); +} + +QList Library::getTracksForAlbum(QString album, QString artist) { + return _library_storage->getTracksForAlbum(album, artist); +} + + +// dynamic: + +Playlist Library::getFavorites() { + return _library_storage->getFavorites(); +} + +Playlist Library::getMostPlayed() { + return _library_storage->getMostPlayed(); +} + +Playlist Library::getNeverPlayed() { + return _library_storage->getNeverPlayed(); +} + +Playlist Library::getRecentlyAdded() { + return _library_storage->getRecentlyAdded(); +} + + +void Library::removeTrack(Track track) { + _library_storage->removeTrack(track); +} + +void Library::addTrack(Track track) { + _library_storage->addTrack(track); +} + +void Library::addToFavorites(Track track) { + _library_storage->addToFavorites(track); +} + +void Library::updateTrack(Track track) { + _library_storage->updateTrack(track); +} + + +// playlists: + +QList Library::getPlaylists() { + return _playlist_storage->getPlaylists(); +} + +QStringList Library::getPlaylistsNames() { + return _playlist_storage->getPlaylistsNames(); +} + +Playlist Library::getPlaylist(QString name) { + return _playlist_storage->getPlaylist(name); +} + +void Library::savePlaylist(Playlist playlist) { + _playlist_storage->savePlaylist(playlist); +} + +void Library::removePlaylist(Playlist playlist) { + _playlist_storage->removePlaylist(playlist); +} + +void Library::removePlaylist(QString name) { + _playlist_storage->removePlaylist(name); +} + +Playlist Library::getCurrentPlaylist() { + return _playlist_storage->getCurrentPlaylist(); +} + +void Library::saveCurrentPlaylist(Playlist playlist) { + _playlist_storage->saveCurrentPlaylist(playlist); +}