summaryrefslogtreecommitdiff
path: root/state.c
diff options
context:
space:
mode:
authorManuel Reimer <manuel.reimer@gmx.de>2021-02-05 19:21:35 +0100
committerGitHub <noreply@github.com>2021-02-05 19:21:35 +0100
commit74e176589043610a3f65bcb37bf3180aa39061fc (patch)
treecff7d41ca70afebf02ab7f9cb44edaea293b1926 /state.c
parenta21ba806ef957fc42c9d9eb9378fae6b5d186dcf (diff)
parenta96ef369124640874361cf108c47d3e5705df5cc (diff)
downloadvdr-plugin-graphlcd-74e176589043610a3f65bcb37bf3180aa39061fc.tar.gz
vdr-plugin-graphlcd-74e176589043610a3f65bcb37bf3180aa39061fc.tar.bz2
Merge pull request #5 from pbiering/enhance-up-to-three-recordings
Enhance up to three recordings lines in skin
Diffstat (limited to 'state.c')
-rw-r--r--state.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/state.c b/state.c
index 2f9780c..b6cc093 100644
--- a/state.c
+++ b/state.c
@@ -900,20 +900,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++;
}
@@ -922,6 +933,28 @@ std::string cGraphLCDState::Recordings(int CardNumber)
return ret;
}
+int cGraphLCDState::NumRecordings(int CardNumber)
+{
+ std::string ret = "";
+ std::vector <tRecording>::iterator it;
+ int count = 0;
+
+ mutex.Lock();
+ // dsyslog("%s/%s: called CardNumber=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber);
+ it = mRecordings.begin();
+ while (it != mRecordings.end())
+ {
+ if (CardNumber == -1 || it->deviceNumber == CardNumber)
+ {
+ count++;
+ }
+ it++;
+ }
+ mutex.Unlock();
+
+ return count;
+}
+
tOsdState cGraphLCDState::GetOsdState()
{
tOsdState ret;