summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2005-01-11 17:59:04 +0000
committerlordjaxom <lordjaxom>2005-01-11 17:59:04 +0000
commit212331440624cc0c7a077ca6695a752c36866154 (patch)
treee1c169888122eab0395746bd567519c3c89bfb8e
parentf95be33f7fe4559d3d243f4f00d1669f1cb2fdc6 (diff)
downloadvdr-plugin-text2skin-212331440624cc0c7a077ca6695a752c36866154.tar.gz
vdr-plugin-text2skin-212331440624cc0c7a077ca6695a752c36866154.tar.bz2
- implemented audio channel name token
-rw-r--r--display.c22
-rw-r--r--display.h5
2 files changed, 23 insertions, 4 deletions
diff --git a/display.c b/display.c
index ba7916c..fae5217 100644
--- a/display.c
+++ b/display.c
@@ -1,5 +1,5 @@
/*
- * $Id: display.c,v 1.7 2005/01/09 18:43:00 lordjaxom Exp $
+ * $Id: display.c,v 1.8 2005/01/11 17:59:04 lordjaxom Exp $
*/
#include "render.h"
@@ -952,12 +952,15 @@ cxType cText2SkinDisplayMenu::GetTokenData(const txToken &Token)
#if VDRVERSNUM >= 10318
// --- cText2SkinDisplayTracks ------------------------------------------------
+const std::string ChannelNames[] = { "", "stereo", "left", "right" };
+
cText2SkinDisplayTracks::cText2SkinDisplayTracks(cText2SkinLoader *Loader, const char *Title,
int NumTracks, const char * const *Tracks):
cText2SkinRender(Loader, cxDisplay::audioTracks),
mTitle(Title),
mItems(),
- mCurrentItem((uint)-1)
+ mCurrentItem((uint)-1),
+ mAudioChannel(-1)
{
for (int i = 0; i < NumTracks; ++i) {
tListItem item(Tracks[i]);
@@ -969,6 +972,11 @@ cText2SkinDisplayTracks::~cText2SkinDisplayTracks()
{
}
+const std::string &cText2SkinDisplayTracks::ChannelName(int AudioChannel)
+{
+ return ChannelNames[AudioChannel + 1];
+}
+
void cText2SkinDisplayTracks::SetTrack(int Index, const char * const *Tracks)
{
UpdateLock();
@@ -981,7 +989,12 @@ void cText2SkinDisplayTracks::SetTrack(int Index, const char * const *Tracks)
void cText2SkinDisplayTracks::SetAudioChannel(int AudioChannel)
{
- //XXX
+ UpdateLock();
+ if (mAudioChannel != AudioChannel) {
+ mAudioChannel = AudioChannel;
+ SetDirty();
+ }
+ UpdateUnlock();
}
cxType cText2SkinDisplayTracks::GetTokenData(const txToken &Token)
@@ -1017,6 +1030,9 @@ cxType cText2SkinDisplayTracks::GetTokenData(const txToken &Token)
case tIsMenuCurrent:
return mItems.size() > (uint)Token.Index && mCurrentItem == (uint)Token.Index;
+
+ case tAudioChannel:
+ return mAudioChannel;
default:
return cText2SkinRender::GetTokenData(Token);
diff --git a/display.h b/display.h
index 41abe81..e97ad6d 100644
--- a/display.h
+++ b/display.h
@@ -1,5 +1,5 @@
/*
- * $Id: display.h,v 1.6 2005/01/09 18:43:00 lordjaxom Exp $
+ * $Id: display.h,v 1.7 2005/01/11 17:59:04 lordjaxom Exp $
*/
#ifndef VDR_TEXT2SKIN_SKIN_H
@@ -203,12 +203,15 @@ private:
tListItems mItems;
uint mCurrentItem;
+ int mAudioChannel;
protected:
virtual cxType GetTokenData(const txToken &Token);
virtual bool HasTabText(int Index, int n);
public:
+ static const std::string &ChannelName(int AudioChannel);
+
cText2SkinDisplayTracks(cText2SkinLoader *Loader, const char *Title, int NumTracks,
const char * const *Tracks);
virtual ~cText2SkinDisplayTracks();