support user-defined interval between syncing visualizer and audio outputs
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user