Mercurial > audlegacy
annotate src/audacious/ui_main_evlisteners.c @ 4411:628926f505f8
BmpConfig -> AudConfig, etc.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 31 Mar 2008 06:25:09 +0300 |
parents | 313dd79a2d24 |
children | a47288ced5d5 |
rev | line source |
---|---|
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
1 /* |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
2 * Audacious |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
3 * Copyright (c) 2006-2007 Audacious development team. |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
4 * |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
5 * This program is free software; you can redistribute it and/or modify |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
6 * it under the terms of the GNU General Public License as published by |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
7 * the Free Software Foundation; under version 3 of the License. |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
8 * |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
9 * This program is distributed in the hope that it will be useful, |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
12 * GNU General Public License for more details. |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
13 * |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
14 * You should have received a copy of the GNU General Public License |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
15 * along with this program. If not, see <http://www.gnu.org/licenses>. |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
16 * |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
17 * The Audacious team does not consider modular code linking to |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
18 * Audacious or using our public API to be a derived work. |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
19 */ |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
20 |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
21 #include <glib.h> |
3899
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
22 #include <math.h> |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
23 |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
24 #include "hook.h" |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
25 #include "playback.h" |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
26 #include "playlist.h" |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
27 #include "playlist_evmessages.h" |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
28 #include "playlist_evlisteners.h" |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
29 #include "visualization.h" |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
30 |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
31 #include "ui_main.h" |
3899
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
32 #include "ui_equalizer.h" |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
33 #include "ui_skinned_playstatus.h" |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
34 #include "ui_skinned_textbox.h" |
3248
3cf247e4508c
fix not updating playlist on title change
Tomasz Mon <desowin@gmail.com>
parents:
3197
diff
changeset
|
35 #include "ui_playlist.h" |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
36 |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
37 static gint song_info_timeout_source = 0; |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
38 static gint update_vis_timeout_source = 0; |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
39 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
40 /* XXX: there has to be a better way than polling here! */ |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
41 /* also: where should this function go? should it stay here? --mf0102 */ |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
42 static gboolean |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
43 update_vis_func(gpointer unused) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
44 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
45 if (!playback_get_playing()) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
46 return FALSE; |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
47 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
48 input_update_vis(playback_get_time()); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
49 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
50 return TRUE; |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
51 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
52 |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
53 static void |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
54 ui_main_evlistener_title_change(gpointer hook_data, gpointer user_data) |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
55 { |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
56 gchar *text = (gchar *) hook_data; |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
57 |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
58 ui_skinned_textbox_set_text(mainwin_info, text); |
3248
3cf247e4508c
fix not updating playlist on title change
Tomasz Mon <desowin@gmail.com>
parents:
3197
diff
changeset
|
59 playlistwin_update_list(playlist_get_active()); |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
60 g_free(text); |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
61 } |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
62 |
3197
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
63 static void |
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
64 ui_main_evlistener_hide_seekbar(gpointer hook_data, gpointer user_data) |
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
65 { |
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
66 mainwin_disable_seekbar(); |
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
67 } |
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
68 |
3899
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
69 static void |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
70 ui_main_evlistener_volume_change(gpointer hook_data, gpointer user_data) |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
71 { |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
72 gint *h_vol = (gint *) hook_data; |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
73 gint vl, vr, b, v; |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
74 |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
75 vl = CLAMP(h_vol[0], 0, 100); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
76 vr = CLAMP(h_vol[1], 0, 100); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
77 v = MAX(vl, vr); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
78 if (vl > vr) |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
79 b = (gint) rint(((gdouble) vr / vl) * 100) - 100; |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
80 else if (vl < vr) |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
81 b = 100 - (gint) rint(((gdouble) vl / vr) * 100); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
82 else |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
83 b = 0; |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
84 |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
85 mainwin_set_volume_slider(v); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
86 equalizerwin_set_volume_slider(v); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
87 mainwin_set_balance_slider(b); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
88 equalizerwin_set_balance_slider(b); |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
89 } |
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
90 |
4026
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
91 static void |
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
92 ui_main_evlistener_playback_initiate(gpointer hook_data, gpointer user_data) |
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
93 { |
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
94 playback_initiate(); |
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
95 } |
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
96 |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
97 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
98 ui_main_evlistener_playback_begin(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
99 { |
4360 | 100 PlaylistEntry *entry = (PlaylistEntry*)hook_data; |
101 g_return_if_fail(entry != NULL); | |
102 | |
103 equalizerwin_load_auto_preset(entry->filename); | |
104 input_set_eq(cfg.equalizer_active, cfg.equalizer_preamp, | |
105 cfg.equalizer_bands); | |
106 output_set_eq(cfg.equalizer_active, cfg.equalizer_preamp, | |
107 cfg.equalizer_bands); | |
108 | |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
109 ui_vis_clear_data(mainwin_vis); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
110 ui_svis_clear_data(mainwin_svis); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
111 mainwin_disable_seekbar(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
112 mainwin_update_song_info(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
113 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
114 if (cfg.player_shaded) { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
115 gtk_widget_show(mainwin_stime_min); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
116 gtk_widget_show(mainwin_stime_sec); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
117 gtk_widget_show(mainwin_sposition); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
118 } else { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
119 gtk_widget_show(mainwin_minus_num); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
120 gtk_widget_show(mainwin_10min_num); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
121 gtk_widget_show(mainwin_min_num); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
122 gtk_widget_show(mainwin_10sec_num); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
123 gtk_widget_show(mainwin_sec_num); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
124 gtk_widget_show(mainwin_position); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
125 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
126 |
4360 | 127 song_info_timeout_source = |
128 g_timeout_add_seconds(1, (GSourceFunc) mainwin_update_song_info, NULL); | |
129 | |
130 update_vis_timeout_source = | |
131 g_timeout_add(10, (GSourceFunc) update_vis_func, NULL); | |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
132 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
133 vis_playback_start(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
134 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
135 ui_skinned_playstatus_set_status(mainwin_playstatus, STATUS_PLAY); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
136 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
137 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
138 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
139 ui_main_evlistener_playback_stop(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
140 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
141 if (song_info_timeout_source) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
142 g_source_remove(song_info_timeout_source); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
143 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
144 vis_playback_stop(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
145 free_vis_data(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
146 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
147 ui_skinned_playstatus_set_buffering(mainwin_playstatus, FALSE); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
148 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
149 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
150 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
151 ui_main_evlistener_playback_pause(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
152 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
153 ui_skinned_playstatus_set_status(mainwin_playstatus, STATUS_PAUSE); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
154 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
155 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
156 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
157 ui_main_evlistener_playback_unpause(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
158 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
159 ui_skinned_playstatus_set_status(mainwin_playstatus, STATUS_PLAY); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
160 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
161 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
162 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
163 ui_main_evlistener_playback_seek(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
164 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
165 free_vis_data(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
166 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
167 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
168 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
169 ui_main_evlistener_playback_play_file(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
170 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
171 if (cfg.random_skin_on_play) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
172 skin_set_random_skin(); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
173 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
174 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
175 static void |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
176 ui_main_evlistener_playlist_info_change(gpointer hook_data, gpointer user_data) |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
177 { |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
178 PlaylistEventInfoChange *msg = (PlaylistEventInfoChange *) hook_data; |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
179 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
180 mainwin_set_song_info(msg->bitrate, msg->samplerate, msg->channels); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
181 |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
182 g_free(msg); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
183 } |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
184 |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
185 void |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
186 ui_main_evlistener_init(void) |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
187 { |
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
188 hook_associate("title change", ui_main_evlistener_title_change, NULL); |
3197
5dd8bc77a590
now "hide seekbar on streaming" uses message passing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3165
diff
changeset
|
189 hook_associate("hide seekbar", ui_main_evlistener_hide_seekbar, NULL); |
3899
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
190 hook_associate("volume set", ui_main_evlistener_volume_change, NULL); |
4026
17bf734f8187
avoid crash when audacious is launched with -p option.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3899
diff
changeset
|
191 hook_associate("playback initiate", ui_main_evlistener_playback_initiate, NULL); |
4359
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
192 hook_associate("playback begin", ui_main_evlistener_playback_begin, NULL); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
193 hook_associate("playback stop", ui_main_evlistener_playback_stop, NULL); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
194 hook_associate("playback pause", ui_main_evlistener_playback_pause, NULL); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
195 hook_associate("playback unpause", ui_main_evlistener_playback_unpause, NULL); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
196 hook_associate("playback seek", ui_main_evlistener_playback_seek, NULL); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
197 hook_associate("playback play file", ui_main_evlistener_playback_play_file, NULL); |
0becb809bdc9
moved most GUI-related functions from playback.c to ui_main_evlisteners.c
mf0102 <0102@gmx.at>
parents:
4026
diff
changeset
|
198 hook_associate("playlist info change", ui_main_evlistener_playlist_info_change, NULL); |
3165
8775dfc57ead
Remove mainwin_set_info_text() craq. Still some work to do.
William Pitcock <nenolod@atheme-project.org>
parents:
diff
changeset
|
199 } |
3899
2c768d923bcf
Add an event listener for volume changes.
William Pitcock <nenolod@atheme.org>
parents:
3248
diff
changeset
|
200 |