11 #include "InfoScanner.h" 12 #include "MusicAlbumInfo.h" 13 #include "MusicInfoScraper.h" 15 #include "threads/IRunnable.h" 16 #include "threads/Thread.h" 17 #include "utils/ScraperUrl.h" 33 SCAN_BACKGROUND = 1 << 1,
35 SCAN_ARTISTS = 1 << 3,
36 SCAN_ALBUMS = 1 << 4 };
41 void Start(
const std::string& strDirectory,
int flags);
42 void FetchAlbumInfo(
const std::string& strDirectory,
bool refresh =
false);
43 void FetchArtistInfo(
const std::string& strDirectory,
bool refresh =
false);
79 virtual void Process();
80 bool DoScan(
const std::string& strDirectory)
override;
154 std::vector<CVariant>
GetArtWhitelist(
const MediaType& mediaType,
int iArtLevel);
166 const std::string& mediaType,
167 const std::string& mediaName,
168 const std::string& artfolder,
181 const std::string& mediaType,
224 void ScrapeInfoAddedAlbums();
234 int GetPathHash(
const CFileItemList &items, std::string &hash);
238 int CountFilesRecursively(
const std::string& strPath);
249 void ScannerWait(
unsigned int milliseconds);
254 bool m_needsCleanup =
false;
259 std::set<int> m_albumsAdded;
261 std::set<std::string> m_seenPaths;
Definition: MusicAlbumInfo.h:21
INFO_RET UpdateAlbumInfo(CAlbum &album, const ADDON::ScraperPtr &scraper, bool bAllowSelection, CGUIDialogProgress *pDialog=NULL)
Scrape additional album information and update the music database with it. Given an album...
Definition: MusicInfoScanner.cpp:885
std::vector< CVariant > GetArtWhitelist(const MediaType &mediaType, int iArtLevel)
Get the types of art for an artist or album that are to be automatically fetched from local files dur...
Definition: MusicInfoScanner.cpp:2133
Definition: MusicArtistInfo.h:19
std::map< std::string, VECSONGS > MAPSONGS
A map of a vector of CSong objects key by filename, used for CMusicDatabase.
Definition: Song.h:218
Class to store and read tag information.
Definition: MusicDatabase.h:98
Represents a list of files.
Definition: FileItem.h:702
INFO_RET UpdateDatabaseAlbumInfo(CAlbum &album, const ADDON::ScraperPtr &scraper, bool bAllowSelection, CGUIDialogProgress *pDialog=NULL)
Scrape additional album information and update the database. Search for the given album using the giv...
Definition: MusicInfoScanner.cpp:1282
INFO_RET DownloadArtistInfo(const CArtist &artist, const ADDON::ScraperPtr &scraper, MUSIC_GRABBER::CMusicArtistInfo &artistInfo, bool bUseScrapedMBID, CGUIDialogProgress *pDialog=NULL)
Using the scrapers download metadata for an artist Given a CAlbum style struct containing some data a...
Definition: MusicInfoScanner.cpp:1708
bool AddRemoteArtwork(std::map< std::string, std::string > &art, const std::string &mediaType, const CScraperUrl &thumbURL)
Add extra remote artwork for albums and artists This common utility fills the gaps in artwork using t...
Definition: MusicInfoScanner.cpp:2252
bool AddLocalArtwork(std::map< std::string, std::string > &art, const std::string &mediaType, const std::string &mediaName, const std::string &artfolder, int discnum=0)
Add extra local artwork for albums and artists This common utility scans the given folder for local (...
Definition: MusicInfoScanner.cpp:2156
static void FindArtForAlbums(VECALBUMS &albums, const std::string &path)
Find art for albums Based on the albums in the folder, finds whether we have unique album art and ass...
Definition: MusicInfoScanner.cpp:1087
int RetrieveMusicInfo(const std::string &strDirectory, CFileItemList &items)
Scan in the ID3/Ogg/FLAC tags for a bunch of FileItems Given a list of FileItems, scan in the tags fo...
Definition: MusicInfoScanner.cpp:908
INFO_RET UpdateDatabaseArtistInfo(CArtist &artist, const ADDON::ScraperPtr &scraper, bool bAllowSelection, CGUIDialogProgress *pDialog=NULL)
Scrape additional artist information and update the database. Search for the given artist using the g...
Definition: MusicInfoScanner.cpp:1364
Definition: IRunnable.h:11
static void FileItemsToAlbums(CFileItemList &items, VECALBUMS &albums, MAPSONGS *songsMap=NULL)
Categorize FileItems into Albums, Songs, and Artists This takes a list of FileItems and turns it into...
Definition: MusicInfoScanner.cpp:620
Definition: MusicInfoScanner.h:26
bool ResolveMusicBrainz(const std::string &strMusicBrainzID, const ADDON::ScraperPtr &preferredScraper, CScraperUrl &musicBrainzURL)
Resolve a MusicBrainzID to a URL If we have a MusicBrainz ID for an artist or album, resolve it to an MB URL and set up the scrapers accordingly.
Definition: MusicInfoScanner.cpp:1926
void RetrieveLocalArt()
Definition: MusicInfoScanner.cpp:1174
Definition: InfoScanner.h:17
INFO_RET ScanTags(const CFileItemList &items, CFileItemList &scannedItems)
Scan in the ID3/Ogg/FLAC tags for a bunch of FileItems Given a list of FileItems, scan in the tags fo...
Definition: MusicInfoScanner.cpp:565
Definition: GUIDialogExtendedProgressBar.h:16
INFO_RET UpdateArtistInfo(CArtist &artist, const ADDON::ScraperPtr &scraper, bool bAllowSelection, CGUIDialogProgress *pDialog=NULL)
Scrape additional artist information and update the music database with it. Given an artist...
Definition: MusicInfoScanner.cpp:897
Definition: GUIDialogProgress.h:16
bool AddArtistArtwork(CArtist &artist, const std::string &artfolder)
Add art for an artist This scans the given folder for local art and/or applies the first available ar...
Definition: MusicInfoScanner.cpp:1963
SCAN_FLAGS
Flags for controlling the scanning process.
Definition: MusicInfoScanner.h:31
INFO_RET DownloadAlbumInfo(const CAlbum &album, const ADDON::ScraperPtr &scraper, MUSIC_GRABBER::CMusicAlbumInfo &albumInfo, bool bUseScrapedMBID, CGUIDialogProgress *pDialog=NULL)
Using the scrapers download metadata for an album Given a CAlbum style struct containing some data ab...
Definition: MusicInfoScanner.cpp:1447
bool AddAlbumArtwork(CAlbum &album)
Add art for an album This scans the album folder, and any disc set subfolders, for local art and/or a...
Definition: MusicInfoScanner.cpp:2011
INFO_RET
Return values from the information lookup functions.
Definition: InfoScanner.h:23
Definition: ScraperUrl.h:21
Definition: Application.h:77