Mercurial > audlegacy
comparison src/audacious/ui_new.c @ 4688:b3e2ea3f9297
display what would be played if user presses play button
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sat, 05 Jul 2008 15:42:03 +0200 |
parents | 9e70ca57b5dd |
children | a5707f571100 |
comparison
equal
deleted
inserted
replaced
4687:9e70ca57b5dd | 4688:b3e2ea3f9297 |
---|---|
83 { | 83 { |
84 playlist_next(playlist_get_active()); | 84 playlist_next(playlist_get_active()); |
85 } | 85 } |
86 | 86 |
87 static void | 87 static void |
88 set_song_title(gpointer hook_data, gpointer user_data) | 88 ui_set_current_song_title(gchar *text, gpointer user_data) |
89 { | 89 { |
90 gchar *title = | 90 gchar *title = g_strdup_printf("<big>%s</big>", text); |
91 g_strdup_printf("<big>%s</big>", | |
92 playlist_get_info_text(playlist_get_active())); | |
93 gtk_label_set_text(GTK_LABEL(label_current), title); | 91 gtk_label_set_text(GTK_LABEL(label_current), title); |
94 g_object_set(G_OBJECT(label_current), "use-markup", TRUE, NULL); | 92 g_object_set(G_OBJECT(label_current), "use-markup", TRUE, NULL); |
95 g_free(title); | 93 g_free(title); |
96 } | 94 } |
97 | 95 |
98 static gboolean | 96 static void |
99 update_song_info(gpointer hook_data, gpointer user_data) | 97 ui_playlist_update(Playlist *playlist, gpointer user_data) |
98 { | |
99 gchar *text = playlist_get_info_text(playlist); | |
100 ui_set_current_song_title(text, NULL); | |
101 g_free(text); | |
102 } | |
103 | |
104 static gboolean | |
105 ui_update_song_info(gpointer hook_data, gpointer user_data) | |
100 { | 106 { |
101 if (!playback_get_playing()) | 107 if (!playback_get_playing()) |
102 { | 108 { |
103 gtk_range_set_value(GTK_RANGE(slider), (gdouble)0); | 109 gtk_range_set_value(GTK_RANGE(slider), (gdouble)0); |
104 return FALSE; | 110 return FALSE; |
143 } | 149 } |
144 | 150 |
145 static void | 151 static void |
146 ui_playback_begin(gpointer hook_data, gpointer user_data) | 152 ui_playback_begin(gpointer hook_data, gpointer user_data) |
147 { | 153 { |
148 update_song_info(NULL, NULL); | 154 ui_update_song_info(NULL, NULL); |
149 update_song_timeout_source = | 155 update_song_timeout_source = |
150 g_timeout_add_seconds(1, (GSourceFunc) update_song_info, NULL); | 156 g_timeout_add_seconds(1, (GSourceFunc) ui_update_song_info, NULL); |
151 } | 157 } |
152 | 158 |
153 static void | 159 static void |
154 ui_playback_stop(gpointer hook_data, gpointer user_data) | 160 ui_playback_stop(gpointer hook_data, gpointer user_data) |
155 { | 161 { |
160 } | 166 } |
161 | 167 |
162 static void | 168 static void |
163 ui_playback_end(gpointer hook_data, gpointer user_data) | 169 ui_playback_end(gpointer hook_data, gpointer user_data) |
164 { | 170 { |
165 update_song_info(NULL, NULL); | 171 ui_update_song_info(NULL, NULL); |
166 } | 172 } |
167 | 173 |
168 static GtkToolItem * | 174 static GtkToolItem * |
169 gtk_toolbar_button_add(GtkWidget *toolbar, void(*callback)(), const gchar *stock_id) | 175 gtk_toolbar_button_add(GtkWidget *toolbar, void(*callback)(), const gchar *stock_id) |
170 { | 176 { |
252 gtk_scale_set_draw_value(GTK_SCALE(slider), FALSE); | 258 gtk_scale_set_draw_value(GTK_SCALE(slider), FALSE); |
253 /* TODO: make this configureable */ | 259 /* TODO: make this configureable */ |
254 gtk_range_set_update_policy(GTK_RANGE(slider), GTK_UPDATE_DELAYED); | 260 gtk_range_set_update_policy(GTK_RANGE(slider), GTK_UPDATE_DELAYED); |
255 gtk_box_pack_end(GTK_BOX(cvbox), slider, TRUE, TRUE, 0); | 261 gtk_box_pack_end(GTK_BOX(cvbox), slider, TRUE, TRUE, 0); |
256 | 262 |
257 hook_associate("title change", set_song_title, NULL); | 263 hook_associate("title change", (HookFunction) ui_set_current_song_title, NULL); |
258 hook_associate("playback seek", (HookFunction) update_song_info, NULL); | 264 hook_associate("playback seek", (HookFunction) ui_update_song_info, NULL); |
259 hook_associate("playback begin", (HookFunction) ui_playback_begin, NULL); | 265 hook_associate("playback begin", (HookFunction) ui_playback_begin, NULL); |
260 hook_associate("playback stop", (HookFunction) ui_playback_stop, NULL); | 266 hook_associate("playback stop", (HookFunction) ui_playback_stop, NULL); |
261 hook_associate("playback end", (HookFunction) ui_playback_end, NULL); | 267 hook_associate("playback end", (HookFunction) ui_playback_end, NULL); |
268 hook_associate("playlist update", (HookFunction) ui_playlist_update, NULL); | |
262 | 269 |
263 slider_change_handler_id = | 270 slider_change_handler_id = |
264 g_signal_connect(slider, "value-changed", | 271 g_signal_connect(slider, "value-changed", |
265 G_CALLBACK(ui_slider_value_changed_cb), NULL); | 272 G_CALLBACK(ui_slider_value_changed_cb), NULL); |
266 | 273 |
267 g_signal_connect(slider, "button-press-event", | 274 g_signal_connect(slider, "button-press-event", |
268 G_CALLBACK(ui_slider_button_press_cb), NULL); | 275 G_CALLBACK(ui_slider_button_press_cb), NULL); |
269 g_signal_connect(slider, "button-release-event", | 276 g_signal_connect(slider, "button-release-event", |
270 G_CALLBACK(ui_slider_button_release_cb), NULL); | 277 G_CALLBACK(ui_slider_button_release_cb), NULL); |
278 | |
279 ui_playlist_update(playlist_get_active(), NULL); | |
271 | 280 |
272 gtk_widget_show_all(window); | 281 gtk_widget_show_all(window); |
273 gtk_main(); | 282 gtk_main(); |
274 | 283 |
275 return TRUE; | 284 return TRUE; |