annotate audacious/main.h @ 781:12c47704b4b5 trunk

[svn] Add error reporting for many places, patch by external contributor Derek Pomery (nemo @ #audacious). Additional cleanups too.
author nenolod
date Thu, 02 Mar 2006 08:14:36 -0800
parents 8282b365f6cb
children a8fb5974c3a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
1 /* BMP - Cross-platform multimedia player
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
2 * Copyright (C) 2003-2004 BMP development team.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
3 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
4 * Based on XMMS:
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
5 * Copyright (C) 1998-2003 XMMS development team.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
6 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
10 * (at your option) any later version.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
11 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
15 * GNU General Public License for more details.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
16 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
20 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
21
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
22 #ifndef MAIN_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
23 #define MAIN_H
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
24
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
25 #include "mainwin.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
26 #include "textbox.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
27 #include "vis.h"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
28
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
29
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
30 #define BMP_USER_PLUGIN_DIR_BASENAME "Plugins"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31 #define BMP_SKIN_DIR_BASENAME "Skins"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 #define BMP_SKIN_THUMB_DIR_BASENAME ".thumbs"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 #define BMP_ACCEL_BASENAME "accels"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
34 #define BMP_CONFIG_BASENAME "config"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35 #define BMP_PLAYLIST_BASENAME "playlist.m3u"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
36 #define BMP_LOG_BASENAME "log"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
37
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
38 #define PLAYER_HEIGHT \
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
39 (cfg.player_shaded ? MAINWIN_SHADED_HEIGHT : MAINWIN_HEIGHT)
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
40 #define PLAYER_WIDTH MAINWIN_WIDTH
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
41
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
42 struct _BmpConfig {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
43 gint player_x, player_y;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
44 gint equalizer_x, equalizer_y;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
45 gint playlist_x, playlist_y;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
46 gint playlist_width, playlist_height;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
47 gint snap_distance;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
48 gboolean use_realtime;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
49 gboolean shuffle, repeat;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
50 gboolean doublesize, autoscroll;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
51 gboolean analyzer_peaks, equalizer_autoload, easy_move, equalizer_active;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
52 gboolean playlist_visible, equalizer_visible, player_visible;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
53 gboolean player_shaded, playlist_shaded, equalizer_shaded;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
54 gboolean allow_multiple_instances, always_show_cb;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
55 gboolean convert_underscore, convert_twenty;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
56 gboolean show_numbers_in_pl;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
57 gboolean snap_windows, save_window_position;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
58 gboolean dim_titlebar;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
59 gboolean get_info_on_load, get_info_on_demand;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
60 gboolean eq_doublesize_linked;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
61 gboolean sort_jump_to_file;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
62 gboolean use_eplugins;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
63 gboolean always_on_top, sticky;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
64 gboolean no_playlist_advance;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
65 gboolean smooth_title_scroll;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
66 gboolean use_pl_metadata;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
67 gboolean warn_about_unplayables;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
68 gboolean use_backslash_as_dir_delimiter;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
69 gboolean random_skin_on_play;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
70 gboolean use_fontsets;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
71 gboolean mainwin_use_xfont;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
72 gboolean custom_cursors;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
73 gboolean close_dialog_open;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
74 gboolean close_dialog_add;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
75 gfloat equalizer_preamp, equalizer_bands[10];
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
76 gchar *skin;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
77 gchar *outputplugin;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
78 gchar *filesel_path;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
79 gchar *playlist_path;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
80 gchar *playlist_font, *mainwin_font;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
81 gchar *disabled_iplugins;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
82 gchar *enabled_gplugins, *enabled_vplugins, *enabled_eplugins;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
83 gchar *eqpreset_default_file, *eqpreset_extension;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
84 GList *url_history;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
85 gint timer_mode;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
86 gint vis_type;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
87 gint analyzer_mode, analyzer_type;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
88 gint scope_mode;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
89 gint vu_mode, vis_refresh;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
90 gint analyzer_falloff, peaks_falloff;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
91 gint playlist_position;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
92 gint pause_between_songs_time;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
93 gboolean pause_between_songs;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
94 gboolean show_wm_decorations;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
95 gint mouse_change;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
96 gboolean playlist_transparent;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
97 gint titlestring_preset;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
98 gchar *gentitle_format;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
99 gboolean softvolume_enable;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
100 gboolean xmms_compat_mode;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
101 gboolean eq_extra_filtering;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
102 gint scroll_pl_by;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
103 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
104
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
105 typedef struct _BmpConfig BmpConfig;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
106
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
107 enum {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
108 VOLSET_STARTUP,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
109 VOLSET_UPDATE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
110 VOLUME_ADJUSTED,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
111 VOLUME_SET
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
112 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
113
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
114 enum {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
115 BMP_PATH_LOG_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
116 BMP_PATH_USER_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
117 BMP_PATH_USER_PLUGIN_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
118 BMP_PATH_USER_SKIN_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
119 BMP_PATH_SKIN_THUMB_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
120 BMP_PATH_ACCEL_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
121 BMP_PATH_CONFIG_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
122 BMP_PATH_PLAYLIST_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
123 BMP_PATH_COUNT
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
124 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
125
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
126 extern BmpConfig cfg;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
127 extern BmpConfig bmp_default_config;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
128
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
129 extern gchar *bmp_paths[];
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
130
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
131 extern const gchar *bmp_titlestring_presets[];
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
132 extern const guint n_titlestring_presets;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
133
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
134 extern GList *dock_window_list;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
135 extern gboolean pposition_broken;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
136
486
c4a560cb40f9 [svn] Always on top fix.
nenolod
parents: 0
diff changeset
137 extern gboolean starting_up;
c4a560cb40f9 [svn] Always on top fix.
nenolod
parents: 0
diff changeset
138
680
8282b365f6cb [svn] - Add some sanity checking to make sure we can't do X11 stuff when running headless.
nenolod
parents: 486
diff changeset
139 extern gboolean has_x11_connection;
8282b365f6cb [svn] - Add some sanity checking to make sure we can't do X11 stuff when running headless.
nenolod
parents: 486
diff changeset
140
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
141 void bmp_config_save(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
142 void bmp_config_load(void);
781
12c47704b4b5 [svn] Add error reporting for many places, patch by external contributor Derek
nenolod
parents: 680
diff changeset
143 void report_error(const gchar *error_text);
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
144
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
145 #endif