本文整理汇总了C++中ProgramInfo::GetRecordingGroup方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgramInfo::GetRecordingGroup方法的具体用法?C++ ProgramInfo::GetRecordingGroup怎么用?C++ ProgramInfo::GetRecordingGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgramInfo
的用法示例。
在下文中一共展示了ProgramInfo::GetRecordingGroup方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getRecordingList
void RecordingSelector::getRecordingList(void)
{
ProgramInfo *p;
m_recordingList = RemoteGetRecordedList(-1);
m_categories.clear();
if (m_recordingList && !m_recordingList->empty())
{
vector<ProgramInfo *>::iterator i = m_recordingList->begin();
for ( ; i != m_recordingList->end(); ++i)
{
p = *i;
// ignore live tv and deleted recordings
if (p->GetRecordingGroup() == "LiveTV" ||
p->GetRecordingGroup() == "Deleted")
{
i = m_recordingList->erase(i);
--i;
continue;
}
if (m_categories.indexOf(p->GetTitle()) == -1)
m_categories.append(p->GetTitle());
}
}
}
示例2: HandleAllRecordings
void LookerUpper::HandleAllRecordings(bool updaterules)
{
QMap< QString, ProgramInfo* > recMap;
QMap< QString, uint32_t > inUseMap = ProgramInfo::QueryInUseMap();
QMap< QString, bool > isJobRunning = ProgramInfo::QueryJobsRunning(JOB_COMMFLAG);
m_updaterules = updaterules;
ProgramList progList;
LoadFromRecorded( progList, false, inUseMap, isJobRunning, recMap, -1 );
for( int n = 0; n < (int)progList.size(); n++)
{
ProgramInfo *pginfo = new ProgramInfo(*(progList[n]));
if ((pginfo->GetRecordingGroup() != "Deleted") &&
(pginfo->GetRecordingGroup() != "LiveTV") &&
(pginfo->GetInetRef().isEmpty() ||
(!pginfo->GetSubtitle().isEmpty() &&
(pginfo->GetSeason() == 0) &&
(pginfo->GetEpisode() == 0))))
{
QString msg = QString("Looking up: %1 %2").arg(pginfo->GetTitle())
.arg(pginfo->GetSubtitle());
LOG(VB_GENERAL, LOG_INFO, msg);
m_busyRecList.append(pginfo);
m_metadataFactory->Lookup(pginfo, true, false, false);
}
else
delete pginfo;
}
}
示例3: strlist
/**
* \brief return list of currently recording shows
*/
vector<ProgramInfo *> *RemoteGetCurrentlyRecordingList(void)
{
QString str = "QUERY_RECORDINGS ";
str += "Recording";
QStringList strlist( str );
vector<ProgramInfo *> *reclist = new vector<ProgramInfo *>;
vector<ProgramInfo *> *info = new vector<ProgramInfo *>;
if (!RemoteGetRecordingList(*info, strlist))
{
if (info)
delete info;
return reclist;
}
ProgramInfo *p = NULL;
vector<ProgramInfo *>::iterator it = info->begin();
// make sure whatever RemoteGetRecordingList() returned
// only has rsRecording shows
for ( ; it != info->end(); it++)
{
p = *it;
if (p->GetRecordingStatus() == rsRecording ||
(p->GetRecordingStatus() == rsRecorded &&
p->GetRecordingGroup() == "LiveTV"))
{
reclist->push_back(new ProgramInfo(*p));
}
}
while (!info->empty())
{
delete info->back();
info->pop_back();
}
if (info)
delete info;
return reclist;
}
示例4: getRecordingList
void RecordingSelector::getRecordingList(void)
{
ProgramInfo *p;
m_recordingList = RemoteGetRecordedList(true);
m_categories.clear();
if (m_recordingList && m_recordingList->size() > 0)
{
vector<ProgramInfo *>::iterator i = m_recordingList->begin();
for ( ; i != m_recordingList->end(); i++)
{
p = *i;
// we can't handle recordings that have to be streamed to us
if (p->GetPlaybackURL(false, true).startsWith("myth://"))
{
VERBOSE(VB_FILE,
QString("MythArchive cannot handle this file because it isn't available locally - %1")
.arg(p->GetPlaybackURL(false, true)));
i = m_recordingList->erase(i);
i--;
continue;
}
// ignore live tv and deleted recordings
if (p->GetRecordingGroup() == "LiveTV" ||
p->GetRecordingGroup() == "Deleted")
{
i = m_recordingList->erase(i);
i--;
continue;
}
if (m_categories.indexOf(p->GetTitle()) == -1)
m_categories.append(p->GetTitle());
}
}
}
示例5: HandleAllArtwork
void LookerUpper::HandleAllArtwork(bool aggressive)
{
m_updateartwork = true;
if (aggressive)
m_updaterules = true;
// First, handle all recording rules w/ inetrefs
vector<ProgramInfo *> recordingList;
RemoteGetAllScheduledRecordings(recordingList);
int maxartnum = 3;
for( int n = 0; n < (int)recordingList.size(); n++)
{
ProgramInfo *pginfo = new ProgramInfo(*(recordingList[n]));
bool dolookup = true;
if (pginfo->GetInetRef().isEmpty())
dolookup = false;
if (dolookup || aggressive)
{
ArtworkMap map = GetArtwork(pginfo->GetInetRef(), pginfo->GetSeason(), true);
if (map.isEmpty() || (aggressive && map.count() < maxartnum))
{
QString msg = QString("Looking up artwork for recording rule: %1 %2")
.arg(pginfo->GetTitle())
.arg(pginfo->GetSubtitle());
LOG(VB_GENERAL, LOG_INFO, msg);
m_busyRecList.append(pginfo);
m_metadataFactory->Lookup(pginfo, true, true, true);
continue;
}
}
delete pginfo;
}
// Now, Attempt to fill in the gaps for recordings
QMap< QString, ProgramInfo* > recMap;
QMap< QString, uint32_t > inUseMap = ProgramInfo::QueryInUseMap();
QMap< QString, bool > isJobRunning = ProgramInfo::QueryJobsRunning(JOB_COMMFLAG);
ProgramList progList;
LoadFromRecorded( progList, false, inUseMap, isJobRunning, recMap, -1 );
for( int n = 0; n < (int)progList.size(); n++)
{
ProgramInfo *pginfo = new ProgramInfo(*(progList[n]));
bool dolookup = true;
LookupType type = GuessLookupType(pginfo);
if (type == kProbableMovie)
maxartnum = 2;
if ((!aggressive && type == kProbableGenericTelevision) ||
pginfo->GetRecordingGroup() == "Deleted" ||
pginfo->GetRecordingGroup() == "LiveTV")
dolookup = false;
if (dolookup || aggressive)
{
ArtworkMap map = GetArtwork(pginfo->GetInetRef(), pginfo->GetSeason(), true);
if (map.isEmpty() || (aggressive && map.count() < maxartnum))
{
QString msg = QString("Looking up artwork for recording: %1 %2")
.arg(pginfo->GetTitle())
.arg(pginfo->GetSubtitle());
LOG(VB_GENERAL, LOG_INFO, msg);
m_busyRecList.append(pginfo);
m_metadataFactory->Lookup(pginfo, true, true, aggressive);
continue;
}
}
delete pginfo;
}
}
示例6: GetRecordedList
DTC::ProgramList* Dvr::GetRecordedList( bool bDescending,
int nStartIndex,
int nCount,
const QString &sTitleRegEx,
const QString &sRecGroup,
const QString &sStorageGroup )
{
QMap< QString, ProgramInfo* > recMap;
if (gCoreContext->GetScheduler())
recMap = gCoreContext->GetScheduler()->GetRecording();
QMap< QString, uint32_t > inUseMap = ProgramInfo::QueryInUseMap();
QMap< QString, bool > isJobRunning= ProgramInfo::QueryJobsRunning(JOB_COMMFLAG);
ProgramList progList;
int desc = 1;
if (bDescending)
desc = -1;
LoadFromRecorded( progList, false, inUseMap, isJobRunning, recMap, desc );
QMap< QString, ProgramInfo* >::iterator mit = recMap.begin();
for (; mit != recMap.end(); mit = recMap.erase(mit))
delete *mit;
// ----------------------------------------------------------------------
// Build Response
// ----------------------------------------------------------------------
DTC::ProgramList *pPrograms = new DTC::ProgramList();
int nAvailable = 0;
int nMax = (nCount > 0) ? nCount : progList.size();
nAvailable = 0;
nCount = 0;
QRegExp rTitleRegEx = QRegExp(sTitleRegEx, Qt::CaseInsensitive);
for( unsigned int n = 0; n < progList.size(); n++)
{
ProgramInfo *pInfo = progList[ n ];
if (pInfo->IsDeletePending() ||
(!sTitleRegEx.isEmpty() && !pInfo->GetTitle().contains(rTitleRegEx)) ||
(!sRecGroup.isEmpty() && sRecGroup != pInfo->GetRecordingGroup()) ||
(!sStorageGroup.isEmpty() && sStorageGroup != pInfo->GetStorageGroup()))
continue;
if ((nAvailable < nStartIndex) ||
(nCount >= nMax))
{
++nAvailable;
continue;
}
++nAvailable;
++nCount;
DTC::Program *pProgram = pPrograms->AddNewProgram();
FillProgramInfo( pProgram, pInfo, true );
}
// ----------------------------------------------------------------------
pPrograms->setStartIndex ( nStartIndex );
pPrograms->setCount ( nCount );
pPrograms->setTotalAvailable( nAvailable );
pPrograms->setAsOf ( MythDate::current() );
pPrograms->setVersion ( MYTH_BINARY_VERSION );
pPrograms->setProtoVer ( MYTH_PROTO_VERSION );
return pPrograms;
}
示例7: doAutoExpireList
/** \fn StatusBox::doAutoExpireList()
* \brief Show list of recordings which may AutoExpire
*/
void StatusBox::doAutoExpireList(bool updateExpList)
{
if (m_iconState)
m_iconState->DisplayState("autoexpire");
m_logList->Reset();
QString helpmsg(tr("The AutoExpire List shows all recordings "
"which may be expired and the order of "
"their expiration. Recordings at the top "
"of the list will be expired first."));
if (m_helpText)
m_helpText->SetText(helpmsg);
if (m_justHelpText)
m_justHelpText->SetText(helpmsg);
ProgramInfo* pginfo;
QString contentLine;
QString detailInfo;
QString staticInfo;
long long totalSize(0);
long long liveTVSize(0);
int liveTVCount(0);
long long deletedGroupSize(0);
int deletedGroupCount(0);
vector<ProgramInfo *>::iterator it;
if (updateExpList)
{
for (it = m_expList.begin(); it != m_expList.end(); ++it)
delete *it;
m_expList.clear();
RemoteGetAllExpiringRecordings(m_expList);
}
for (it = m_expList.begin(); it != m_expList.end(); ++it)
{
pginfo = *it;
totalSize += pginfo->GetFilesize();
if (pginfo->GetRecordingGroup() == "LiveTV")
{
liveTVSize += pginfo->GetFilesize();
liveTVCount++;
}
else if (pginfo->GetRecordingGroup() == "Deleted")
{
deletedGroupSize += pginfo->GetFilesize();
deletedGroupCount++;
}
}
staticInfo = tr("%n recording(s) consuming %1 (is) allowed to expire\n", "",
m_expList.size()).arg(sm_str(totalSize / 1024));
if (liveTVCount)
staticInfo += tr("%n (is) LiveTV and consume(s) %1\n", "", liveTVCount)
.arg(sm_str(liveTVSize / 1024));
if (deletedGroupCount)
staticInfo += tr("%n (is) Deleted and consume(s) %1\n", "",
deletedGroupCount)
.arg(sm_str(deletedGroupSize / 1024));
for (it = m_expList.begin(); it != m_expList.end(); ++it)
{
pginfo = *it;
QDateTime starttime = pginfo->GetRecordingStartTime();
QDateTime endtime = pginfo->GetRecordingEndTime();
contentLine =
MythDateTimeToString(starttime, kDateFull | kSimplify) + " - ";
contentLine +=
"(" + ProgramInfo::i18n(pginfo->GetRecordingGroup()) + ") ";
contentLine += pginfo->GetTitle() +
" (" + sm_str(pginfo->GetFilesize() / 1024) + ")";
detailInfo =
MythDateTimeToString(starttime, kDateTimeFull | kSimplify) + " - " +
MythDateTimeToString(endtime, kDateTimeFull | kSimplify);
detailInfo += " (" + sm_str(pginfo->GetFilesize() / 1024) + ")";
detailInfo += " (" + ProgramInfo::i18n(pginfo->GetRecordingGroup()) + ")";
detailInfo += "\n" + pginfo->toString(ProgramInfo::kTitleSubtitle, " - ");
AddLogLine(contentLine, staticInfo, detailInfo,
staticInfo + detailInfo);
}
}