summaryrefslogtreecommitdiff
path: root/views/displayaudiotracksview.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-09-27 09:25:14 +0200
committerlouis <louis.braun@gmx.de>2014-09-27 09:25:14 +0200
commitb0509b5182b6e0d04f05e6b3d5676b0d21f51966 (patch)
tree22b302342f22843e0815eb5f516c85f1478cbf0b /views/displayaudiotracksview.c
downloadvdr-plugin-skindesigner-0.0.1.tar.gz
vdr-plugin-skindesigner-0.0.1.tar.bz2
initial commit version 0.0.10.0.1
Diffstat (limited to 'views/displayaudiotracksview.c')
-rw-r--r--views/displayaudiotracksview.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/views/displayaudiotracksview.c b/views/displayaudiotracksview.c
new file mode 100644
index 0000000..c4b9f9a
--- /dev/null
+++ b/views/displayaudiotracksview.c
@@ -0,0 +1,79 @@
+#define __STL_CONFIG_H
+#include <vdr/menu.h>
+#include "displayaudiotracksview.h"
+
+cDisplayAudiotracksView::cDisplayAudiotracksView(int numTracks, cTemplateView *tmplView) : cView(tmplView) {
+ DeleteOsdOnExit();
+ SetFadeTime(tmplView->GetNumericParameter(ptFadeTime));
+
+ this->numTracks = numTracks;
+
+ cTemplateViewList *tmplMenuItems = tmplView->GetViewList(vlMenuItem);
+ listView = NULL;
+ if (tmplMenuItems) {
+ listView = new cDisplayMenuListView(tmplMenuItems, numTracks);
+ }
+}
+
+cDisplayAudiotracksView::~cDisplayAudiotracksView() {
+ if (listView)
+ delete listView;
+ CancelSave();
+ FadeOut();
+}
+
+bool cDisplayAudiotracksView::createOsd(void) {
+ cRect osdSize = tmplView->GetOsdSize();
+ bool ok = CreateOsd(cOsd::OsdLeft() + osdSize.X(),
+ cOsd::OsdTop() + osdSize.Y(),
+ osdSize.Width(),
+ osdSize.Height());
+ return ok;
+}
+
+void cDisplayAudiotracksView::DrawBackground(void) {
+ if (!ViewElementImplemented(veBackground)) {
+ return;
+ }
+
+ map < string, string > stringTokens;
+ map < string, int > intTokens;
+
+ intTokens.insert(pair<string,int>("numtracks", numTracks));
+
+ DrawViewElement(veBackground, &stringTokens, &intTokens);
+}
+
+void cDisplayAudiotracksView::DrawHeader(const char *title, int audioChannel) {
+ if (!ViewElementImplemented(veHeader)) {
+ return;
+ }
+
+ map < string, string > stringTokens;
+ map < string, int > intTokens;
+
+ intTokens.insert(pair<string,int>("numtracks", numTracks));
+ if (audioChannel < 0) {
+ intTokens.insert(pair<string,int>("isac3", true));
+ intTokens.insert(pair<string,int>("isstereo", false));
+ } else {
+ intTokens.insert(pair<string,int>("isac3", false));
+ intTokens.insert(pair<string,int>("isstereo", true));
+ }
+ stringTokens.insert(pair<string,string>("title", title));
+
+ ClearViewElement(veHeader);
+ DrawViewElement(veHeader, &stringTokens, &intTokens);
+}
+
+void cDisplayAudiotracksView::RenderMenuItems(void) {
+ if (listView)
+ listView->Render();
+}
+
+void cDisplayAudiotracksView::Action(void) {
+ SetInitFinished();
+ FadeIn();
+ DoFlush();
+ cView::Action();
+}