summaryrefslogtreecommitdiff
path: root/state.c
diff options
context:
space:
mode:
authorPeter Bieringer <pb@bieringer.de>2021-02-04 08:19:42 +0100
committerPeter Bieringer <pb@bieringer.de>2021-02-04 08:19:42 +0100
commit4470a14f7088c57e7e37e997fa3436ba4369b24b (patch)
tree0f12cb20dc7e75274d1aa62ee85f2f4e5eecdcbb /state.c
parent0d5decc077e8263db8f9cd4336fe53f6d52d3234 (diff)
downloadvdr-plugin-graphlcd-4470a14f7088c57e7e37e997fa3436ba4369b24b.tar.gz
vdr-plugin-graphlcd-4470a14f7088c57e7e37e997fa3436ba4369b24b.tar.bz2
add support for 3 dedicated recording lines and symbols: IsRecording1/2/3 and Recording1/2/3
Diffstat (limited to 'state.c')
-rw-r--r--state.c33
1 files changed, 31 insertions, 2 deletions
diff --git a/state.c b/state.c
index 2f9780c..d3233ce 100644
--- a/state.c
+++ b/state.c
@@ -872,15 +872,24 @@ tReplayState cGraphLCDState::GetReplayState()
return ret;
}
-bool cGraphLCDState::IsRecording(int CardNumber)
+bool cGraphLCDState::IsRecording(int CardNumber, int selector)
{
bool ret = false;
std::vector <tRecording>::iterator it;
+ int count = 0;
mutex.Lock();
+ // dsyslog("%s/%s: called CardNumber=%d selector=%d mRecordings.size=%lu", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector, mRecordings.size());
if (CardNumber == -1 && mRecordings.size() > 0)
{
+ if (selector > 0) {
+ if (mRecordings.size() >= (long unsigned int) selector) {
+ // dsyslog("%s/%s: selector hit CardNumber=%d selector=%d mRecordings.size=%lu", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector, mRecordings.size());
+ ret = true;
+ }
+ } else {
ret = true;
+ }
}
else
{
@@ -889,8 +898,17 @@ bool cGraphLCDState::IsRecording(int CardNumber)
{
if (it->deviceNumber == CardNumber)
{
+ count++;
+ if (selector > 0) {
+ if (count == selector) {
+ // dsyslog("%s/%s: selector hit CardNumber=%d selector=%d count=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector, count);
+ ret = true;
+ break;
+ }
+ } else {
ret = true;
break;
+ }
}
it++;
}
@@ -900,20 +918,31 @@ bool cGraphLCDState::IsRecording(int CardNumber)
return ret;
}
-std::string cGraphLCDState::Recordings(int CardNumber)
+std::string cGraphLCDState::Recordings(int CardNumber, int selector)
{
std::string ret = "";
std::vector <tRecording>::iterator it;
+ int count = 0;
mutex.Lock();
+ // dsyslog("%s/%s: called CardNumber=%d selector=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector);
it = mRecordings.begin();
while (it != mRecordings.end())
{
if (CardNumber == -1 || it->deviceNumber == CardNumber)
{
+ count++;
+ if (selector > 0) {
+ if (count == selector) {
+ // dsyslog("%s/%s: selector hit CardNumber=%d selector=%d count=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector, count);
+ ret += it->name;
+ break;
+ }
+ } else {
if (ret.length() > 0)
ret += "\n";
ret += it->name;
+ }
}
it++;
}