Mercurial > audlegacy
annotate src/audacious/main.h @ 4256:b0ca963fd965
adaptive scaler added, disabled hard limiter
author | Eugene Zagidullin <e.asphyx@gmail.com> |
---|---|
date | Wed, 06 Feb 2008 22:42:32 +0300 |
parents | 1ab015fe2ade |
children | a41fb6bc632a |
rev | line source |
---|---|
2313 | 1 /* Audacious - Cross-platform multimedia player |
2 * Copyright (C) 2005-2007 Audacious development team | |
3 * | |
4 * Based on BMP: | |
5 * Copyright (C) 2003-2004 BMP development team | |
6 * | |
7 * Based on XMMS: | |
8 * Copyright (C) 1998-2003 XMMS development team | |
9 * | |
10 * This program is free software; you can redistribute it and/or modify | |
11 * it under the terms of the GNU General Public License as published by | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
2968
diff
changeset
|
12 * the Free Software Foundation; under version 3 of the License. |
2313 | 13 * |
14 * This program is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
2968
diff
changeset
|
20 * along with this program. If not, see <http://www.gnu.org/licenses>. |
3123
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
21 * |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
22 * The Audacious team does not consider modular code linking to |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
23 * Audacious or using our public API to be a derived work. |
2313 | 24 */ |
25 | |
2386 | 26 #ifndef AUD_MAIN_H |
27 #define AUD_MAIN_H | |
2313 | 28 |
29 #ifdef _AUDACIOUS_CORE | |
30 # include "ui_main.h" | |
3742 | 31 # ifdef USE_DBUS |
32 # include "dbus-service.h" | |
33 # endif | |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3251
diff
changeset
|
34 #endif |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3251
diff
changeset
|
35 |
2313 | 36 #include <sys/types.h> |
37 #include <sys/stat.h> | |
38 | |
39 G_BEGIN_DECLS | |
40 | |
41 #define PLAYER_HEIGHT \ | |
4218
f1074a07ec09
mostly works, but the VIS is broken, and the eq window is too large...more bugs
Cristi Magherusan <majeru@atheme.org>
parents:
4216
diff
changeset
|
42 ((cfg.player_shaded ? MAINWIN_SHADED_HEIGHT : MAINWIN_HEIGHT) * (cfg.scaled ? cfg.scale_factor : 1)) |
2313 | 43 #define PLAYER_WIDTH \ |
4218
f1074a07ec09
mostly works, but the VIS is broken, and the eq window is too large...more bugs
Cristi Magherusan <majeru@atheme.org>
parents:
4216
diff
changeset
|
44 (MAINWIN_WIDTH * (cfg.scaled ? cfg.scale_factor : 1)) |
2313 | 45 |
4065
4bf76111e29e
introduce common debug print macro.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3965
diff
changeset
|
46 /* macro for debug print */ |
4067
cdf1fc0f5a0b
#if changed to #ifdef
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4065
diff
changeset
|
47 #ifdef AUD_DEBUG |
4065
4bf76111e29e
introduce common debug print macro.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3965
diff
changeset
|
48 # define AUDDBG(...) g_print("%s:%d %s(): ", __FILE__, (int)__LINE__, __FUNCTION__), g_print(__VA_ARGS__) |
4bf76111e29e
introduce common debug print macro.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3965
diff
changeset
|
49 #else |
4bf76111e29e
introduce common debug print macro.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3965
diff
changeset
|
50 # define AUDDBG(...) |
4bf76111e29e
introduce common debug print macro.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3965
diff
changeset
|
51 #endif |
4bf76111e29e
introduce common debug print macro.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3965
diff
changeset
|
52 |
2313 | 53 struct _BmpConfig { |
54 gint player_x, player_y; | |
55 gint equalizer_x, equalizer_y; | |
56 gint playlist_x, playlist_y; | |
57 gint playlist_width, playlist_height; | |
58 gint snap_distance; | |
59 gboolean use_realtime; | |
60 gboolean shuffle, repeat; | |
4216
75d99359357b
doublesize -> custom scale:
Cristi Magherusan <majeru@atheme.org>
parents:
4116
diff
changeset
|
61 gboolean scaled, autoscroll; |
2313 | 62 gboolean analyzer_peaks, equalizer_autoload, easy_move, equalizer_active; |
63 gboolean playlist_visible, equalizer_visible, player_visible; | |
64 gboolean player_shaded, playlist_shaded, equalizer_shaded; | |
65 gboolean allow_multiple_instances, always_show_cb; | |
66 gboolean convert_underscore, convert_twenty, convert_slash; | |
67 gboolean show_numbers_in_pl; | |
68 gboolean snap_windows, save_window_position; | |
69 gboolean dim_titlebar; | |
70 gboolean get_info_on_load, get_info_on_demand; | |
4216
75d99359357b
doublesize -> custom scale:
Cristi Magherusan <majeru@atheme.org>
parents:
4116
diff
changeset
|
71 gboolean eq_scaled_linked; |
2313 | 72 gboolean sort_jump_to_file; |
73 gboolean use_eplugins; | |
74 gboolean always_on_top, sticky; | |
75 gboolean no_playlist_advance; | |
76 gboolean stopaftersong; | |
77 gboolean refresh_file_list; | |
78 gboolean smooth_title_scroll; | |
79 gboolean use_pl_metadata; | |
80 gboolean warn_about_unplayables; | |
2651
4d5e6a8717dd
[svn] - allow the player to start with all of its windows hidden (but give a warning to the user, whose display can be disabled); also, try to remember player windows positions when they stay hidden between sessions
giacomo
parents:
2463
diff
changeset
|
81 gboolean warn_about_win_visibility; |
2313 | 82 gboolean use_backslash_as_dir_delimiter; |
83 gboolean random_skin_on_play; | |
84 gboolean use_fontsets; | |
4080 | 85 gboolean mainwin_use_bitmapfont; |
2313 | 86 gboolean custom_cursors; |
87 gboolean close_dialog_open; | |
88 gboolean close_dialog_add; | |
89 gfloat equalizer_preamp, equalizer_bands[10]; | |
4216
75d99359357b
doublesize -> custom scale:
Cristi Magherusan <majeru@atheme.org>
parents:
4116
diff
changeset
|
90 gfloat scale_factor; |
2313 | 91 gchar *skin; |
92 gchar *outputplugin; | |
93 gchar *filesel_path; | |
94 gchar *playlist_path; | |
95 gchar *playlist_font, *mainwin_font; | |
96 gchar *disabled_iplugins; | |
3227
2619f4c62abe
added Discovery plugin type
Cristi Magherusan <majeru@atheme-project.org>
parents:
3123
diff
changeset
|
97 gchar *enabled_gplugins, *enabled_vplugins, *enabled_eplugins, *enabled_dplugins ; |
2313 | 98 gchar *eqpreset_default_file, *eqpreset_extension; |
99 GList *url_history; | |
100 gint timer_mode; | |
101 gint vis_type; | |
102 gint analyzer_mode, analyzer_type; | |
103 gint scope_mode; | |
104 gint voiceprint_mode; | |
105 gint vu_mode, vis_refresh; | |
106 gint analyzer_falloff, peaks_falloff; | |
107 gint playlist_position; | |
108 gint pause_between_songs_time; | |
109 gboolean pause_between_songs; | |
110 gboolean show_wm_decorations; | |
111 gint mouse_change; | |
112 gboolean playlist_transparent; | |
113 gint titlestring_preset; | |
114 gchar *gentitle_format; | |
115 gboolean softvolume_enable; | |
116 gboolean xmms_compat_mode; | |
117 gboolean eq_extra_filtering; | |
118 gint scroll_pl_by; | |
119 gboolean resume_playback_on_startup; | |
120 gint resume_playback_on_startup_time; | |
121 gboolean show_separator_in_pl; | |
122 gchar *chardet_detector; | |
123 gchar *chardet_fallback; | |
124 gint output_buffer_size; | |
125 gboolean playlist_detect; | |
126 gboolean show_filepopup_for_tuple; | |
127 gchar *cover_name_include, *cover_name_exclude; | |
128 gboolean recurse_for_cover; | |
129 gint recurse_for_cover_depth; | |
130 gchar *session_uri_base; | |
131 gint filepopup_pixelsize; | |
132 gint filepopup_delay; | |
133 gboolean use_file_cover; | |
134 gboolean use_xmms_style_fileselector; | |
135 gboolean use_extension_probing; | |
136 gint colorize_r; gint colorize_g; gint colorize_b; | |
137 gboolean terminate; | |
2405 | 138 gboolean filepopup_showprogressbar; |
2805
6295535fbf49
[svn] - add toggle button to keep jtf dialog opened on jump.
yaz
parents:
2682
diff
changeset
|
139 gboolean close_jtf_dialog; |
2968
83f03505f819
add support for one-way text scroll.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2908
diff
changeset
|
140 gboolean twoway_scroll; |
3543
6b8c8e051c1b
Add new configuration option: Software Volume Control.
William Pitcock <nenolod@atheme.org>
parents:
3400
diff
changeset
|
141 gboolean software_volume_control; |
3965
aea8b763b134
Work around the issues with broken Gtk-Qt-Engine and Modern skins with inline GTK.
William Pitcock <nenolod@atheme.org>
parents:
3743
diff
changeset
|
142 gboolean warn_about_broken_gtk_engines; |
aea8b763b134
Work around the issues with broken Gtk-Qt-Engine and Modern skins with inline GTK.
William Pitcock <nenolod@atheme.org>
parents:
3743
diff
changeset
|
143 gboolean disable_inline_gtk; |
4116
5853d43e539a
remember filter entry in jtf dialog is extremely useful when jtf deals with large playlist. now this feature is configurable.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
4080
diff
changeset
|
144 gboolean remember_jtf_entry; |
4232
704607c1f858
1st attempt to integrate dithering and RG engine
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4218
diff
changeset
|
145 gint output_bit_depth; |
4236
1ab015fe2ade
RG icon added. some changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4232
diff
changeset
|
146 gboolean enable_replay_gain; |
1ab015fe2ade
RG icon added. some changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4232
diff
changeset
|
147 gboolean enable_clipping_prevention; |
1ab015fe2ade
RG icon added. some changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4232
diff
changeset
|
148 gboolean replay_gain_track; |
1ab015fe2ade
RG icon added. some changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4232
diff
changeset
|
149 gboolean replay_gain_album; |
4256
b0ca963fd965
adaptive scaler added, disabled hard limiter
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4236
diff
changeset
|
150 gboolean enable_adaptive_scaler; |
4236
1ab015fe2ade
RG icon added. some changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4232
diff
changeset
|
151 gfloat replay_gain_preamp; |
1ab015fe2ade
RG icon added. some changes
Eugene Zagidullin <e.asphyx@gmail.com>
parents:
4232
diff
changeset
|
152 gfloat default_gain; |
2313 | 153 }; |
154 | |
155 typedef struct _BmpConfig BmpConfig; | |
156 | |
157 enum { | |
158 VOLSET_STARTUP, | |
159 VOLSET_UPDATE, | |
160 VOLUME_ADJUSTED, | |
161 VOLUME_SET | |
162 }; | |
163 | |
164 enum { | |
165 BMP_PATH_LOG_FILE, | |
166 BMP_PATH_USER_DIR, | |
167 BMP_PATH_USER_PLUGIN_DIR, | |
168 BMP_PATH_USER_SKIN_DIR, | |
169 BMP_PATH_SKIN_THUMB_DIR, | |
3400
8764498b75ed
Add new playlists directory to paths
Kieran Clancy <clancy.kieran+audacious@gmail.com>
parents:
3346
diff
changeset
|
170 BMP_PATH_PLAYLISTS_DIR, |
2313 | 171 BMP_PATH_ACCEL_FILE, |
172 BMP_PATH_CONFIG_FILE, | |
173 BMP_PATH_PLAYLIST_FILE, | |
2463 | 174 BMP_PATH_GTKRC_FILE, |
2313 | 175 BMP_PATH_COUNT |
176 }; | |
177 | |
178 extern BmpConfig cfg; | |
179 extern BmpConfig bmp_default_config; | |
180 | |
181 extern gchar *bmp_paths[]; | |
182 | |
183 extern const gchar *bmp_titlestring_presets[]; | |
184 extern const guint n_titlestring_presets; | |
185 | |
186 extern const gchar *chardet_detector_presets[]; | |
187 extern const guint n_chardet_detector_presets; | |
188 | |
189 extern GList *dock_window_list; | |
190 | |
191 extern gboolean has_x11_connection; | |
192 | |
193 void bmp_config_save(void); | |
194 void bmp_config_load(void); | |
2682
c3cd6e47faf6
[svn] - make the evil 'reload plugins' button behave a bit better
giacomo
parents:
2651
diff
changeset
|
195 void bmp_config_free(void); |
2313 | 196 void make_directory(const gchar * path, mode_t mode); |
2908
6a474a7954a0
Allow for printf-style format strings to be passed to report_error() via g_strdup_vprintf().
William Pitcock <nenolod@atheme.org>
parents:
2907
diff
changeset
|
197 void report_error(const gchar *error_message, ...); |
2313 | 198 |
199 extern GCond *cond_scan; | |
200 extern GMutex *mutex_scan; | |
3743 | 201 #if defined(USE_DBUS) && defined(_AUDACIOUS_CORE) |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3251
diff
changeset
|
202 extern MprisPlayer *mpris; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3251
diff
changeset
|
203 #endif |
2313 | 204 |
205 G_END_DECLS | |
206 | |
207 #endif |