diff options
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 65 |
1 files changed, 43 insertions, 22 deletions
@@ -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); } |