I have an Ahanix Dvine D5 case, which has a builtin 2x16 VFD. Whenever I watch a recording or live TV, MythTV correctly displays the channel name on the first line, and the program name/episode title on the second line.

The problem is that to the left of the channel name, there is also what looks like the letter "L". I figured out this is actually a progress bar character that LCDproc leaves there, apparently because the string of text that is being drawn over it is centered, but not the entire width of the display.

Since, as far as I can tell, Myth never uses the first line to display a progress bar, in the enclosed patch I simply skip the installation of this widget if there are 2 or fewer lines in the display. Perhaps it should never be initialized, I don't know; I only have this one type of display to test with.

Or, alternately, perhaps a string of exactly 16 (the display width) characters (space-padded) should be sent to LCDproc, to overwrite the unused progress bar.
--
Dan Wilga [EMAIL PROTECTED]
Web Administrator http://www.mtholyoke.edu
Mount Holyoke College Tel: 413-538-3027
South Hadley, MA 01075 "Who left the cake out in the rain?"
--- libs/libmyth/lcddevice.orig 2005-01-16 17:05:41.000000000 -0500
+++ libs/libmyth/lcddevice.cpp  2005-01-16 17:08:22.000000000 -0500
@@ -402,11 +402,12 @@
     sendToServer("widget_del Channel heartbeat");
     sendToServer("screen_set Channel priority 255");
     sendToServer("screen_set Channel backlight on");
     sendToServer("widget_add Channel topWidget string");
     sendToServer("widget_add Channel botWidget string");
-    sendToServer("widget_add Channel progressBar hbar");
+    if (lcdHeight > 2)
+        sendToServer("widget_add Channel progressBar hbar");

     // The Generic Screen

     sendToServer("screen_add Generic");
     sendToServer("widget_del Generic heartbeat");
@@ -1323,15 +1324,17 @@
 }

void LCD::outputChannel()
{
QString aString;
- aString = "widget_set Channel progressBar 1 ";
- aString += QString::number(lcdHeight);
- aString += " ";
- aString += QString::number((int)rint(progress * lcdWidth * cellWidth));
- sendToServer(aString);
+ if (lcdHeight > 2) {
+ aString = "widget_set Channel progressBar 1 ";
+ aString += QString::number(lcdHeight);
+ aString += " ";
+ aString += QString::number((int)rint(progress * lcdWidth * cellWidth));
+ sendToServer(aString);
+ }
}


 void LCD::outputGeneric()
 {
     QString aString;
@@ -1424,11 +1427,12 @@
 {
     stopAll();

     //  Remove all the widgets and screens for a clean exit from the server

-    sendToServer("widget_del Channel progressBar");
+    if (lcdHeight > 2)
+        sendToServer("widget_del Channel progressBar");
     sendToServer("widget_del Channel topWidget");
     sendToServer("screen_del Channel");

     sendToServer("widget_del Generic progressBar");
     sendToServer("widget_del Generic textWidget1");
_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to