本文整理汇总了C++中CCdInfo::IsAudio方法的典型用法代码示例。如果您正苦于以下问题:C++ CCdInfo::IsAudio方法的具体用法?C++ CCdInfo::IsAudio怎么用?C++ CCdInfo::IsAudio使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCdInfo
的用法示例。
在下文中一共展示了CCdInfo::IsAudio方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ExecuteAutorun
void CAutorun::ExecuteAutorun( bool bypassSettings, bool ignoreplaying )
{
if ((!ignoreplaying && (g_application.IsPlayingAudio() || g_application.IsPlayingVideo() || g_windowManager.HasModalDialog())) || g_windowManager.GetActiveWindow() == WINDOW_LOGIN_SCREEN)
return ;
CCdInfo* pInfo = g_mediaManager.GetCdInfo();
if ( pInfo == NULL )
return ;
g_application.WakeUpScreenSaverAndDPMS(); // turn off the screensaver if it's active
if ( pInfo->IsAudio( 1 ) )
{
if( !bypassSettings && !g_guiSettings.GetBool("autorun.cdda") )
return;
if (!g_passwordManager.IsMasterLockUnlocked(false))
if (g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].musicLocked())
return ;
RunCdda();
}
else
{
RunMedia(bypassSettings);
}
}
示例2: GetDiskUniqueId
std::string CMediaManager::GetDiskUniqueId(const std::string& devicePath)
{
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(devicePath);
if (pInfo == NULL)
return "";
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = devicePath;
#ifdef TARGET_WINDOWS
if (mediaPath.empty() || mediaPath == "iso9660://")
{
mediaPath = g_mediaManager.TranslateDevicePath("");
URIUtils::AddSlashAtEnd(mediaPath);
}
#endif
// Try finding VIDEO_TS/VIDEO_TS.IFO - this indicates a DVD disc is inserted
std::string pathVideoTS = URIUtils::AddFileToFolder(mediaPath, "VIDEO_TS");
if(!CFile::Exists(URIUtils::AddFileToFolder(pathVideoTS, "VIDEO_TS.IFO")))
return ""; // return empty
// correct the filename if needed
if (StringUtils::StartsWith(pathVideoTS, "dvd://") ||
StringUtils::StartsWith(pathVideoTS, "iso9660://"))
pathVideoTS = g_mediaManager.TranslateDevicePath("");
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Trying to retrieve ID for path %s", pathVideoTS.c_str());
CDVDInputStreamNavigator dvdNavigator(NULL);
dvdNavigator.Open(pathVideoTS.c_str(), "");
std::string labelString;
dvdNavigator.GetDVDTitleString(labelString);
std::string serialString;
dvdNavigator.GetDVDSerialString(serialString);
std::string strID = StringUtils::Format("removable://%s_%s", labelString.c_str(), serialString.c_str());
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Got ID %s for DVD disk", strID.c_str());
return strID;
}
示例3: GetDirectory
bool CCDDADirectory::GetDirectory(const CStdString& strPath, CFileItemList &items)
{
// Reads the tracks from an audio cd
// This class can only provide .cdda files
if (!IsAllowed(".cdda"))
return true;
if (!CDetectDVDMedia::IsDiscInDrive())
return false;
// Get information for the inserted disc
CCdInfo* pCdInfo = CDetectDVDMedia::GetCdInfo();
if (pCdInfo == NULL)
return false;
// Preload CDDB info
CMusicDatabase musicdatabase;
musicdatabase.LookupCDDBInfo();
// If the disc has no tracks, we are finished here.
int nTracks = pCdInfo->GetTrackCount();
if (nTracks <= 0)
return false;
// Generate fileitems
for (int i = 1;i <= nTracks;++i)
{
// Skip Datatracks for display,
// but needed to query cddb
if (!pCdInfo->IsAudio(i))
continue;
// Format standard cdda item label
CStdString strLabel;
strLabel.Format("Track %02.2i", i);
CFileItem* pItem = new CFileItem(strLabel);
pItem->m_bIsFolder = false;
pItem->m_strPath.Format("cdda://local/%02.2i.cdda", i);
__stat64 s64;
if (CFile::Stat(pItem->m_strPath, &s64) == 0)
pItem->m_dwSize = s64.st_size;
items.Add(pItem);
}
return true;
}
示例4: GetDirectory
bool CCDDADirectory::GetDirectory(const CStdString& strPath, CFileItemList &items)
{
// Reads the tracks from an audio cd
if (!g_mediaManager.IsDiscInDrive(strPath))
return false;
// Get information for the inserted disc
CCdInfo* pCdInfo = g_mediaManager.GetCdInfo(strPath);
if (pCdInfo == NULL)
return false;
// Preload CDDB info
CMusicDatabase musicdatabase;
musicdatabase.LookupCDDBInfo();
// If the disc has no tracks, we are finished here.
int nTracks = pCdInfo->GetTrackCount();
if (nTracks <= 0)
return false;
// Generate fileitems
for (int i = 1;i <= nTracks;++i)
{
// Skip Datatracks for display,
// but needed to query cddb
if (!pCdInfo->IsAudio(i))
continue;
// Format standard cdda item label
CStdString strLabel;
strLabel.Format("Track %02.2i", i);
CFileItemPtr pItem(new CFileItem(strLabel));
pItem->m_bIsFolder = false;
CStdString path;
path.Format("cdda://local/%02.2i.cdda", i);
pItem->SetPath(path);
struct __stat64 s64;
if (CFile::Stat(pItem->GetPath(), &s64) == 0)
pItem->m_dwSize = s64.st_size;
items.Add(pItem);
}
return true;
}
示例5: PlayDisc
bool CAutorun::PlayDisc(const std::string& path, bool bypassSettings, bool startFromBeginning)
{
if ( !bypassSettings && CSettings::Get().GetInt("audiocds.autoaction") != AUTOCD_PLAY && !CSettings::Get().GetBool("dvds.autorun"))
return false;
int nSize = g_playlistPlayer.GetPlaylist( PLAYLIST_MUSIC ).size();
int nAddedToPlaylist = 0;
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(path);
if (pInfo == NULL)
return false;
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = path;
#ifdef TARGET_WINDOWS
if (mediaPath.empty() || mediaPath == "iso9660://")
mediaPath = g_mediaManager.TranslateDevicePath("");
#endif
const CURL pathToUrl(mediaPath);
auto_ptr<IDirectory> pDir ( CDirectoryFactory::Create( pathToUrl ));
bool bPlaying = RunDisc(pDir.get(), mediaPath, nAddedToPlaylist, true, bypassSettings, startFromBeginning);
if ( !bPlaying && nAddedToPlaylist > 0 )
{
CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 );
g_windowManager.SendMessage( msg );
g_playlistPlayer.SetCurrentPlaylist(PLAYLIST_MUSIC);
// Start playing the items we inserted
return g_playlistPlayer.Play(nSize);
}
return bPlaying;
}
示例6: PlayDisc
bool CAutorun::PlayDisc(const std::string& path, bool bypassSettings, bool startFromBeginning)
{
if ( !bypassSettings && CServiceBroker::GetSettings().GetInt(CSettings::SETTING_AUDIOCDS_AUTOACTION) != AUTOCD_PLAY && !CServiceBroker::GetSettings().GetBool(CSettings::SETTING_DVDS_AUTORUN))
return false;
int nSize = CServiceBroker::GetPlaylistPlayer().GetPlaylist( PLAYLIST_MUSIC ).size();
int nAddedToPlaylist = 0;
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(path);
if (pInfo == NULL)
return false;
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = path;
if (mediaPath.empty() || mediaPath == "iso9660://")
mediaPath = g_mediaManager.GetDiscPath();
const CURL pathToUrl(mediaPath);
std::unique_ptr<IDirectory> pDir ( CDirectoryFactory::Create( pathToUrl ));
bool bPlaying = RunDisc(pDir.get(), mediaPath, nAddedToPlaylist, true, bypassSettings, startFromBeginning);
if ( !bPlaying && nAddedToPlaylist > 0 )
{
CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 );
g_windowManager.SendMessage( msg );
CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST_MUSIC);
// Start playing the items we inserted
return CServiceBroker::GetPlaylistPlayer().Play(nSize, "");
}
return bPlaying;
}
示例7: ExecuteAutorun
void CAutorun::ExecuteAutorun(const CStdString& path, bool bypassSettings, bool ignoreplaying, bool startFromBeginning )
{
if ((!ignoreplaying && (g_application.m_pPlayer->IsPlayingAudio() || g_application.m_pPlayer->IsPlayingVideo() || g_windowManager.HasModalDialog())) || g_windowManager.GetActiveWindow() == WINDOW_LOGIN_SCREEN)
return ;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(path);
if ( pInfo == NULL )
return ;
g_application.ResetScreenSaver();
g_application.WakeUpScreenSaverAndDPMS(); // turn off the screensaver if it's active
#ifdef HAS_CDDA_RIPPER
if (CSettings::Get().GetInt("audiocds.autoaction") == AUTOCD_RIP &&
pInfo->IsAudio(1) && !CProfilesManager::Get().GetCurrentProfile().musicLocked())
{
CCDDARipper::GetInstance().RipCD();
}
else
#endif
PlayDisc(path, bypassSettings, startFromBeginning);
}
示例8: OnRipTrack
void CGUIWindowMusicBase::OnRipTrack(int iItem)
{
CCdInfo *pCdInfo = CDetectDVDMedia::GetCdInfo();
if (CDetectDVDMedia::IsDiscInDrive() && pCdInfo && pCdInfo->IsAudio(1))
{
if (!g_application.CurrentFileItem().IsCDDA())
{
#ifdef HAS_CDDA_RIPPER
CCDDARipper ripper;
ripper.RipTrack(m_vecItems->Get(iItem));
#endif
}
else
{
CGUIDialogOK* pDlgOK = (CGUIDialogOK*)m_gWindowManager.GetWindow(WINDOW_DIALOG_OK);
pDlgOK->SetHeading(257); // Error
pDlgOK->SetLine(0, g_localizeStrings.Get(20099)); //
pDlgOK->SetLine(1, ""); //
pDlgOK->SetLine(2, "");
pDlgOK->DoModal();
}
}
}
示例9: GetDiskUniqueId
std::string CMediaManager::GetDiskUniqueId(const std::string& devicePath)
{
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(devicePath);
if (pInfo == NULL)
return "";
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = devicePath;
#ifdef TARGET_WINDOWS
if (mediaPath.empty() || mediaPath == "iso9660://")
{
mediaPath = g_mediaManager.TranslateDevicePath(devicePath);
URIUtils::AddSlashAtEnd(mediaPath);
}
#endif
DiscInfo info = GetDiscInfo(mediaPath);
if (info.empty())
{
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Retrieving ID for path %s failed, ID is empty.", CURL::GetRedacted(mediaPath).c_str());
return "";
}
std::string strID = StringUtils::Format("removable://%s_%s", info.name.c_str(), info.serial.c_str());
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Got ID %s for %s with path %s", strID.c_str(), info.type.c_str(), CURL::GetRedacted(mediaPath).c_str());
return strID;
}
示例10: ExecuteAutorun
void CAutorun::ExecuteAutorun( bool bypassSettings, bool ignoreplaying )
{
if ( (!ignoreplaying && (g_application.IsPlayingAudio() || g_application.IsPlayingVideo() || m_gWindowManager.HasModalDialog()) || m_gWindowManager.GetActiveWindow() == WINDOW_LOGIN_SCREEN))
return ;
CCdInfo* pInfo = CDetectDVDMedia::GetCdInfo();
if ( pInfo == NULL )
return ;
g_application.ResetScreenSaverWindow(); // turn off the screensaver if it's active
if ( pInfo->IsAudio( 1 ) )
{
if( !bypassSettings && !g_guiSettings.GetBool("autorun.cdda") )
return;
if (!g_passwordManager.IsMasterLockUnlocked(false))
if (g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].musicLocked())
return ;
RunCdda();
}
else if (pInfo->IsUDFX( 1 ) || pInfo->IsUDF(1) || (pInfo->IsISOUDF(1) && g_advancedSettings.m_detectAsUdf))
{
RunXboxCd(bypassSettings);
}
else if (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1))
{
RunISOMedia(bypassSettings);
}
else
{
RunXboxCd(bypassSettings);
}
}
示例11: GetContextButtons
void CGUIWindowMusicSongs::GetContextButtons(int itemNumber, CContextButtons &buttons)
{
CFileItemPtr item;
if (itemNumber >= 0 && itemNumber < m_vecItems->Size())
item = m_vecItems->Get(itemNumber);
if (item)
{
// are we in the playlists location?
bool inPlaylists = m_vecItems->GetPath().Equals(CUtil::MusicPlaylistsLocation()) ||
m_vecItems->GetPath().Equals("special://musicplaylists/");
if (m_vecItems->IsVirtualDirectoryRoot() || m_vecItems->GetPath() == "sources://music/")
{
// get the usual music shares, and anything for all media windows
CGUIDialogContextMenu::GetContextButtons("music", item, buttons);
#ifdef HAS_DVD_DRIVE
// enable Rip CD an audio disc
if (g_mediaManager.IsDiscInDrive() && item->IsCDDA())
{
// those cds can also include Audio Tracks: CDExtra and MixedMode!
CCdInfo *pCdInfo = g_mediaManager.GetCdInfo();
if (pCdInfo->IsAudio(1) || pCdInfo->IsCDExtra(1) || pCdInfo->IsMixedMode(1))
{
if (CJobManager::GetInstance().IsProcessing("cdrip"))
buttons.Add(CONTEXT_BUTTON_CANCEL_RIP_CD, 14100);
else
buttons.Add(CONTEXT_BUTTON_RIP_CD, 600);
}
}
#endif
CGUIMediaWindow::GetContextButtons(itemNumber, buttons);
}
else
{
CGUIWindowMusicBase::GetContextButtons(itemNumber, buttons);
if (item->GetProperty("pluginreplacecontextitems").asBoolean())
return;
if (!item->IsPlayList() && !item->IsPlugin() && !item->IsScript())
{
if (item->IsAudio())
buttons.Add(CONTEXT_BUTTON_SONG_INFO, 658); // Song Info
else if (!item->IsParentFolder() &&
!StringUtils::StartsWithNoCase(item->GetPath(), "new") && item->m_bIsFolder)
{
#if 0
if (m_musicdatabase.GetAlbumIdByPath(item->GetPath()) > -1)
#endif
buttons.Add(CONTEXT_BUTTON_INFO, 13351); // Album Info
}
}
#ifdef HAS_DVD_DRIVE
// enable Rip CD Audio or Track button if we have an audio disc
if (g_mediaManager.IsDiscInDrive() && m_vecItems->IsCDDA())
{
// those cds can also include Audio Tracks: CDExtra and MixedMode!
CCdInfo *pCdInfo = g_mediaManager.GetCdInfo();
if (pCdInfo->IsAudio(1) || pCdInfo->IsCDExtra(1) || pCdInfo->IsMixedMode(1))
buttons.Add(CONTEXT_BUTTON_RIP_TRACK, 610);
}
#endif
// enable CDDB lookup if the current dir is CDDA
if (g_mediaManager.IsDiscInDrive() && m_vecItems->IsCDDA() &&
(CProfilesManager::Get().GetCurrentProfile().canWriteDatabases() || g_passwordManager.bMasterUser))
{
buttons.Add(CONTEXT_BUTTON_CDDB, 16002);
}
if (!item->IsParentFolder() && !item->IsReadOnly())
{
// either we're at the playlist location or its been explicitly allowed
if (inPlaylists || CSettings::Get().GetBool("filelists.allowfiledeletion"))
{
buttons.Add(CONTEXT_BUTTON_DELETE, 117);
buttons.Add(CONTEXT_BUTTON_RENAME, 118);
}
}
}
// Add the scan button(s)
if (g_application.IsMusicScanning())
buttons.Add(CONTEXT_BUTTON_STOP_SCANNING, 13353); // Stop Scanning
else if (!inPlaylists && !m_vecItems->IsInternetStream() &&
!item->GetPath().Equals("add") && !item->IsParentFolder() &&
!item->IsPlugin() &&
!StringUtils::StartsWithNoCase(item->GetPath(), "addons://") &&
(CProfilesManager::Get().GetCurrentProfile().canWriteDatabases() || g_passwordManager.bMasterUser))
{
buttons.Add(CONTEXT_BUTTON_SCAN, 13352);
}
if (item->IsPlugin() || item->IsScript() || m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_PLUGIN_SETTINGS, 1045);
}
if (!m_vecItems->IsVirtualDirectoryRoot() && !m_vecItems->IsPlugin())
buttons.Add(CONTEXT_BUTTON_SWITCH_MEDIA, 523);
CGUIWindowMusicBase::GetNonContextButtons(buttons);
}
示例12: GetContextButtons
void CGUIWindowMusicSongs::GetContextButtons(int itemNumber, CContextButtons &buttons)
{
CFileItemPtr item;
if (itemNumber >= 0 && itemNumber < m_vecItems->Size())
item = m_vecItems->Get(itemNumber);
if (item)
{
// are we in the playlists location?
bool inPlaylists = m_vecItems->m_strPath.Equals(CUtil::MusicPlaylistsLocation()) ||
m_vecItems->m_strPath.Equals("special://musicplaylists/");
if (m_vecItems->IsVirtualDirectoryRoot())
{
// get the usual music shares, and anything for all media windows
CGUIDialogContextMenu::GetContextButtons("music", item, buttons);
// enable Rip CD an audio disc
if (CDetectDVDMedia::IsDiscInDrive() && item->IsCDDA())
{
// those cds can also include Audio Tracks: CDExtra and MixedMode!
CCdInfo *pCdInfo = CDetectDVDMedia::GetCdInfo();
if (pCdInfo->IsAudio(1) || pCdInfo->IsCDExtra(1) || pCdInfo->IsMixedMode(1))
buttons.Add(CONTEXT_BUTTON_RIP_CD, 600);
}
CGUIMediaWindow::GetContextButtons(itemNumber, buttons);
}
else
{
CGUIWindowMusicBase::GetContextButtons(itemNumber, buttons);
if (item->GetPropertyBOOL("pluginreplacecontextitems"))
return;
if (!item->IsPlayList())
{
if (item->IsAudio() && !item->IsLastFM() && !item->IsShoutCast())
buttons.Add(CONTEXT_BUTTON_SONG_INFO, 658); // Song Info
else if (!item->IsParentFolder() && !item->IsLastFM() && !item->IsShoutCast() &&
!item->m_strPath.Left(3).Equals("new") && item->m_bIsFolder)
{
#if 0
if (m_musicdatabase.GetAlbumIdByPath(item->m_strPath) > -1)
#endif
buttons.Add(CONTEXT_BUTTON_INFO, 13351); // Album Info
}
}
// enable Rip CD Audio or Track button if we have an audio disc
if (CDetectDVDMedia::IsDiscInDrive() && m_vecItems->IsCDDA())
{
// those cds can also include Audio Tracks: CDExtra and MixedMode!
CCdInfo *pCdInfo = CDetectDVDMedia::GetCdInfo();
if (pCdInfo->IsAudio(1) || pCdInfo->IsCDExtra(1) || pCdInfo->IsMixedMode(1))
buttons.Add(CONTEXT_BUTTON_RIP_TRACK, 610);
}
// enable CDDB lookup if the current dir is CDDA
if (CDetectDVDMedia::IsDiscInDrive() && m_vecItems->IsCDDA() &&
(g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].canWriteDatabases() || g_passwordManager.bMasterUser))
{
buttons.Add(CONTEXT_BUTTON_CDDB, 16002);
}
if (!item->IsParentFolder() && !item->IsReadOnly())
{
// either we're at the playlist location or its been explicitly allowed
if (inPlaylists || g_guiSettings.GetBool("filelists.allowfiledeletion"))
{
buttons.Add(CONTEXT_BUTTON_DELETE, 117);
buttons.Add(CONTEXT_BUTTON_RENAME, 118);
}
}
}
// Add the scan button(s)
CGUIDialogMusicScan *pScanDlg = (CGUIDialogMusicScan *)m_gWindowManager.GetWindow(WINDOW_DIALOG_MUSIC_SCAN);
if (g_guiSettings.GetBool("musiclibrary.enabled") && pScanDlg)
{
if (pScanDlg->IsScanning())
buttons.Add(CONTEXT_BUTTON_STOP_SCANNING, 13353); // Stop Scanning
else if (!inPlaylists && !m_vecItems->IsInternetStream() &&
!item->IsLastFM() && !item->IsShoutCast() &&
!item->m_strPath.Equals("add") && !item->IsParentFolder() &&
(g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].canWriteDatabases() || g_passwordManager.bMasterUser))
{
buttons.Add(CONTEXT_BUTTON_SCAN, 13352);
}
}
}
if (!m_vecItems->IsVirtualDirectoryRoot())
buttons.Add(CONTEXT_BUTTON_SWITCH_MEDIA, 523);
CGUIWindowMusicBase::GetNonContextButtons(buttons);
}
示例13: UpdateButtons
void CGUIWindowMusicSongs::UpdateButtons()
{
CGUIWindowMusicBase::UpdateButtons();
bool bIsPlaying = g_application.IsPlayingAudio();
bool bCanRecord = false;
bool bIsRecording = false;
if (bIsPlaying)
{
bCanRecord = g_application.m_pPlayer->CanRecord();
bIsRecording = g_application.m_pPlayer->IsRecording();
}
// Update Record button
if (bIsPlaying && bCanRecord)
{
CONTROL_ENABLE(CONTROL_BTNREC);
if (bIsRecording)
{
SET_CONTROL_LABEL(CONTROL_BTNREC, 265); //Stop Recording
}
else
{
SET_CONTROL_LABEL(CONTROL_BTNREC, 264); //Record
}
}
else
{
SET_CONTROL_LABEL(CONTROL_BTNREC, 264); //Record
CONTROL_DISABLE(CONTROL_BTNREC);
}
// Update CDDA Rip button
CCdInfo *pCdInfo = CDetectDVDMedia::GetCdInfo();
if (CDetectDVDMedia::IsDiscInDrive() && pCdInfo && pCdInfo->IsAudio(1))
{
CONTROL_ENABLE(CONTROL_BTNRIP);
}
else
{
CONTROL_DISABLE(CONTROL_BTNRIP);
}
// Disable scan button if shoutcast
if (m_vecItems->IsVirtualDirectoryRoot() || m_vecItems->IsShoutCast() ||
m_vecItems->IsLastFM() || m_vecItems->IsMusicDb())
{
CONTROL_DISABLE(CONTROL_BTNSCAN);
}
else
{
CONTROL_ENABLE(CONTROL_BTNSCAN);
}
CGUIDialogMusicScan *musicScan = (CGUIDialogMusicScan *)m_gWindowManager.GetWindow(WINDOW_DIALOG_MUSIC_SCAN);
if (musicScan && musicScan->IsScanning())
{
SET_CONTROL_LABEL(CONTROL_BTNSCAN, 14056); // Stop Scan
}
else
{
SET_CONTROL_LABEL(CONTROL_BTNSCAN, 102); // Scan
}
// Update object count label
CStdString items;
items.Format("%i %s", m_vecItems->GetObjectCount(), g_localizeStrings.Get(127).c_str());
SET_CONTROL_LABEL(CONTROL_LABELFILES, items);
}