diff options
-rw-r--r-- | skinconfig.c | 52 | ||||
-rw-r--r-- | state.c | 22 | ||||
-rw-r--r-- | state.h | 1 |
3 files changed, 33 insertions, 42 deletions
diff --git a/skinconfig.c b/skinconfig.c index f5ada81..d9fee5d 100644 --- a/skinconfig.c +++ b/skinconfig.c @@ -55,13 +55,9 @@ typedef enum _eTokenId tokPrivateRecordingStart, tokIsRecording, - tokIsRecording1, - tokIsRecording2, - tokIsRecording3, tokRecordings, - tokRecording1, - tokRecording2, - tokRecording3, + tokArrayRecordings, + tokNumRecordings, tokPrivateRecordingEnd, // present event @@ -214,13 +210,9 @@ static const std::string Tokens[tokCountToken] = "privateRecordingStart", "IsRecording", - "IsRecording1", - "IsRecording2", - "IsRecording3", "Recordings", - "Recording1", - "Recording2", - "Recording3", + "ArrayRecordings", + "NumRecordings", "privateRecordingEnd", "privatePresentStart", @@ -481,47 +473,23 @@ GLCD::cType cGraphLCDSkinConfig::GetToken(const GLCD::tSkinToken & Token) return mState->IsRecording(Token.Attrib.Number, 0); return mState->IsRecording(-1, 0); } - case tokIsRecording1: - { - if (Token.Attrib.Type == GLCD::aNumber) - return mState->IsRecording(Token.Attrib.Number, 1); - return mState->IsRecording(-1, 1); - } - case tokIsRecording2: - { - if (Token.Attrib.Type == GLCD::aNumber) - return mState->IsRecording(Token.Attrib.Number, 2); - return mState->IsRecording(-1, 2); - } - case tokIsRecording3: - { - if (Token.Attrib.Type == GLCD::aNumber) - return mState->IsRecording(Token.Attrib.Number, 3); - return mState->IsRecording(-1, 3); - } case tokRecordings: { if (Token.Attrib.Type == GLCD::aNumber) return mState->Recordings(Token.Attrib.Number, 0); return mState->Recordings(-1, 0); } - case tokRecording1: - { - if (Token.Attrib.Type == GLCD::aNumber) - return mState->Recordings(Token.Attrib.Number, 1); - return mState->Recordings(-1, 1); - } - case tokRecording2: + case tokArrayRecordings: { if (Token.Attrib.Type == GLCD::aNumber) - return mState->Recordings(Token.Attrib.Number, 2); - return mState->Recordings(-1, 2); + return mState->Recordings(-1, Token.Attrib.Number); + return false; } - case tokRecording3: + case tokNumRecordings: { if (Token.Attrib.Type == GLCD::aNumber) - return mState->Recordings(Token.Attrib.Number, 3); - return mState->Recordings(-1, 3); + return mState->NumRecordings(Token.Attrib.Number); + return mState->NumRecordings(-1); } default: break; @@ -951,6 +951,28 @@ std::string cGraphLCDState::Recordings(int CardNumber, int selector) 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; @@ -160,6 +160,7 @@ public: tReplayState GetReplayState(); bool IsRecording(int CardNumber, int selector); std::string Recordings(int CardNumber, int selector); + int NumRecordings(int CardNumber); tOsdState GetOsdState(); void ResetOsdStateScroll(); tVolumeState GetVolumeState(); |