Sayonara Player
Public Types | Public Member Functions | Protected Member Functions | List of all members
SC::LibraryDatabase Class Reference
Inheritance diagram for SC::LibraryDatabase:
DB::LibraryDatabase DB::Albums DB::Artists DB::Tracks DB::Module

Public Types

enum class  ArtistIDField : uint8_t {
  AlbumArtistID ,
  ArtistID
}
 

Public Member Functions

 LibraryDatabase (const QString &connectionName, DbId databaseId, LibraryId libraryId)
 
QString fetchQueryAlbums (bool alsoEmpty=false) const override
 
QString fetchQueryArtists (bool alsoEmpty=false) const override
 
QString fetchQueryTracks (const QString &where) const override
 
bool dbFetchTracks (::DB::Query &query, MetaDataList &result) const override
 
bool dbFetchAlbums (::DB::Query &query, AlbumList &result) const override
 
bool dbFetchArtists (::DB::Query &query, ArtistList &result) const override
 
ArtistId updateArtist (const Artist &artist)
 
ArtistId insertArtistIntoDatabase (const Artist &artist) override
 
ArtistId insertArtistIntoDatabase (const QString &artist) override
 
bool getAllAlbums (AlbumList &result, bool alsoEmpty) const override
 
AlbumId updateAlbum (const Album &album)
 
AlbumId insertAlbumIntoDatabase (const Album &album) override
 
AlbumId insertAlbumIntoDatabase (const QString &album) override
 
bool updateTrack (const MetaData &track) override
 
bool storeMetadata (const MetaDataList &tracks) override
 
bool insertTrackIntoDatabase (const MetaData &track, int artistId, int albumId, int albumArtistId) override
 
bool searchInformation (SC::SearchInformationList &searchInformation)
 
void changeArtistIdField (ArtistIDField field)
 
void clear ()
 
LibraryId libraryId () const override
 
QString artistIdField () const override
 
QString artistNameField () const override
 
QString trackView () const override
 
QString trackSearchView () const override
 
void updateSearchMode ()
 
MetaDataList insertMissingArtistsAndAlbums (const MetaDataList &tracks)
 
bool fixEmptyAlbums ()
 
virtual void initViews ()
 
void initViews ()
 
virtual bool dbFetchAlbums (Query &q, AlbumList &result) const
 
virtual AlbumId getAlbumID (const QString &album) const
 
virtual bool getAlbumByID (AlbumId id, Album &album) const
 
virtual bool getAlbumByID (AlbumId id, Album &album, bool alsoEmpty) const
 
virtual bool getAllAlbumsByArtist (const IdList &artists, AlbumList &result, const ::Library::Filter &filter) const
 
virtual bool getAllAlbumsBySearchString (const ::Library::Filter &filter, AlbumList &result) const
 
virtual AlbumId updateAlbumRating (AlbumId id, Rating rating)
 
virtual bool dbFetchArtists (Query &q, ArtistList &result) const
 
virtual ArtistId getArtistID (const QString &artist) const
 
virtual bool getArtistByID (ArtistId id, Artist &artist) const
 
virtual bool getArtistByID (ArtistId id, Artist &artist, bool alsoEmpty) const
 
virtual bool getAllArtists (ArtistList &result, bool alsoEmpty) const
 
virtual bool getAllArtistsBySearchString (const ::Library::Filter &filter, ArtistList &result) const
 
virtual bool deleteArtist (ArtistId id)
 
virtual bool dbFetchTracks (Query &q, MetaDataList &result) const
 
virtual int getNumTracks () const
 
virtual bool getAllTracks (MetaDataList &result) const
 
virtual bool getAllTracksByAlbum (const IdList &albumsIds, MetaDataList &result) const
 
virtual bool getAllTracksByAlbum (const IdList &track, MetaDataList &result, const ::Library::Filter &filter, int discnumber) const
 
virtual bool getAllTracksByArtist (const IdList &artistIds, MetaDataList &result) const
 
virtual bool getAllTracksByArtist (const IdList &artistIds, MetaDataList &result, const ::Library::Filter &filter) const
 
virtual bool getAllTracksBySearchString (const ::Library::Filter &filter, MetaDataList &result) const
 
virtual bool getAllTracksByPaths (const QStringList &paths, MetaDataList &tracks) const
 
virtual MetaData getTrackById (TrackID id) const
 
virtual MetaData getTrackByPath (const QString &path) const
 
virtual bool getMultipleTracksByPath (const QStringList &paths, MetaDataList &tracks) const
 
virtual bool insertTrackIntoDatabase (const MetaData &track, ArtistId artistId, AlbumId albumId, ArtistId albumArtistId)
 
virtual bool renameFilepaths (const QMap< QString, QString > &paths, LibraryId libraryId)
 
virtual bool renameFilepath (const QString &oldPath, const QString &newPath, LibraryId libraryId)
 
virtual bool deleteTrack (TrackID id)
 
virtual bool deleteTracks (const IdList &ids)
 
virtual bool deleteInvalidTracks (const QString &libraryPath, MetaDataList &doubleMetadata)
 
virtual Util::Set< GenregetAllGenres () const
 
void deleteAllTracks (bool alsoViews)
 
QSqlDatabase db () const
 
DbId databaseId () const
 
QString connectionName () const
 
DB::Query runQuery (const QString &query, const QString &error_text) const
 
DB::Query runQuery (const QString &query, const QPair< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query runQuery (const QString &query, const QMap< QString, QVariant > &bindings, const QString &error_text) const
 
DB::Query update (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QPair< QString, QVariant > &where_binding, const QString &error_message)
 update More...
 
DB::Query insert (const QString &tablename, const QMap< QString, QVariant > &field_bindings, const QString &error_message)
 

Protected Member Functions

Module * module () override
 
const Module * module () const override
 
void initSearchMode ()
 
virtual void deleteAllAlbums ()
 
virtual void updateAlbumCissearch ()
 
virtual void updateArtistCissearch ()
 
virtual void deleteAllArtists ()
 
virtual void updateTrackCissearch ()
 

Constructor & Destructor Documentation

◆ ~LibraryDatabase()

SC::LibraryDatabase::~LibraryDatabase ( )
overridevirtual

Reimplemented from DB::LibraryDatabase.

Member Function Documentation

◆ artistIdField()

QString DB::LibraryDatabase::artistIdField ( ) const
overridevirtualinherited

Implements DB::Albums.

◆ artistNameField()

QString DB::LibraryDatabase::artistNameField ( ) const
overridevirtualinherited

Implements DB::Artists.

◆ fetchQueryAlbums()

QString SC::LibraryDatabase::fetchQueryAlbums ( bool  alsoEmpty = false) const
overridevirtual

Reimplemented from DB::Albums.

◆ fetchQueryArtists()

QString SC::LibraryDatabase::fetchQueryArtists ( bool  alsoEmpty = false) const
overridevirtual

Reimplemented from DB::Artists.

◆ fetchQueryTracks()

QString SC::LibraryDatabase::fetchQueryTracks ( const QString &  where) const
overridevirtual

Reimplemented from DB::Tracks.

◆ getAllAlbums()

bool SC::LibraryDatabase::getAllAlbums ( AlbumList result,
bool  alsoEmpty 
) const
overridevirtual

Reimplemented from DB::Albums.

◆ insertAlbumIntoDatabase() [1/2]

AlbumId SC::LibraryDatabase::insertAlbumIntoDatabase ( const Album album)
overridevirtual

Reimplemented from DB::Albums.

◆ insertAlbumIntoDatabase() [2/2]

AlbumId SC::LibraryDatabase::insertAlbumIntoDatabase ( const QString &  album)
overridevirtual

Reimplemented from DB::Albums.

◆ insertArtistIntoDatabase() [1/2]

ArtistId SC::LibraryDatabase::insertArtistIntoDatabase ( const Artist artist)
overridevirtual

Reimplemented from DB::Artists.

◆ insertArtistIntoDatabase() [2/2]

ArtistId SC::LibraryDatabase::insertArtistIntoDatabase ( const QString &  artist)
overridevirtual

Reimplemented from DB::Artists.

◆ libraryId()

LibraryId DB::LibraryDatabase::libraryId ( ) const
overridevirtualinherited

Implements DB::Albums.

◆ module() [1/2]

const Module * DB::LibraryDatabase::module ( ) const
overrideprotectedvirtualinherited

Implements DB::Albums.

◆ module() [2/2]

Module * DB::LibraryDatabase::module ( )
overrideprotectedvirtualinherited

Implements DB::Albums.

◆ storeMetadata()

bool SC::LibraryDatabase::storeMetadata ( const MetaDataList tracks)
overridevirtual

Reimplemented from DB::LibraryDatabase.

◆ trackSearchView()

QString DB::LibraryDatabase::trackSearchView ( ) const
overridevirtualinherited

Implements DB::Albums.

◆ trackView()

QString DB::LibraryDatabase::trackView ( ) const
overridevirtualinherited

Implements DB::Albums.

◆ update()

DB::Query DB::Module::update ( const QString &  tablename,
const QMap< QString, QVariant > &  field_bindings,
const QPair< QString, QVariant > &  where_binding,
const QString &  error_message 
)
inherited

update

Parameters
tablenameName of table to update
field_bindingsFields to update
where_bindingWhere clause
error_message
Returns

◆ updateTrack()

bool SC::LibraryDatabase::updateTrack ( const MetaData track)
overridevirtual

Reimplemented from DB::Tracks.