--- mythplugins/mythmusic/mythmusic/globalsettings.cpp	2007-05-10 18:07:06.000000000 +0200
+++ mythplugins/mythmusic/mythmusic/globalsettings.cpp	2007-05-10 18:06:32.000000000 +0200
@@ -381,6 +381,16 @@
     return gc;
 };
 
+static HostCheckBox *ShowVisualCycleOnSongChange()
+{
+    HostCheckBox *gc = new HostCheckBox("ShowVisualCycleOnSongChange");
+    gc->setLabel(QObject::tr("Show the type of visualizer on each song instead of song information"));
+    gc->setValue(false);
+    gc->setHelpText(QObject::tr("Show the changed visualizer when the song "
+                    "changes. Otherwise song information will be shown."));
+    return gc;
+};
+
 static HostCheckBox *ShowAlbumArtOnSongChange()
 {
     HostCheckBox *gc = new HostCheckBox("VisualAlbumArtOnSongChange");
@@ -641,6 +651,7 @@
     connect(button, SIGNAL(pressed()), SLOT(showVisEditor()));
 
     playersettings3->addChild(VisualCycleOnSongChange());
+    playersettings3->addChild(ShowVisualCycleOnSongChange());
     playersettings3->addChild(ShowAlbumArtOnSongChange());
     playersettings3->addChild(VisualRandomize());
     playersettings3->addChild(VisualModeDelay());
--- mythplugins/mythmusic/mythmusic/playbackbox.cpp	2007-05-10 18:07:06.000000000 +0200
+++ mythplugins/mythmusic/mythmusic/playbackbox.cpp	2007-05-10 18:04:32.000000000 +0200
@@ -90,6 +90,7 @@
     showrating = gContext->GetNumSetting("MusicShowRatings", 0);
     listAsShuffled = gContext->GetNumSetting("ListAsShuffled", 0);
     cycle_visualizer = gContext->GetNumSetting("VisualCycleOnSongChange", 0);
+    show_cycle_visualizer = gContext->GetNumSetting("ShowVisualCycleOnSongChange", 0);
     show_album_art = gContext->GetNumSetting("VisualAlbumArtOnSongChange", 0);
     random_visualizer = gContext->GetNumSetting("VisualRandomize", 0);
 
@@ -514,7 +515,6 @@
             else if (action == "SELECT")
             {
                 music_tree_list->select();
-                if (visualizer_status > 0 && cycle_visualizer)
                     CycleVisualizer();
             }
             else if (action == "REFRESH") 
@@ -1316,8 +1316,15 @@
         mainvisual->setVisual("Blank");
         mainvisual->setVisual(visual_modes[current_visual]);
     }
-
-    bannerEnable(tr("Visualization: ") + visual_modes[current_visual], 4000);
+    if (show_cycle_visualizer)
+    {
+        bannerEnable(tr("Visualization: ") + visual_modes[current_visual], 4000);
+    }
+    else
+    {
+        bannerEnable(curMeta, show_album_art);
+    }
 }
 
 void PlaybackBoxMusic::setTrackOnLCD(Metadata *mdata)
--- mythplugins/mythmusic/mythmusic/playbackbox.h	2007-05-10 18:07:06.000000000 +0200
+++ mythplugins/mythmusic/mythmusic/playbackbox.h	2007-05-10 18:05:15.000000000 +0200
@@ -195,6 +195,7 @@
     GenericTree *playlist_tree;
 
     bool cycle_visualizer;
+    bool show_cycle_visualizer;
     bool random_visualizer;
     bool show_album_art;
     bool show_whole_tree;
