diff --git a/HISTORY b/HISTORY index 1a82d34..5b884b7 100644 --- a/HISTORY +++ b/HISTORY @@ -474,3 +474,6 @@ Version 1.2.11 - [pbiering] SVDRP: do not reload in case plugin is not fully initialized (results in VDR crash) - [pbiering] SVDRP: respond with proper error message in case of OSD is active or parsing error - [kamel5] Fixed an error in displayreplay if no recording information are available + +Version 1.2.12 +- [pbiering] added token for recordings: isRecording diff --git a/coreengine/definitions.h b/coreengine/definitions.h index 534f154..6206843 100644 --- a/coreengine/definitions.h +++ b/coreengine/definitions.h @@ -1172,6 +1172,7 @@ enum class eLeMenuRecordingsIT { isHD, isUHD, isRadio, + isRecording, count }; @@ -1221,6 +1222,7 @@ enum class eCeMenuRecordingsIT { isHD, isUHD, isRadio, + isRecording, count }; @@ -1335,6 +1337,7 @@ enum class eDmDetailedHeaderRecIT { isHD, isUHD, isRadio, + isRecording, count }; @@ -1446,6 +1449,7 @@ enum class eDmDetailedRecIT { isHD, isUHD, isRadio, + isRecording, count }; @@ -1499,6 +1503,7 @@ enum class eDRRecInfoIT { screenheight, isHD, isUHD, + isRecording, isWideScreen, count }; diff --git a/coreengine/listelements.c b/coreengine/listelements.c index 6c500bf..96daba3 100644 --- a/coreengine/listelements.c +++ b/coreengine/listelements.c @@ -1754,6 +1754,7 @@ void cLeMenuRecordings::SetTokenContainer(void) { tokenContainer->DefineIntToken("{isHD}", (int)eLeMenuRecordingsIT::isHD); tokenContainer->DefineIntToken("{isUHD}", (int)eLeMenuRecordingsIT::isUHD); tokenContainer->DefineIntToken("{isRadio}", (int)eLeMenuRecordingsIT::isRadio); + tokenContainer->DefineIntToken("{isRecording}", (int)eLeMenuRecordingsIT::isRecording); tokenContainer->DefineStringToken("{recchannelname}", (int)eLeMenuRecordingsST::recchannelname); tokenContainer->DefineStringToken("{recchannelid}", (int)eLeMenuRecordingsST::recchannelid); InheritTokenContainer(); @@ -1905,6 +1906,7 @@ bool cLeMenuRecordings::Parse(bool forced) { tokenContainer->AddIntToken((int)eLeMenuRecordingsIT::isHD, RecordingIsHD(event)); // detect HD from 'info' tokenContainer->AddIntToken((int)eLeMenuRecordingsIT::isUHD, RecordingIsUHD(event)); // detect UHD from 'info' tokenContainer->AddIntToken((int)eLeMenuRecordingsIT::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); // detect Radio from 'info' and FPS + tokenContainer->AddIntToken((int)eLeMenuRecordingsIT::isRecording, usedRecording->IsInUse() & ruTimer); SetScraperRecordingPoster(tokenContainer, usedRecording, true); return true; @@ -2028,6 +2030,7 @@ void cCeMenuRecordings::SetTokenContainer(void) { tokenContainer->DefineIntToken("{isHD}", (int)eCeMenuRecordingsIT::isHD); tokenContainer->DefineIntToken("{isUHD}", (int)eCeMenuRecordingsIT::isUHD); tokenContainer->DefineIntToken("{isRadio}", (int)eCeMenuRecordingsIT::isRadio); + tokenContainer->DefineIntToken("{isRecording}", (int)eCeMenuRecordingsIT::isRecording); tokenContainer->DefineStringToken("{recchannelname}", (int)eCeMenuRecordingsST::recchannelname); tokenContainer->DefineStringToken("{recchannelid}", (int)eCeMenuRecordingsST::recchannelid); InheritTokenContainer(); @@ -2186,6 +2189,7 @@ bool cCeMenuRecordings::Parse(bool forced) { tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::isHD, RecordingIsHD(event)); // detect HD from 'info' tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::isUHD, RecordingIsUHD(event)); // detect UHD from 'info' tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); // detect Radio from 'info' and FPS + tokenContainer->AddIntToken((int)eCeMenuRecordingsIT::isRecording, usedRecording->IsInUse() & ruTimer); SetScraperRecordingPoster(tokenContainer, usedRecording, false); diff --git a/coreengine/viewdetail.c b/coreengine/viewdetail.c index b63e9df..31a4f4b 100644 --- a/coreengine/viewdetail.c +++ b/coreengine/viewdetail.c @@ -607,6 +607,7 @@ void cViewDetailRec::SetTokenContainer(void) { tokenContainer->DefineIntToken("{isHD}", (int)eDmDetailedRecIT::isHD); tokenContainer->DefineIntToken("{isUHD}", (int)eDmDetailedRecIT::isUHD); tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedRecIT::isRadio); + tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedRecIT::isRecording); tokenContainer->DefineIntToken("{ismovie}", (int)eScraperIT::ismovie); tokenContainer->DefineIntToken("{moviebudget}", (int)eScraperIT::moviebudget); tokenContainer->DefineIntToken("{movierevenue}", (int)eScraperIT::movierevenue); @@ -699,6 +700,7 @@ bool cViewDetailRec::Parse(bool forced) { tokenContainer->AddIntToken((int)eDmDetailedRecIT::isHD, RecordingIsHD(event)); // detect HD from 'info' tokenContainer->AddIntToken((int)eDmDetailedRecIT::isUHD, RecordingIsUHD(event)); // detect UHD from 'info' tokenContainer->AddIntToken((int)eDmDetailedRecIT::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); // detect Radio from 'info' and FPS + tokenContainer->AddIntToken((int)eDmDetailedRecIT::isRecording, recording->IsInUse() & ruTimer); } } SetRecInfos(); diff --git a/coreengine/viewelementsdisplaymenu.c b/coreengine/viewelementsdisplaymenu.c index 5887f26..499c717 100644 --- a/coreengine/viewelementsdisplaymenu.c +++ b/coreengine/viewelementsdisplaymenu.c @@ -1170,6 +1170,7 @@ void cVeDmDetailheaderRec::SetTokenContainer(void) { tokenContainer->DefineIntToken("{isHD}", (int)eDmDetailedHeaderRecIT::isHD); tokenContainer->DefineIntToken("{isUHD}", (int)eDmDetailedHeaderRecIT::isUHD); tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedHeaderRecIT::isRadio); + tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedHeaderRecIT::isRecording); InheritTokenContainer(); } @@ -1218,6 +1219,7 @@ bool cVeDmDetailheaderRec::Parse(bool forced) { tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isHD, RecordingIsHD(event)); // detect HD from 'info' tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isUHD, RecordingIsUHD(event)); // detect UHD from 'info' tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isRadio, RecordingIsRadio(event, info->FramesPerSecond())); // detect Radio from 'info' and FPS + tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isRecording, recording->IsInUse() & ruTimer); } if (info->ChannelName() && (strlen(info->ChannelName()) > 0)) { diff --git a/coreengine/viewelementsdisplayreplay.c b/coreengine/viewelementsdisplayreplay.c index 8dd2727..6cd4b25 100644 --- a/coreengine/viewelementsdisplayreplay.c +++ b/coreengine/viewelementsdisplayreplay.c @@ -93,6 +93,7 @@ void cVeDrRecInfo::SetTokenContainer(void) { tokenContainer->DefineIntToken("{screenheight}", (int)eDRRecInfoIT::screenheight); tokenContainer->DefineIntToken("{isHD}", (int)eDRRecInfoIT::isHD); tokenContainer->DefineIntToken("{isUHD}", (int)eDRRecInfoIT::isUHD); + tokenContainer->DefineIntToken("{isRecording}", (int)eDRRecInfoIT::isRecording); tokenContainer->DefineIntToken("{isWideScreen}", (int)eDRRecInfoIT::isWideScreen); InheritTokenContainer(); } @@ -122,6 +123,7 @@ bool cVeDrRecInfo::Parse(bool force) { tokenContainer->AddIntToken((int)eDRRecInfoIT::screenheight, screenHeight); tokenContainer->AddIntToken((int)eDRRecInfoIT::isHD, isHD); tokenContainer->AddIntToken((int)eDRRecInfoIT::isUHD, isUHD); + tokenContainer->AddIntToken((int)eDRRecInfoIT::isRecording, recording->IsInUse() & ruTimer); tokenContainer->AddIntToken((int)eDRRecInfoIT::isWideScreen, isWideScreen); tokenContainer->AddStringToken((int)eDRRecInfoST::resolution, resName.c_str()); tokenContainer->AddStringToken((int)eDRRecInfoST::aspect, aspectName.c_str());