m_pDS->exec("CREATE INDEX idxSong3 ON song(idAlbum)");
m_pDS->exec("CREATE INDEX idxSong6 ON song(idPath)");
+ m_pDS->exec("UPDATE song SET strMusicBrainzTrackID = NULL where strMusicBrainzTrackID = ''");
m_pDS->exec("CREATE UNIQUE INDEX idxArtist1 ON artist(strMusicBrainzArtistID(36))");
}
m_pDS->exec("CREATE UNIQUE INDEX idxSong7 ON song( idAlbum, strMusicBrainzTrackID(36) )");
m_pDS->exec("ALTER TABLE album_artist ADD strJoinPhrase text\n");
m_pDS->exec("ALTER TABLE song_artist ADD strJoinPhrase text\n");
+ CMediaSettings::Get().SetMusicNeedsUpdate(35);
+ CSettings::Get().Save();
}
// always recreate the views after any table change
void CGUIWindowMusicBase::OnInitWindow()
{
CGUIMediaWindow::OnInitWindow();
- if (CMediaSettings::Get().GetMusicNeedsUpdate() == 27 && !g_application.IsMusicScanning() &&
+ if (CMediaSettings::Get().GetMusicNeedsUpdate() == 35 && !g_application.IsMusicScanning() &&
g_infoManager.GetLibraryBool(LIBRARY_HAS_MUSIC))
{
// rescan of music library required
if (CGUIDialogYesNo::ShowAndGetInput(799, 800, 801, -1))
{
- g_application.StartMusicScan("", CMusicInfoScanner::SCAN_RESCAN);
+ int flags = CMusicInfoScanner::SCAN_RESCAN;
+ if (CSettings::Get().GetBool("musiclibrary.downloadinfo"))
+ flags |= CMusicInfoScanner::SCAN_ONLINE;
+ if (CSettings::Get().GetBool("musiclibrary.backgroundupdate"))
+ flags |= CMusicInfoScanner::SCAN_BACKGROUND;
+ g_application.StartMusicScan("", flags);
CMediaSettings::Get().SetMusicNeedsUpdate(0); // once is enough (user may interrupt, but that's up to them)
CSettings::Get().Save();
}