Add token errors for recordings (VDR >= 2.5.4)

This commit is contained in:
kamel5 2021-05-30 13:11:40 +02:00
parent b55994a8a6
commit 8aeb848044
6 changed files with 41 additions and 9 deletions

View File

@ -1186,6 +1186,7 @@ enum class eLeMenuRecordingsIT {
isRadio, isRadio,
isRecording, isRecording,
isInUse, isInUse,
errors,
count count
}; };
@ -1237,6 +1238,7 @@ enum class eCeMenuRecordingsIT {
isRadio, isRadio,
isRecording, isRecording,
isInUse, isInUse,
errors,
count count
}; };
@ -1353,6 +1355,7 @@ enum class eDmDetailedHeaderRecIT {
isRadio, isRadio,
isRecording, isRecording,
isInUse, isInUse,
errors,
count count
}; };
@ -1466,6 +1469,7 @@ enum class eDmDetailedRecIT {
isRadio, isRadio,
isRecording, isRecording,
isInUse, isInUse,
errors,
count count
}; };

View File

@ -152,6 +152,7 @@
tokenContainer->DefineIntToken("{isRadio}", (int)token_it::isRadio); \ tokenContainer->DefineIntToken("{isRadio}", (int)token_it::isRadio); \
tokenContainer->DefineIntToken("{isRecording}", (int)token_it::isRecording); \ tokenContainer->DefineIntToken("{isRecording}", (int)token_it::isRecording); \
tokenContainer->DefineIntToken("{isInUse}", (int)token_it::isInUse); \ tokenContainer->DefineIntToken("{isInUse}", (int)token_it::isInUse); \
tokenContainer->DefineIntToken("{errors}", (int)token_it::errors); \
tokenContainer->DefineStringToken("{recchannelname}", (int)token_st::recchannelname); \ tokenContainer->DefineStringToken("{recchannelname}", (int)token_st::recchannelname); \
tokenContainer->DefineStringToken("{recchannelid}", (int)token_st::recchannelid); \ tokenContainer->DefineStringToken("{recchannelid}", (int)token_st::recchannelid); \
} }
@ -211,6 +212,7 @@
tokenContainer->AddIntToken((int)token_it::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); /* detect Radio from 'info' and FPS */ \ tokenContainer->AddIntToken((int)token_it::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); /* detect Radio from 'info' and FPS */ \
tokenContainer->AddIntToken((int)token_it::isRecording, usedRecording->IsInUse() & ruTimer); \ tokenContainer->AddIntToken((int)token_it::isRecording, usedRecording->IsInUse() & ruTimer); \
tokenContainer->AddIntToken((int)token_it::isInUse, usedRecording->IsInUse()); \ tokenContainer->AddIntToken((int)token_it::isInUse, usedRecording->IsInUse()); \
tokenContainer->AddIntToken((int)token_it::errors, errors); \
} }
/*-------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------*/
@ -2055,6 +2057,11 @@ bool cLeMenuRecordings::Parse(bool forced) {
recTime = TimeString(start); recTime = TimeString(start);
} }
int errors = -1;
#if defined (APIVERSNUM) && (APIVERSNUM >= 20504)
errors = info->Errors();
#endif
// do the same stuff as in cCeMenuRecordings::Parse() (part 2) // do the same stuff as in cCeMenuRecordings::Parse() (part 2)
ADD_TOKEN_MR2(TOKEN_LMR_IT, TOKEN_LMR_ST); ADD_TOKEN_MR2(TOKEN_LMR_IT, TOKEN_LMR_ST);
SetScraperRecordingPoster(tokenContainer, usedRecording, true); SetScraperRecordingPoster(tokenContainer, usedRecording, true);
@ -2270,6 +2277,11 @@ bool cCeMenuRecordings::Parse(bool forced) {
recTime = TimeString(start); recTime = TimeString(start);
} }
int errors = -1;
#if defined (APIVERSNUM) && (APIVERSNUM >= 20504)
errors = info->Errors();
#endif
// do the same stuff as in cLeMenuRecordings::Parse() (part 2) // do the same stuff as in cLeMenuRecordings::Parse() (part 2)
ADD_TOKEN_MR2(TOKEN_CMR_IT, TOKEN_CMR_ST); ADD_TOKEN_MR2(TOKEN_CMR_IT, TOKEN_CMR_ST);
SetScraperRecordingPoster(tokenContainer, usedRecording, false); SetScraperRecordingPoster(tokenContainer, usedRecording, false);

View File

@ -609,6 +609,7 @@ void cViewDetailRec::SetTokenContainer(void) {
tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedRecIT::isRadio); tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedRecIT::isRadio);
tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedRecIT::isRecording); tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedRecIT::isRecording);
tokenContainer->DefineIntToken("{isInUse}", (int)eDmDetailedRecIT::isInUse); tokenContainer->DefineIntToken("{isInUse}", (int)eDmDetailedRecIT::isInUse);
tokenContainer->DefineIntToken("{errors}", (int)eDmDetailedRecIT::errors);
tokenContainer->DefineIntToken("{ismovie}", (int)eScraperIT::ismovie); tokenContainer->DefineIntToken("{ismovie}", (int)eScraperIT::ismovie);
tokenContainer->DefineIntToken("{moviebudget}", (int)eScraperIT::moviebudget); tokenContainer->DefineIntToken("{moviebudget}", (int)eScraperIT::moviebudget);
tokenContainer->DefineIntToken("{movierevenue}", (int)eScraperIT::movierevenue); tokenContainer->DefineIntToken("{movierevenue}", (int)eScraperIT::movierevenue);
@ -673,6 +674,11 @@ bool cViewDetailRec::Parse(bool forced) {
tokenContainer->AddStringToken((int)eDmDetailedRecST::shorttext, info->ShortText()); tokenContainer->AddStringToken((int)eDmDetailedRecST::shorttext, info->ShortText());
tokenContainer->AddStringToken((int)eDmDetailedRecST::description, info->Description()); tokenContainer->AddStringToken((int)eDmDetailedRecST::description, info->Description());
tokenContainer->AddIntToken((int)eDmDetailedRecIT::framesPerSecond, info->FramesPerSecond()); tokenContainer->AddIntToken((int)eDmDetailedRecIT::framesPerSecond, info->FramesPerSecond());
int errors = -1;
#if defined (APIVERSNUM) && (APIVERSNUM >= 20504)
errors = info->Errors();
#endif
tokenContainer->AddIntToken((int)eDmDetailedRecIT::errors, errors);
const cEvent *event = info->GetEvent(); const cEvent *event = info->GetEvent();
if (event) { if (event) {
cString recDate = event->GetDateString(); cString recDate = event->GetDateString();

View File

@ -1208,6 +1208,7 @@ void cVeDmDetailheaderRec::SetTokenContainer(void) {
tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedHeaderRecIT::isRadio); tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedHeaderRecIT::isRadio);
tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedHeaderRecIT::isRecording); tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedHeaderRecIT::isRecording);
tokenContainer->DefineIntToken("{isInUse}", (int)eDmDetailedHeaderRecIT::isInUse); tokenContainer->DefineIntToken("{isInUse}", (int)eDmDetailedHeaderRecIT::isInUse);
tokenContainer->DefineIntToken("{errors}", (int)eDmDetailedHeaderRecIT::errors);
InheritTokenContainer(); InheritTokenContainer();
} }
@ -1228,6 +1229,11 @@ bool cVeDmDetailheaderRec::Parse(bool forced) {
tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::epgname, info->Title()); tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::epgname, info->Title());
tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::shorttext, info->ShortText()); tokenContainer->AddStringToken((int)eDmDetailedHeaderRecST::shorttext, info->ShortText());
tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::framesPerSecond, info->FramesPerSecond()); tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::framesPerSecond, info->FramesPerSecond());
int errors = -1;
#if defined (APIVERSNUM) && (APIVERSNUM >= 20504)
errors = info->Errors();
#endif
tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::errors, errors);
const cEvent *event = info->GetEvent(); const cEvent *event = info->GetEvent();
if (event) { if (event) {
cString recDate = event->GetDateString(); cString recDate = event->GetDateString();

View File

@ -33,6 +33,7 @@
{isHD} true if recording is HD/UHD (from EPG info) {isHD} true if recording is HD/UHD (from EPG info)
{isUHD} true if recording is UHD (from EPG info) {isUHD} true if recording is UHD (from EPG info)
{isRadio} true if recording is AudioOnly (from EPG info) {isRadio} true if recording is AudioOnly (from EPG info)
{errors} recording errors (-1 if not available)
--> -->
<detailheader> <detailheader>
</detailheader> </detailheader>
@ -57,6 +58,7 @@
{isHD} true if recording is HD/UHD (from EPG info) {isHD} true if recording is HD/UHD (from EPG info)
{isUHD} true if recording is HD (from EPG info) {isUHD} true if recording is HD (from EPG info)
{isRadio} true if recording is AudioOnly (from EPG info) {isRadio} true if recording is AudioOnly (from EPG info)
{errors} recording errors (-1 if not available)
{recordingsize} size of recording (automatically in GB / MB) {recordingsize} size of recording (automatically in GB / MB)
{recordingsizecutted} size of cutted recording (automatically in GB / MB) {recordingsizecutted} size of cutted recording (automatically in GB / MB)

View File

@ -39,6 +39,7 @@
{isHD} true if recording is HD/UHD (from EPG info) {isHD} true if recording is HD/UHD (from EPG info)
{isUHD} true if recording is UHD (from EPG info) {isUHD} true if recording is UHD (from EPG info)
{isRadio} true if recording is AudioOnly (from EPG info) {isRadio} true if recording is AudioOnly (from EPG info)
{errors} recording errors (-1 if not available)
--> -->
<listelement> <listelement>
</listelement> </listelement>
@ -84,6 +85,7 @@
{isHD} true if recording is HD/UHD (from EPG info) {isHD} true if recording is HD/UHD (from EPG info)
{isUHD} true if recording is UHD (from EPG info) {isUHD} true if recording is UHD (from EPG info)
{isRadio} true if recording is AudioOnly (from EPG info) {isRadio} true if recording is AudioOnly (from EPG info)
{errors} recording errors (-1 if not available)
--> -->
<currentelement delay="500" fadetime="0"> <currentelement delay="500" fadetime="0">
</currentelement> </currentelement>