本文整理汇总了C++中BlockFile::GetNeedFillCache方法的典型用法代码示例。如果您正苦于以下问题:C++ BlockFile::GetNeedFillCache方法的具体用法?C++ BlockFile::GetNeedFillCache怎么用?C++ BlockFile::GetNeedFillCache使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockFile
的用法示例。
在下文中一共展示了BlockFile::GetNeedFillCache方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FillBlockfilesCache
void DirManager::FillBlockfilesCache()
{
bool cacheBlockFiles = false;
gPrefs->Read(wxT("/Directories/CacheBlockFiles"), &cacheBlockFiles);
if (!cacheBlockFiles)
return; // user opted not to cache block files
BlockHash::iterator i;
int numNeed = 0;
i = blockFileHash.begin();
while (i != blockFileHash.end())
{
BlockFile *b = i->second;
if (b->GetNeedFillCache())
numNeed++;
i++;
}
if (numNeed == 0)
return;
AudacityProject *p = GetActiveProject();
p->ProgressShow(_("Caching audio"),
_("Caching audio into memory..."));
i = blockFileHash.begin();
int current = 0;
while (i != blockFileHash.end())
{
BlockFile *b = i->second;
if (b->GetNeedFillCache())
b->FillCache();
if (!p->ProgressUpdate((int)((current * 1000.0) / numNeed)))
break; // user cancelled progress dialog, stop caching
i++;
current++;
}
p->ProgressHide();
}