21 #ifndef DATABASETRACKS_H 22 #define DATABASETRACKS_H 24 #include "Database/SearchableModule.h" 25 #include "Utils/Library/Sortorder.h" 26 #include "Utils/Pimpl.h" 28 namespace Library {
class Filter;}
40 Tracks(
const QString& connection_name, DbId db_id, LibraryId _library_id);
45 virtual bool getAllTracksByAlbum(AlbumId album,
MetaDataList& result);
46 virtual bool getAllTracksByAlbum(AlbumId album,
MetaDataList& result, const ::Library::Filter& filter, ::Library::SortOrder sortorder = ::Library::SortOrder::TrackArtistAsc,
int discnumber=-1);
48 virtual bool getAllTracksByAlbum(
IdList albums,
MetaDataList& result, const ::Library::Filter& filter, ::Library::SortOrder sortorder = ::Library::SortOrder::TrackArtistAsc);
50 virtual bool getAllTracksByArtist(ArtistId artist,
MetaDataList& result);
51 virtual bool getAllTracksByArtist(ArtistId artist,
MetaDataList& result, const ::Library::Filter& filter, ::Library::SortOrder sortorder = ::Library::SortOrder::TrackArtistAsc);
53 virtual bool getAllTracksByArtist(
IdList artists,
MetaDataList& result, const ::Library::Filter& filter, ::Library::SortOrder sortorder = ::Library::SortOrder::TrackArtistAsc);
55 virtual bool getAllTracksBySearchString(const ::Library::Filter& filter,
MetaDataList& result, ::Library::SortOrder sortorder = ::Library::SortOrder::TrackArtistAsc);
57 virtual bool insertTrackIntoDatabase (
const MetaData& data, ArtistId artist_id, AlbumId album_id);
58 virtual bool insertTrackIntoDatabase (
const MetaData& data, ArtistId artist_id, AlbumId album_id, ArtistId album_artist_id);
59 virtual bool updateTrack(
const MetaData& data);
62 virtual bool getAllTracks(
MetaDataList& returndata, ::Library::SortOrder sortorder = ::Library::SortOrder::TrackArtistAsc);
63 virtual MetaData getTrackById(
int id);
65 virtual MetaData getTrackByPath(
const QString& path);
66 virtual bool getMultipleTracksByPath(
const QStringList& paths,
MetaDataList& v_md);
68 virtual bool deleteTrack(TrackID
id);
70 virtual bool deleteTracks(
const IdList& ids);
77 virtual bool deleteInvalidTracks(
const QString& library_path,
MetaDataList& double_metadata);
79 virtual QString fetch_query_tracks()
const;
82 virtual void updateTrackCissearch();
84 void deleteAllTracks(
bool also_views);
85 void drop_track_view();
86 void drop_search_view();
89 virtual QString artistid_field()
const=0;
90 virtual QString artistname_field()
const=0;
93 void create_track_view(
const QString& select_statement);
94 void create_track_search_view(
const QString& select_statement);
97 QString append_track_sort_string(QString querytext, ::Library::SortOrder sort);
101 #endif // DATABASETRACKS_H
Definition: SearchableModule.h:32
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:35
An interface class needed when implementing a library plugin.
Definition: CachingThread.h:29
Definition: org_mpris_media_player2_adaptor.h:20