The attached patch causes all non-"Blank" visualizations to disable the X screensaver/DPMS (using the gContext DoDisableScreensaver/DoRestoreScreensaver methods) while the visualizations are playing. This prevents the X screensaver from kicking on while the visualizations are being enjoyed :).
--Rob
Index: mythmusic/mythmusic/mainvisual.cpp =================================================================== RCS file: /var/lib/mythcvs/mythplugins/mythmusic/mythmusic/mainvisual.cpp,v retrieving revision 1.31 diff -u -r1.31 mainvisual.cpp --- mythmusic/mythmusic/mainvisual.cpp 5 Feb 2005 08:10:38 -0000 1.31 +++ mythmusic/mythmusic/mainvisual.cpp 1 May 2005 19:10:04 -0000 @@ -59,7 +59,15 @@ } } +VisualBase::VisualBase(bool screensaverenable) + : xscreensaverenable(screensaverenable) +{ + if (!gContext->GetScreensaverEnabled()) + return; + if (!xscreensaverenable) + gContext->DoDisableScreensaver(); +} MainVisual::MainVisual(QWidget *parent, const char *name) : QWidget( parent, name ), vis( 0 ), playing( FALSE ), fps( 20 ) @@ -834,6 +842,6 @@ // that derived classes // can destruct properly // + if (!xscreensaverenable) + gContext->DoRestoreScreensaver(); } - - Index: mythmusic/mythmusic/mainvisual.h =================================================================== RCS file: /var/lib/mythcvs/mythplugins/mythmusic/mythmusic/mainvisual.h,v retrieving revision 1.16 diff -u -r1.16 mainvisual.h --- mythmusic/mythmusic/mainvisual.h 9 Apr 2005 18:41:36 -0000 1.16 +++ mythmusic/mythmusic/mainvisual.h 1 May 2005 19:10:04 -0000 @@ -49,7 +49,8 @@ class VisualBase { public: - virtual ~VisualBase(); + VisualBase(bool screensaverenable = false); + virtual ~VisualBase(void); // return true if the output should stop virtual bool process( VisualNode *node ) = 0; @@ -59,6 +60,7 @@ protected: int fps; + bool xscreensaverenable; }; // base class to handle things like frame rate... Index: mythmusic/mythmusic/smartplaylist.cpp =================================================================== RCS file: /var/lib/mythcvs/mythplugins/mythmusic/mythmusic/smartplaylist.cpp,v retrieving revision 1.7 diff -u -r1.7 smartplaylist.cpp --- mythmusic/mythmusic/smartplaylist.cpp 10 Apr 2005 05:17:15 -0000 1.7 +++ mythmusic/mythmusic/smartplaylist.cpp 1 May 2005 19:10:06 -0000 @@ -32,19 +32,19 @@ static SmartPLField SmartPLFields[] = { - "", "", ftString, 0, 0, 0, - "Artist", "artist", ftString, 0, 0, 0, - "Album", "album", ftString, 0, 0, 0, - "Title", "title", ftString, 0, 0, 0, - "Genre", "genre", ftString, 0, 0, 0, - "Year", "year", ftNumeric, 1900, 2099, 2000, - "Track No.", "tracknum", ftNumeric, 0, 99, 0, - "Rating", "rating", ftNumeric, 0, 10, 0, - "Play Count", "playcount", ftNumeric, 0, 9999, 0, - "Compilation", "compilation", ftBoolean, 0, 0, 0, - "Comp. Artist", "compilation_artist", ftString, 0, 0, 0, - "Last Play", "FROM_DAYS(TO_DAYS(lastplay))", ftDate, 0, 0, 0, - "Date Imported", "FROM_DAYS(TO_DAYS(date_added))", ftDate, 0, 0, 0 + { "", "", ftString, 0, 0, 0 }, + { "Artist", "artist", ftString, 0, 0, 0 }, + { "Album", "album", ftString, 0, 0, 0 }, + { "Title", "title", ftString, 0, 0, 0 }, + { "Genre", "genre", ftString, 0, 0, 0 }, + { "Year", "year", ftNumeric, 1900, 2099, 2000 }, + { "Track No.", "tracknum", ftNumeric, 0, 99, 0 }, + { "Rating", "rating", ftNumeric, 0, 10, 0 }, + { "Play Count", "playcount", ftNumeric, 0, 9999, 0 }, + { "Compilation", "compilation", ftBoolean, 0, 0, 0 }, + { "Comp. Artist", "compilation_artist", ftString, 0, 0, 0 }, + { "Last Play", "FROM_DAYS(TO_DAYS(lastplay))", ftDate, 0, 0, 0 }, + { "Date Imported", "FROM_DAYS(TO_DAYS(date_added))", ftDate, 0, 0, 0 }, }; struct SmartPLOperator @@ -57,14 +57,14 @@ static SmartPLOperator SmartPLOperators[] = { - "is equal to", 1, false, true, - "is not equal to", 1, false, true, - "is greater than", 1, false, false, - "is less than", 1, false, false, - "starts with", 1, true, false, - "ends with", 1, true, false, - "contains", 1, true, false, - "is between", 2, false, false, + { "is equal to", 1, false, true }, + { "is not equal to", 1, false, true }, + { "is greater than", 1, false, false }, + { "is less than", 1, false, false }, + { "starts with", 1, true, false }, + { "ends with", 1, true, false }, + { "contains", 1, true, false }, + { "is between", 2, false, false }, }; static int SmartPLOperatorsCount = sizeof(SmartPLOperators) / sizeof(SmartPLOperators[0]); Index: mythmusic/mythmusic/visualize.cpp =================================================================== RCS file: /var/lib/mythcvs/mythplugins/mythmusic/mythmusic/visualize.cpp,v retrieving revision 1.12 diff -u -r1.12 visualize.cpp --- mythmusic/mythmusic/visualize.cpp 13 Feb 2004 06:02:56 -0000 1.12 +++ mythmusic/mythmusic/visualize.cpp 1 May 2005 19:10:07 -0000 @@ -349,6 +349,7 @@ Blank::Blank() + : VisualBase(true) { fps = 20; }
_______________________________________________ mythtv-dev mailing list mythtv-dev@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev