本文整理汇总了C++中CFileItemPtr::HasCueDocument方法的典型用法代码示例。如果您正苦于以下问题:C++ CFileItemPtr::HasCueDocument方法的具体用法?C++ CFileItemPtr::HasCueDocument怎么用?C++ CFileItemPtr::HasCueDocument使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFileItemPtr
的用法示例。
在下文中一共展示了CFileItemPtr::HasCueDocument方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RetrieveMusicInfo
/// \brief Retrieve tag information for \e m_vecItems
void CGUIWindowMusicBase::RetrieveMusicInfo()
{
unsigned int startTick = XbmcThreads::SystemClockMillis();
OnRetrieveMusicInfo(*m_vecItems);
// \todo Scan for multitrack items here...
vector<string> itemsForRemove;
CFileItemList itemsForAdd;
for (int i = 0; i < m_vecItems->Size(); ++i)
{
CFileItemPtr pItem = (*m_vecItems)[i];
if (pItem->m_bIsFolder || pItem->IsPlayList() || pItem->IsPicture() || pItem->IsLyrics())
continue;
CMusicInfoTag& tag = *pItem->GetMusicInfoTag();
if (tag.Loaded() && !tag.GetCueSheet().empty())
pItem->LoadEmbeddedCue();
if (pItem->HasCueDocument()
&& pItem->LoadTracksFromCueDocument(itemsForAdd))
{
itemsForRemove.push_back(pItem->GetPath());
}
}
for (size_t i = 0; i < itemsForRemove.size(); ++i)
{
for (int j = 0; j < m_vecItems->Size(); ++j)
{
if ((*m_vecItems)[j]->GetPath() == itemsForRemove[i])
{
m_vecItems->Remove(j);
break;
}
}
}
m_vecItems->Append(itemsForAdd);
CLog::Log(LOGDEBUG, "RetrieveMusicInfo() took %u msec",
XbmcThreads::SystemClockMillis() - startTick);
}