summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2014-12-24 12:49:34 +0100
committerchriszero <zerov83@gmail.com>2014-12-24 12:49:34 +0100
commitf2e8e58acb8c4a5f0e1e18f1c87e89bf24f75699 (patch)
tree524e7aacd1ddc71893b331b5a5f3a456b1501b29
parent80d2476f00dfe67f28aa2c10e143c2aefcba3c32 (diff)
downloadvdr-plugin-boblight-f2e8e58acb8c4a5f0e1e18f1c87e89bf24f75699.tar.gz
vdr-plugin-boblight-f2e8e58acb8c4a5f0e1e18f1c87e89bf24f75699.tar.bz2
Some Fixes. SVDRP fixes.
-rw-r--r--ambithread.c21
-rw-r--r--main_menu.c2
-rw-r--r--vdrboblight.c86
3 files changed, 66 insertions, 43 deletions
diff --git a/ambithread.c b/ambithread.c
index dbecf9b..64ef3a0 100644
--- a/ambithread.c
+++ b/ambithread.c
@@ -230,6 +230,7 @@ int cAmbiThread::getOsd3DMode()
switch(cfg.osd3DMode) {
case osdAuto:
+ int tempOsd3DMode;
SoftHDDevice_Osd3DModeService_v1_1_t req;
req.GetMode = true;
if (!softHdPlugin->Service(OSD1_3DMODE_SERVICE, &req)) {
@@ -238,7 +239,6 @@ int cAmbiThread::getOsd3DMode()
}
// (0=off, 1=SBS, 2=Top Bottom)
- int tempOsd3DMode;
switch (req.Mode) {
case 0:
tempOsd3DMode = osdOff;
@@ -374,7 +374,10 @@ int cAmbiThread::putData()
else if(cfg.viewMode == vmAtmo) {
int row = 0;
- Pixel* p;
+ Pixel* p;
+
+ int scanWidth = 0;
+ int scanHeight = 0;
for (int y = 0; y < imageHeight; y++) {
// skip horizontal cinebars
@@ -394,19 +397,13 @@ int cAmbiThread::putData()
rgb[0] = p->r;
rgb[1] = p->g;
rgb[2] = p->b;
- bob.writeColor(rgb, x - yBarWidth, y - xBarHeight);
+ bob.writeColor(rgb, x - yBarWidth, y - xBarHeight);
+ scanWidth = x - yBarWidth;
+ scanHeight = y- xBarHeight;
}
}
if (barsChanged || osd3dChanged) {
- int width = imageWidth - (2*yBarWidth);
- int height = imageHeight - (2*xBarHeight);
- if(osd3DMode == 1) {
- width = width/2;
- }
- else if(osd3DMode == 2) {
- height = height/2;
- }
- bob.setScanRange(width, height);
+ bob.setScanRange(scanWidth, scanHeight);
if (barsChanged) barsChanged = false;
if (osd3dChanged) osd3dChanged = false;
diff --git a/main_menu.c b/main_menu.c
index 23658ee..aeaceb9 100644
--- a/main_menu.c
+++ b/main_menu.c
@@ -17,7 +17,7 @@ void cBoblightPluginMenu::Create(void) {
SetMenuCategory(mcPluginSetup);
Clear();
- Add(new cMenuEditStraItem(tr("3D Mode"), &cfg.osd3dMode, cAmbiService::osdCount, cAmbiService::osd3dModes));
+ Add(new cMenuEditStraItem(tr("3D Mode"), &cfg.osd3DMode, cAmbiService::osdCount, cAmbiService::osd3dModes));
Add(new cMenuEditStraItem(tr("View Mode"), &cfg.viewMode, cAmbiService::vmCount, cAmbiService::viewModes));
Add(new cMenuEditStraItem(tr("Startup View Mode"), &cfg.startupViewMode, cAmbiService::vmCount, cAmbiService::viewModes));
diff --git a/vdrboblight.c b/vdrboblight.c
index 7316606..2907b49 100644
--- a/vdrboblight.c
+++ b/vdrboblight.c
@@ -166,7 +166,59 @@ bool cPluginBoblight::Service(const char* Id, void* Data)
cString cPluginBoblight::SVDRPCommand(const char* Command, const char* Option, int &ReplyCode)
{
- if (!strcasecmp(Command, "MODE"))
+ if (!strcasecmp(Command, "3D"))
+ {
+ if (Option && strcasecmp(Option, "hsbs") == 0)
+ {
+ cfg.osd3DMode = cAmbiService::osdHSBS;
+
+ ReplyCode = 550;
+ return "3d-hsbs";
+ }
+ else if (Option && strcasecmp(Option, "hou") == 0)
+ {
+ cfg.osd3DMode = cAmbiService::osdHOU;
+
+ ReplyCode = 550;
+ return "3d-hou";
+ }
+ else if (Option && strcasecmp(Option, "off") == 0)
+ {
+ cfg.osd3DMode = cAmbiService::osdOff;
+
+ ReplyCode = 550;
+ return "3d-off";
+ }
+ else if (Option && strcasecmp(Option, "auto") == 0)
+ {
+ cfg.osd3DMode = cAmbiService::osdAuto;
+
+ ReplyCode = 550;
+ return "3d-auto";
+ }
+ else if(!Option || !strlen(Option)) {
+ switch(cfg.osd3DMode) {
+ case cAmbiService::osdAuto:
+ ReplyCode = 554;
+ return "auto";
+ case cAmbiService::osdOff:
+ ReplyCode = 555;
+ return "off";
+ case cAmbiService::osdHSBS:
+ ReplyCode = 556;
+ return "hsbs";
+ case cAmbiService::osdHOU:
+ ReplyCode = 557;
+ return "hou";
+ }
+ }
+ else
+ {
+ ReplyCode = 901;
+ return "Error: Unexpected option";
+ }
+ }
+ else if (!strcasecmp(Command, "MODE"))
{
if (Option && strcasecmp(Option, "atmo") == 0)
{
@@ -198,34 +250,6 @@ cString cPluginBoblight::SVDRPCommand(const char* Command, const char* Option, i
ReplyCode = 550;
return "detach";
}
- else if (Option && strcasecmp(Option, "3d-hsbs") == 0)
- {
- cfg.osd3DMode = cAmbiService::osdHSBS;
-
- ReplyCode = 550;
- return "3d-hsbs";
- }
- else if (Option && strcasecmp(Option, "3d-hou") == 0)
- {
- cfg.osd3DMode = cAmbiService::osdHOU;
-
- ReplyCode = 550;
- return "3d-hou";
- }
- else if (Option && strcasecmp(Option, "3d-off") == 0)
- {
- cfg.osd3DMode = cAmbiService::osdOff;
-
- ReplyCode = 550;
- return "3d-off";
- }
- else if (Option && strcasecmp(Option, "3d-auto") == 0)
- {
- cfg.osd3DMode = cAmbiService::osdAuto;
-
- ReplyCode = 550;
- return "3d-auto";
- }
else if(!Option || !strlen(Option)) {
switch(cfg.viewMode) {
case cAmbiService::vmAtmo:
@@ -257,7 +281,9 @@ const char** cPluginBoblight::SVDRPHelpPages(void)
static const char* HelpPages[] =
{
"MODE <mode>\n"
- " Set mode {atmo|fixed|black|detach}\n",
+ " Set mode {atmo|fixed|black|detach}\n"
+ "3D <mode>\n"
+ " Set 3D mode {auto|off|hsbs|hou}\n",
0
};