mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
Merge branch 'pbiering/recIsInUse-vdrIsRecording'
This commit is contained in:
commit
4b2861e030
4
HISTORY
4
HISTORY
@ -503,3 +503,7 @@ Version 1.2.15
|
||||
- [kamel5] Update Update italian tanslation in metrixhd and estuary4vdr
|
||||
- [pbiering] fix tuner device mapping in case tuners are not starting as first device
|
||||
- [kamel5] Fix cutting marks wasn't updated
|
||||
|
||||
Upcoming for Version 1.2.16+
|
||||
- [pbiering] add additional recording flag "isInUse" - can be used in skins for e.g. records in cutting/copy(queue)
|
||||
- [pbiering] add additional vdrstatus exposing "vdrIsRecordingsHandlersActive" and "vdrIsRecording" - can be used in skins for e.g. IDLE/BUSY REC/FREE
|
||||
|
@ -79,6 +79,7 @@ enum class eVeDisplayMenuMain {
|
||||
systemmemory,
|
||||
temperatures,
|
||||
vdrstatistics,
|
||||
vdrstatus,
|
||||
lastrecordings,
|
||||
customtokens,
|
||||
count
|
||||
@ -735,6 +736,12 @@ enum class eDMVdrstatisticsIT {
|
||||
count = 0
|
||||
};
|
||||
|
||||
enum class eDMVdrstatusIT {
|
||||
vdrIsRecordingsHandlersActive,
|
||||
vdrIsRecording,
|
||||
count
|
||||
};
|
||||
|
||||
enum class eDMTemperaturesST {
|
||||
count = 0
|
||||
};
|
||||
@ -1176,6 +1183,7 @@ enum class eLeMenuRecordingsIT {
|
||||
isUHD,
|
||||
isRadio,
|
||||
isRecording,
|
||||
isInUse,
|
||||
count
|
||||
};
|
||||
|
||||
@ -1226,6 +1234,7 @@ enum class eCeMenuRecordingsIT {
|
||||
isUHD,
|
||||
isRadio,
|
||||
isRecording,
|
||||
isInUse,
|
||||
count
|
||||
};
|
||||
|
||||
@ -1341,6 +1350,7 @@ enum class eDmDetailedHeaderRecIT {
|
||||
isUHD,
|
||||
isRadio,
|
||||
isRecording,
|
||||
isInUse,
|
||||
count
|
||||
};
|
||||
|
||||
@ -1453,6 +1463,7 @@ enum class eDmDetailedRecIT {
|
||||
isUHD,
|
||||
isRadio,
|
||||
isRecording,
|
||||
isInUse,
|
||||
count
|
||||
};
|
||||
|
||||
@ -1514,6 +1525,7 @@ enum class eDRRecInfoIT {
|
||||
isHD,
|
||||
isUHD,
|
||||
isRecording,
|
||||
isInUse,
|
||||
isWideScreen,
|
||||
count
|
||||
};
|
||||
|
@ -151,6 +151,7 @@
|
||||
tokenContainer->DefineIntToken("{isUHD}", (int)token_it::isUHD); \
|
||||
tokenContainer->DefineIntToken("{isRadio}", (int)token_it::isRadio); \
|
||||
tokenContainer->DefineIntToken("{isRecording}", (int)token_it::isRecording); \
|
||||
tokenContainer->DefineIntToken("{isInUse}", (int)token_it::isInUse); \
|
||||
tokenContainer->DefineStringToken("{recchannelname}", (int)token_st::recchannelname); \
|
||||
tokenContainer->DefineStringToken("{recchannelid}", (int)token_st::recchannelid); \
|
||||
}
|
||||
@ -209,6 +210,7 @@
|
||||
tokenContainer->AddIntToken((int)token_it::isUHD, RecordingIsUHD(event)); /* detect UHD from 'info' */ \
|
||||
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::isInUse, usedRecording->IsInUse()); \
|
||||
SetScraperRecordingPoster(tokenContainer, usedRecording, true); \
|
||||
}
|
||||
|
||||
|
@ -608,6 +608,7 @@ void cViewDetailRec::SetTokenContainer(void) {
|
||||
tokenContainer->DefineIntToken("{isUHD}", (int)eDmDetailedRecIT::isUHD);
|
||||
tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedRecIT::isRadio);
|
||||
tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedRecIT::isRecording);
|
||||
tokenContainer->DefineIntToken("{isInUse}", (int)eDmDetailedRecIT::isInUse);
|
||||
tokenContainer->DefineIntToken("{ismovie}", (int)eScraperIT::ismovie);
|
||||
tokenContainer->DefineIntToken("{moviebudget}", (int)eScraperIT::moviebudget);
|
||||
tokenContainer->DefineIntToken("{movierevenue}", (int)eScraperIT::movierevenue);
|
||||
@ -701,6 +702,7 @@ bool cViewDetailRec::Parse(bool forced) {
|
||||
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);
|
||||
tokenContainer->AddIntToken((int)eDmDetailedRecIT::isInUse, recording->IsInUse());
|
||||
}
|
||||
}
|
||||
SetRecInfos();
|
||||
|
@ -1059,6 +1059,7 @@ cViewMenuMain::cViewMenuMain(const char *name) : cSubView(name) {
|
||||
load = NULL;
|
||||
memory = NULL;
|
||||
vdrstats = NULL;
|
||||
vdrstatus = NULL;
|
||||
temperatures = NULL;
|
||||
currentSchedule = NULL;
|
||||
lastRecordings = NULL;
|
||||
@ -1084,6 +1085,7 @@ void cViewMenuMain::SetViewElements(void) {
|
||||
viewElementNames.insert(pair<string, int>("systemload", (int)eVeDisplayMenuMain::systemload));
|
||||
viewElementNames.insert(pair<string, int>("systemmemory", (int)eVeDisplayMenuMain::systemmemory));
|
||||
viewElementNames.insert(pair<string, int>("vdrstatistics", (int)eVeDisplayMenuMain::vdrstatistics));
|
||||
viewElementNames.insert(pair<string, int>("vdrstatus", (int)eVeDisplayMenuMain::vdrstatus));
|
||||
viewElementNames.insert(pair<string, int>("temperatures", (int)eVeDisplayMenuMain::temperatures));
|
||||
viewElementNames.insert(pair<string, int>("lastrecordings", (int)eVeDisplayMenuMain::lastrecordings));
|
||||
viewElementNames.insert(pair<string, int>("customtokens", (int)eVeDisplayMenuMain::customtokens));
|
||||
@ -1133,6 +1135,11 @@ void cViewMenuMain::SetViewElementObjects(void) {
|
||||
else if (viewElements[(int)eVeDisplayMenuMain::vdrstatistics])
|
||||
vdrstats = dynamic_cast<cVeDmVdrstatistics*>(viewElements[(int)eVeDisplayMenuMain::vdrstatistics]);
|
||||
|
||||
if (orientation == eOrientation::horizontal && viewElementsHorizontal[(int)eVeDisplayMenuMain::vdrstatus])
|
||||
vdrstatus = dynamic_cast<cVeDmVdrstatus*>(viewElementsHorizontal[(int)eVeDisplayMenuMain::vdrstatus]);
|
||||
else if (viewElements[(int)eVeDisplayMenuMain::vdrstatus])
|
||||
vdrstatus = dynamic_cast<cVeDmVdrstatus*>(viewElements[(int)eVeDisplayMenuMain::vdrstatus]);
|
||||
|
||||
if (orientation == eOrientation::horizontal && viewElementsHorizontal[(int)eVeDisplayMenuMain::temperatures])
|
||||
temperatures = dynamic_cast<cVeDmTemperatures*>(viewElementsHorizontal[(int)eVeDisplayMenuMain::temperatures]);
|
||||
else if (viewElements[(int)eVeDisplayMenuMain::temperatures])
|
||||
@ -1154,6 +1161,7 @@ void cViewMenuMain::SetViewElementObjects(void) {
|
||||
if (load) load->SetDetached();
|
||||
if (memory) memory->SetDetached();
|
||||
if (vdrstats) vdrstats->SetDetached();
|
||||
if (vdrstatus) vdrstatus->SetDetached();
|
||||
if (temperatures) temperatures->SetDetached();
|
||||
if (timers) timers->SetDetached();
|
||||
if (currentSchedule) currentSchedule->SetDetached();
|
||||
@ -1190,6 +1198,10 @@ void cViewMenuMain::Clear(void) {
|
||||
vdrstats->Reset();
|
||||
vdrstats->Hide();
|
||||
}
|
||||
|
||||
if (vdrstatus) {
|
||||
vdrstatus->Hide();
|
||||
}
|
||||
|
||||
if (temperatures) {
|
||||
temperatures->Reset();
|
||||
@ -1283,6 +1295,11 @@ void cViewMenuMain::DrawDynamicVEs(void) {
|
||||
if (vdrstats->Parse())
|
||||
vdrstats->Render();
|
||||
}
|
||||
if (vdrstatus) {
|
||||
vdrstatus->Show();
|
||||
if (vdrstatus->Parse())
|
||||
vdrstatus->Render();
|
||||
}
|
||||
if (temperatures) {
|
||||
temperatures->Show();
|
||||
if (temperatures->Parse())
|
||||
|
@ -188,6 +188,7 @@ private:
|
||||
cVeDmSystemload *load;
|
||||
cVeDmSystemmemory *memory;
|
||||
cVeDmVdrstatistics *vdrstats;
|
||||
cVeDmVdrstatus *vdrstatus;
|
||||
cVeDmTemperatures *temperatures;
|
||||
cVeDmCurrentschedule *currentSchedule;
|
||||
cVeDmLastrecordings *lastRecordings;
|
||||
@ -322,4 +323,4 @@ public:
|
||||
void SetTransparency(int transparency, bool forceDetached = false);
|
||||
};
|
||||
|
||||
#endif //__VIEWDISPLAYMENU_H
|
||||
#endif //__VIEWDISPLAYMENU_H
|
||||
|
@ -147,6 +147,8 @@ cViewElement *cViewElement::CreateViewElement(const char *name, const char *view
|
||||
e = new cVeDmTemperatures();
|
||||
else if (!strcmp(name, "vdrstatistics"))
|
||||
e = new cVeDmVdrstatistics();
|
||||
else if (!strcmp(name, "vdrstatus"))
|
||||
e = new cVeDmVdrstatus();
|
||||
else if (!strcmp(name, "lastrecordings"))
|
||||
e = new cVeDmLastrecordings();
|
||||
else if (!strcmp(name, "detailheaderepg"))
|
||||
|
@ -867,6 +867,36 @@ bool cVeDmVdrstatistics::Parse(bool forced) {
|
||||
return true;
|
||||
}
|
||||
/******************************************************************
|
||||
* cVeDmVdrstatus
|
||||
******************************************************************/
|
||||
cVeDmVdrstatus::cVeDmVdrstatus(void) {
|
||||
}
|
||||
|
||||
cVeDmVdrstatus::~cVeDmVdrstatus(void) {
|
||||
}
|
||||
|
||||
void cVeDmVdrstatus::Close(void) {
|
||||
cViewElement::Close();
|
||||
}
|
||||
|
||||
void cVeDmVdrstatus::SetTokenContainer(void) {
|
||||
tokenContainer = new skindesignerapi::cTokenContainer();
|
||||
tokenContainer->DefineIntToken("{vdrIsRecordingsHandlersActive}", (int)eDMVdrstatusIT::vdrIsRecordingsHandlersActive);
|
||||
tokenContainer->DefineIntToken("{vdrIsRecording}", (int)eDMVdrstatusIT::vdrIsRecording);
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
bool cVeDmVdrstatus::Parse(bool forced) {
|
||||
if (!cViewElement::Parse(forced))
|
||||
return false;
|
||||
|
||||
tokenContainer->Clear();
|
||||
tokenContainer->AddIntToken((int)eDMVdrstatusIT::vdrIsRecordingsHandlersActive, RecordingsHandler.Active());
|
||||
tokenContainer->AddIntToken((int)eDMVdrstatusIT::vdrIsRecording, cRecordControls::Active());
|
||||
SetDirty();
|
||||
return true;
|
||||
}
|
||||
/******************************************************************
|
||||
* cVeDmLastrecordings
|
||||
******************************************************************/
|
||||
cVeDmLastrecordings::cVeDmLastrecordings(void) {
|
||||
@ -1171,6 +1201,7 @@ void cVeDmDetailheaderRec::SetTokenContainer(void) {
|
||||
tokenContainer->DefineIntToken("{isUHD}", (int)eDmDetailedHeaderRecIT::isUHD);
|
||||
tokenContainer->DefineIntToken("{isRadio}", (int)eDmDetailedHeaderRecIT::isRadio);
|
||||
tokenContainer->DefineIntToken("{isRecording}", (int)eDmDetailedHeaderRecIT::isRecording);
|
||||
tokenContainer->DefineIntToken("{isInUse}", (int)eDmDetailedHeaderRecIT::isInUse);
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
@ -1220,6 +1251,7 @@ bool cVeDmDetailheaderRec::Parse(bool forced) {
|
||||
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);
|
||||
tokenContainer->AddIntToken((int)eDmDetailedHeaderRecIT::isInUse, recording->IsInUse());
|
||||
}
|
||||
|
||||
if (info->ChannelName() && (strlen(info->ChannelName()) > 0)) {
|
||||
|
@ -178,6 +178,18 @@ public:
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
/******************************************************************
|
||||
* cVeDmVdrstatus
|
||||
******************************************************************/
|
||||
class cVeDmVdrstatus : public cViewElement {
|
||||
public:
|
||||
cVeDmVdrstatus(void);
|
||||
virtual ~cVeDmVdrstatus(void);
|
||||
void Close(void);
|
||||
void SetTokenContainer(void);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
/******************************************************************
|
||||
* cVeDmLastrecordings
|
||||
******************************************************************/
|
||||
@ -253,4 +265,4 @@ public:
|
||||
void SetActiveTab(int activeTab) { SetDirty(); this->activeTab = activeTab; };
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
#endif //__VIEWELEMENTSDM_H
|
||||
#endif //__VIEWELEMENTSDM_H
|
||||
|
@ -120,6 +120,7 @@ void cVeDrRecInfo::SetTokenContainer(void) {
|
||||
tokenContainer->DefineIntToken("{isHD}", (int)eDRRecInfoIT::isHD);
|
||||
tokenContainer->DefineIntToken("{isUHD}", (int)eDRRecInfoIT::isUHD);
|
||||
tokenContainer->DefineIntToken("{isRecording}", (int)eDRRecInfoIT::isRecording);
|
||||
tokenContainer->DefineIntToken("{isInUse}", (int)eDRRecInfoIT::isInUse);
|
||||
tokenContainer->DefineIntToken("{isWideScreen}", (int)eDRRecInfoIT::isWideScreen);
|
||||
InheritTokenContainer();
|
||||
}
|
||||
@ -150,6 +151,7 @@ bool cVeDrRecInfo::Parse(bool force) {
|
||||
tokenContainer->AddIntToken((int)eDRRecInfoIT::isHD, isHD);
|
||||
tokenContainer->AddIntToken((int)eDRRecInfoIT::isUHD, isUHD);
|
||||
tokenContainer->AddIntToken((int)eDRRecInfoIT::isRecording, recording->IsInUse() & ruTimer);
|
||||
tokenContainer->AddIntToken((int)eDRRecInfoIT::isInUse, recording->IsInUse());
|
||||
tokenContainer->AddIntToken((int)eDRRecInfoIT::isWideScreen, isWideScreen);
|
||||
tokenContainer->AddStringToken((int)eDRRecInfoST::resolution, resName.c_str());
|
||||
tokenContainer->AddStringToken((int)eDRRecInfoST::aspect, aspectName.c_str());
|
||||
|
@ -218,6 +218,20 @@
|
||||
condition CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT vdrstatus (areacontainer|area|areascroll)*>
|
||||
<!ATTLIST vdrstatus
|
||||
delay CDATA #IMPLIED
|
||||
orientation CDATA #IMPLIED
|
||||
fadetime CDATA #IMPLIED
|
||||
shifttime CDATA #IMPLIED
|
||||
shifttype CDATA #IMPLIED
|
||||
shiftmode CDATA #IMPLIED
|
||||
startx CDATA #IMPLIED
|
||||
starty CDATA #IMPLIED
|
||||
debug CDATA #IMPLIED
|
||||
condition CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT currentschedule (areacontainer|area|areascroll)*>
|
||||
<!ATTLIST currentschedule
|
||||
delay CDATA #IMPLIED
|
||||
@ -316,7 +330,7 @@
|
||||
>
|
||||
|
||||
<!ELEMENT menumain (background | header | datetime | time | colorbuttons | scrollbar | sortmode | timers |
|
||||
discusage | devices | systemload | systemmemory | vdrstatistics | temperatures | currentschedule |
|
||||
discusage | devices | systemload | systemmemory | vdrstatistics | vdrstatus | temperatures | currentschedule |
|
||||
currentweather | lastrecordings | customtokens | menuitems)*>
|
||||
<!ATTLIST menumain
|
||||
x CDATA #REQUIRED
|
||||
@ -501,4 +515,4 @@
|
||||
debug (true|false) #IMPLIED
|
||||
>
|
||||
|
||||
%functions;
|
||||
%functions;
|
||||
|
@ -91,6 +91,13 @@
|
||||
<vdrstatistics>
|
||||
</vdrstatistics>
|
||||
|
||||
<!-- Available Variables vdrstatus
|
||||
{vdrIsRecordingsHandlersActive} true if active RecordingsHandlers (cut,copy,move) aka "busy"
|
||||
{vdrIsRecording} true if active recording
|
||||
-->
|
||||
<vdrstatus>
|
||||
</vdrstatus>
|
||||
|
||||
<!-- Available Variables tempreatures:
|
||||
{cputemp} current cpu temperature in °C
|
||||
{gputemp} current gpu temperature in °C
|
||||
|
Loading…
Reference in New Issue
Block a user