summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'config.c')
-rw-r--r--config.c65
1 files changed, 43 insertions, 22 deletions
diff --git a/config.c b/config.c
index 86ceb87..9c7eea5 100644
--- a/config.c
+++ b/config.c
@@ -26,6 +26,7 @@ const int kColorDepths = 4;
const int kSizes = 6;
const int kFrameModes = 3;
+const int kInfoPositions = 4;
const char *ColorDepthItems[] = {
"Greyscale (16)",
@@ -49,6 +50,13 @@ const char *FrameModeItems[] = {
"I-, P-, B-Frames"
};
+const char *InfoPositionItems[] = {
+ "top left",
+ "top right",
+ "bottom left",
+ "bottom right"
+};
+
cOsdPipSetup OsdPipSetup;
cOsdPipSetup::cOsdPipSetup(void) {
@@ -63,20 +71,26 @@ cOsdPipSetup::cOsdPipSetup(void) {
FrameMode = kFrameModeI;
FrameDrop = 0;
SwapFfmpeg = 1;
+ ShowInfo = 1;
+ InfoWidth = 400;
+ InfoPosition = kInfoBottomLeft;
}
bool cOsdPipSetup::SetupParse(const char *Name, const char *Value) {
- if (strcmp(Name, "XPosition") == 0) XPosition = atoi(Value);
- else if (strcmp(Name, "YPosition") == 0) YPosition = atoi(Value);
- else if (strcmp(Name, "CropLeft") == 0) CropLeft = atoi(Value);
- else if (strcmp(Name, "CropRight") == 0) CropRight = atoi(Value);
- else if (strcmp(Name, "CropTop") == 0) CropTop = atoi(Value);
- else if (strcmp(Name, "CropBottom") == 0) CropBottom = atoi(Value);
- else if (strcmp(Name, "ColorDepth") == 0) ColorDepth = atoi(Value);
- else if (strcmp(Name, "Size") == 0) Size = atoi(Value);
- else if (strcmp(Name, "FrameMode") == 0) FrameMode = atoi(Value);
- else if (strcmp(Name, "FrameDrop") == 0) FrameDrop = atoi(Value);
- else if (strcmp(Name, "SwapFfmpeg") == 0) SwapFfmpeg = atoi(Value);
+ if (strcmp(Name, "XPosition") == 0) XPosition = atoi(Value);
+ else if (strcmp(Name, "YPosition") == 0) YPosition = atoi(Value);
+ else if (strcmp(Name, "CropLeft") == 0) CropLeft = atoi(Value);
+ else if (strcmp(Name, "CropRight") == 0) CropRight = atoi(Value);
+ else if (strcmp(Name, "CropTop") == 0) CropTop = atoi(Value);
+ else if (strcmp(Name, "CropBottom") == 0) CropBottom = atoi(Value);
+ else if (strcmp(Name, "ColorDepth") == 0) ColorDepth = atoi(Value);
+ else if (strcmp(Name, "Size") == 0) Size = atoi(Value);
+ else if (strcmp(Name, "FrameMode") == 0) FrameMode = atoi(Value);
+ else if (strcmp(Name, "FrameDrop") == 0) FrameDrop = atoi(Value);
+ else if (strcmp(Name, "SwapFfmpeg") == 0) SwapFfmpeg = atoi(Value);
+ else if (strcmp(Name, "ShowInfo") == 0) ShowInfo = atoi(Value);
+ else if (strcmp(Name, "InfoWidth") == 0) InfoWidth = atoi(Value);
+ else if (strcmp(Name, "InfoPosition") == 0) InfoPosition = atoi(Value);
else return false;
return true;
}
@@ -99,6 +113,10 @@ cOsdPipSetupPage::cOsdPipSetupPage(void) {
&m_NewOsdPipSetup.FrameMode, kFrameModes, FrameModeItems));
Add(new cMenuEditIntItem(tr("Drop frames"), &m_NewOsdPipSetup.FrameDrop, 0, 2));
Add(new cMenuEditBoolItem(tr("Swap FFMPEG output"), &m_NewOsdPipSetup.SwapFfmpeg));
+ Add(new cMenuEditBoolItem(tr("Show info window"), &m_NewOsdPipSetup.ShowInfo));
+ Add(new cMenuEditIntItem(tr("Info window width"), &m_NewOsdPipSetup.InfoWidth, 200, 600));
+ Add(new cMenuEditStraItem(tr("Info window position"),
+ &m_NewOsdPipSetup.InfoPosition, kInfoPositions, InfoPositionItems));
}
cOsdPipSetupPage::~cOsdPipSetupPage() {
@@ -107,15 +125,18 @@ cOsdPipSetupPage::~cOsdPipSetupPage() {
void cOsdPipSetupPage::Store(void) {
OsdPipSetup = m_NewOsdPipSetup;
- SetupStore("XPosition", OsdPipSetup.XPosition);
- SetupStore("YPosition", OsdPipSetup.YPosition);
- SetupStore("CropLeft", OsdPipSetup.CropLeft);
- SetupStore("CropRight", OsdPipSetup.CropRight);
- SetupStore("CropTop", OsdPipSetup.CropTop);
- SetupStore("CropBottom", OsdPipSetup.CropBottom);
- SetupStore("ColorDepth", OsdPipSetup.ColorDepth);
- SetupStore("Size", OsdPipSetup.Size);
- SetupStore("FrameMode", OsdPipSetup.FrameMode);
- SetupStore("FrameDrop", OsdPipSetup.FrameDrop);
- SetupStore("SwapFfmpeg", OsdPipSetup.SwapFfmpeg);
+ SetupStore("XPosition", OsdPipSetup.XPosition);
+ SetupStore("YPosition", OsdPipSetup.YPosition);
+ SetupStore("CropLeft", OsdPipSetup.CropLeft);
+ SetupStore("CropRight", OsdPipSetup.CropRight);
+ SetupStore("CropTop", OsdPipSetup.CropTop);
+ SetupStore("CropBottom", OsdPipSetup.CropBottom);
+ SetupStore("ColorDepth", OsdPipSetup.ColorDepth);
+ SetupStore("Size", OsdPipSetup.Size);
+ SetupStore("FrameMode", OsdPipSetup.FrameMode);
+ SetupStore("FrameDrop", OsdPipSetup.FrameDrop);
+ SetupStore("SwapFfmpeg", OsdPipSetup.SwapFfmpeg);
+ SetupStore("ShowInfo", OsdPipSetup.ShowInfo);
+ SetupStore("InfoWidth", OsdPipSetup.InfoWidth);
+ SetupStore("InfoPosition", OsdPipSetup.InfoPosition);
}