support user-defined interval between syncing visualizer and audio outputs

This commit is contained in:
Andrzej Rybczak
2010-02-19 14:37:41 +01:00
parent 4bd9e9af79
commit be732f2f9d
5 changed files with 23 additions and 1 deletions

View File

@@ -386,6 +386,7 @@ void NcmpcppConfig::SetDefaults()
regex_type = 0;
lines_scrolled = 2;
search_engine_default_search_mode = 0;
visualizer_sync_interval = 30;
selected_item_suffix_length = 0;
now_playing_suffix_length = 0;
# ifdef HAVE_LANGINFO_H
@@ -1002,6 +1003,12 @@ void NcmpcppConfig::Read()
search_engine_default_search_mode = mode;
}
}
else if (cl.find("visualizer_sync_interval") != std::string::npos)
{
unsigned interval = StrToInt(v);
if (interval)
visualizer_sync_interval = interval;
}
else if (cl.find("song_window_title_format") != std::string::npos)
{
if (!v.empty())

View File

@@ -240,6 +240,7 @@ struct NcmpcppConfig
unsigned lines_scrolled;
unsigned search_engine_default_search_mode;
unsigned visualizer_sync_interval;
size_t selected_item_suffix_length;
size_t now_playing_suffix_length;

View File

@@ -111,9 +111,10 @@ void Visualizer::Update()
return;
}
if (itsOutputID != -1 && Global::Timer.tv_sec > itsTimer.tv_sec+120)
if (itsOutputID != -1 && Global::Timer.tv_sec > itsTimer.tv_sec+Config.visualizer_sync_interval)
{
Mpd.DisableOutput(itsOutputID);
usleep(50000);
Mpd.EnableOutput(itsOutputID);
gettimeofday(&itsTimer, 0);
}