diff --git a/HISTORY b/HISTORY index bf82928..154076a 100644 --- a/HISTORY +++ b/HISTORY @@ -397,3 +397,6 @@ Version 0.6.1 - added version check for skinrepositiries Version 0.6.2 + +- added progressmodeonly viewelement in displayreplay + diff --git a/displayreplay.c b/displayreplay.c index 3d5e346..b57a696 100644 --- a/displayreplay.c +++ b/displayreplay.c @@ -59,6 +59,7 @@ void cSDDisplayReplay::SetMode(bool Play, bool Forward, int Speed) { } else { replayView->ClearOnPause(); } + replayView->DrawControlIcons(Play, Forward, Speed, modeOnly); initialModeSet = true; } @@ -103,7 +104,16 @@ void cSDDisplayReplay::Flush(void) { replayView->DrawDate(); replayView->DrawTime(); } - + if (modeOnly) { + cControl *control = cControl::Control(); + if (control) { + double fps = control->FramesPerSecond(); + int current = 0; + int total = 0; + if (control->GetIndex(current, total)) + replayView->DrawProgressModeOnly(fps, current, total); + } + } if (initial && initialModeSet) { replayView->DrawBackground(modeOnly); replayView->DrawCustomTokens(); diff --git a/dtd/displayreplay.dtd b/dtd/displayreplay.dtd index e0bfa3b..f15fb74 100644 --- a/dtd/displayreplay.dtd +++ b/dtd/displayreplay.dtd @@ -5,7 +5,7 @@ + + + tm_hour; + int mins = p->tm_min; + int secs = p->tm_sec; + if (hours > 0) { + return *cString::sprintf("%d:%02d:%02d", hours, mins, secs); + } + return *cString::sprintf("%02d:%02d", mins, secs);; +} + + //View Helpers string GetScreenResolutionString(int width, int height, bool *isHD) { string name = ""; diff --git a/libcore/helpers.h b/libcore/helpers.h index b370eb0..74ed7d3 100644 --- a/libcore/helpers.h +++ b/libcore/helpers.h @@ -41,6 +41,8 @@ public: void Stop(const char* message); }; +string GetTimeString(int seconds); + string GetScreenResolutionString(int width, int height, bool *isHD); string GetScreenAspectString(double aspect, bool *isWideScreen); diff --git a/libtemplate/templateview.c b/libtemplate/templateview.c index 363c37a..fcedee8 100644 --- a/libtemplate/templateview.c +++ b/libtemplate/templateview.c @@ -1739,6 +1739,7 @@ void cTemplateViewReplay::SetViewElements(void) { viewElementsAllowed.insert("cutmarks"); viewElementsAllowed.insert("controlicons"); viewElementsAllowed.insert("controliconsmodeonly"); + viewElementsAllowed.insert("progressmodeonly"); viewElementsAllowed.insert("jump"); viewElementsAllowed.insert("message"); viewElementsAllowed.insert("onpause"); @@ -1785,6 +1786,9 @@ string cTemplateViewReplay::GetViewElementName(eViewElement ve) { case veControlIconsModeOnly: name = "Control Icons Mode only"; break; + case veProgressModeOnly: + name = "Progress Mode only"; + break; case veBackgroundModeOnly: name = "Background Mode only"; break; @@ -1839,6 +1843,8 @@ void cTemplateViewReplay::AddPixmap(string sViewElement, cTemplatePixmapNode *pi ve = veControlIcons; } else if (!sViewElement.compare("controliconsmodeonly")) { ve = veControlIconsModeOnly; + } else if (!sViewElement.compare("progressmodeonly")) { + ve = veProgressModeOnly; } else if (!sViewElement.compare("backgroundmodeonly")) { ve = veBackgroundModeOnly; } else if (!sViewElement.compare("jump")) { diff --git a/libtemplate/templateviewelement.h b/libtemplate/templateviewelement.h index cbc2911..32f2ecc 100644 --- a/libtemplate/templateviewelement.h +++ b/libtemplate/templateviewelement.h @@ -68,6 +68,7 @@ enum eViewElement { veCuttingMarks, veControlIcons, veControlIconsModeOnly, + veProgressModeOnly, veBackgroundModeOnly, veRecJump, veOnPause, diff --git a/skinskeleton/xmlfiles/displayreplay.xml b/skinskeleton/xmlfiles/displayreplay.xml index 98bc451..911b6be 100644 --- a/skinskeleton/xmlfiles/displayreplay.xml +++ b/skinskeleton/xmlfiles/displayreplay.xml @@ -122,11 +122,21 @@ + + + + +