# HG changeset patch # User mf0102 <0102@gmx.at> # Date 1211119593 -7200 # Node ID 47cc110bef0c471ccb7a8575fa535f2acdfbe5d7 # Parent 1fe29814b90c00298652ee19bfbd7d13ff0d40c2 Hookify a visualization function diff -r 1fe29814b90c -r 47cc110bef0c src/audacious/ui_main_evlisteners.c --- a/src/audacious/ui_main_evlisteners.c Sun May 18 09:12:30 2008 +0200 +++ b/src/audacious/ui_main_evlisteners.c Sun May 18 16:06:33 2008 +0200 @@ -263,6 +263,15 @@ } static void +ui_main_evlistener_visualization_timeout(gpointer hook_data, gpointer user_data) +{ + if (cfg.player_shaded && cfg.player_visible) + ui_svis_timeout_func(mainwin_svis, hook_data); + else + ui_vis_timeout_func(mainwin_vis, hook_data); +} + +static void ui_main_evlistener_config_save(gpointer hook_data, gpointer user_data) { ConfigDb *db = (ConfigDb *) hook_data; @@ -301,6 +310,7 @@ hook_associate("ui jump to track show", ui_main_evlistener_ui_jump_to_track_show, NULL); hook_associate("filebrowser show", ui_main_evlistener_filebrowser_show, NULL); hook_associate("filebrowser hide", ui_main_evlistener_filebrowser_hide, NULL); + hook_associate("visualization timeout", ui_main_evlistener_visualization_timeout, NULL); hook_associate("config save", ui_main_evlistener_config_save, NULL); } diff -r 1fe29814b90c -r 47cc110bef0c src/audacious/visualization.c --- a/src/audacious/visualization.c Sun May 18 09:12:30 2008 +0200 +++ b/src/audacious/visualization.c Sun May 18 16:06:33 2008 +0200 @@ -284,12 +284,8 @@ gint i; if (!pcm_data || nch < 1) { - if (cfg.vis_type != VIS_OFF) { - if (cfg.player_shaded && cfg.player_visible) - ui_svis_timeout_func(mainwin_svis, NULL); - else - ui_vis_timeout_func(mainwin_vis, NULL); - } + if (cfg.vis_type != VIS_OFF) + hook_call("visualization timeout", NULL); return; } @@ -471,10 +467,8 @@ intern_vis_data[i] = 0; */ } } - if (cfg.player_shaded && cfg.player_visible) - ui_svis_timeout_func(mainwin_svis, intern_vis_data); - else - ui_vis_timeout_func(mainwin_vis, intern_vis_data); + + hook_call("visualization timeout", intern_vis_data); } void