annotate audacious/main.h @ 887:a8fb5974c3a9 trunk

[svn] * Skin thumbnails are refreshable!
author nhjm449
date Sun, 26 Mar 2006 13:51:07 -0800
parents 12c47704b4b5
children 6afdd0d7e1e1
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
887
a8fb5974c3a9 [svn] * Skin thumbnails are refreshable!
nhjm449
parents: 781
diff changeset
29 #include <sys/types.h>
a8fb5974c3a9 [svn] * Skin thumbnails are refreshable!
nhjm449
parents: 781
diff changeset
30 #include <sys/stat.h>
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 #define BMP_USER_PLUGIN_DIR_BASENAME "Plugins"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 #define BMP_SKIN_DIR_BASENAME "Skins"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
34 #define BMP_SKIN_THUMB_DIR_BASENAME ".thumbs"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35 #define BMP_ACCEL_BASENAME "accels"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
36 #define BMP_CONFIG_BASENAME "config"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
37 #define BMP_PLAYLIST_BASENAME "playlist.m3u"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
38 #define BMP_LOG_BASENAME "log"
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
39
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
40 #define PLAYER_HEIGHT \
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
41 (cfg.player_shaded ? MAINWIN_SHADED_HEIGHT : MAINWIN_HEIGHT)
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
42 #define PLAYER_WIDTH MAINWIN_WIDTH
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
43
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
44 struct _BmpConfig {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
45 gint player_x, player_y;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
46 gint equalizer_x, equalizer_y;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
47 gint playlist_x, playlist_y;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
48 gint playlist_width, playlist_height;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
49 gint snap_distance;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
50 gboolean use_realtime;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
51 gboolean shuffle, repeat;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
52 gboolean doublesize, autoscroll;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
53 gboolean analyzer_peaks, equalizer_autoload, easy_move, equalizer_active;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
54 gboolean playlist_visible, equalizer_visible, player_visible;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
55 gboolean player_shaded, playlist_shaded, equalizer_shaded;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
56 gboolean allow_multiple_instances, always_show_cb;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
57 gboolean convert_underscore, convert_twenty;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
58 gboolean show_numbers_in_pl;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
59 gboolean snap_windows, save_window_position;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
60 gboolean dim_titlebar;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
61 gboolean get_info_on_load, get_info_on_demand;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
62 gboolean eq_doublesize_linked;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
63 gboolean sort_jump_to_file;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
64 gboolean use_eplugins;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
65 gboolean always_on_top, sticky;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
66 gboolean no_playlist_advance;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
67 gboolean smooth_title_scroll;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
68 gboolean use_pl_metadata;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
69 gboolean warn_about_unplayables;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
70 gboolean use_backslash_as_dir_delimiter;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
71 gboolean random_skin_on_play;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
72 gboolean use_fontsets;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
73 gboolean mainwin_use_xfont;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
74 gboolean custom_cursors;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
75 gboolean close_dialog_open;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
76 gboolean close_dialog_add;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
77 gfloat equalizer_preamp, equalizer_bands[10];
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
78 gchar *skin;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
79 gchar *outputplugin;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
80 gchar *filesel_path;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
81 gchar *playlist_path;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
82 gchar *playlist_font, *mainwin_font;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
83 gchar *disabled_iplugins;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
84 gchar *enabled_gplugins, *enabled_vplugins, *enabled_eplugins;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
85 gchar *eqpreset_default_file, *eqpreset_extension;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
86 GList *url_history;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
87 gint timer_mode;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
88 gint vis_type;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
89 gint analyzer_mode, analyzer_type;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
90 gint scope_mode;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
91 gint vu_mode, vis_refresh;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
92 gint analyzer_falloff, peaks_falloff;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
93 gint playlist_position;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
94 gint pause_between_songs_time;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
95 gboolean pause_between_songs;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
96 gboolean show_wm_decorations;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
97 gint mouse_change;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
98 gboolean playlist_transparent;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
99 gint titlestring_preset;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
100 gchar *gentitle_format;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
101 gboolean softvolume_enable;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
102 gboolean xmms_compat_mode;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
103 gboolean eq_extra_filtering;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
104 gint scroll_pl_by;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
105 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
106
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
107 typedef struct _BmpConfig BmpConfig;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
108
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
109 enum {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
110 VOLSET_STARTUP,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
111 VOLSET_UPDATE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
112 VOLUME_ADJUSTED,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
113 VOLUME_SET
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
114 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
115
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
116 enum {
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
117 BMP_PATH_LOG_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
118 BMP_PATH_USER_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
119 BMP_PATH_USER_PLUGIN_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
120 BMP_PATH_USER_SKIN_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
121 BMP_PATH_SKIN_THUMB_DIR,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
122 BMP_PATH_ACCEL_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
123 BMP_PATH_CONFIG_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
124 BMP_PATH_PLAYLIST_FILE,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
125 BMP_PATH_COUNT
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
126 };
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
127
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
128 extern BmpConfig cfg;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
129 extern BmpConfig bmp_default_config;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
130
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
131 extern gchar *bmp_paths[];
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
132
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
133 extern const gchar *bmp_titlestring_presets[];
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
134 extern const guint n_titlestring_presets;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
135
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
136 extern GList *dock_window_list;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
137 extern gboolean pposition_broken;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
138
486
c4a560cb40f9 [svn] Always on top fix.
nenolod
parents: 0
diff changeset
139 extern gboolean starting_up;
c4a560cb40f9 [svn] Always on top fix.
nenolod
parents: 0
diff changeset
140
680
8282b365f6cb [svn] - Add some sanity checking to make sure we can't do X11 stuff when running headless.
nenolod
parents: 486
diff changeset
141 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
142
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
143 void bmp_config_save(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
144 void bmp_config_load(void);
887
a8fb5974c3a9 [svn] * Skin thumbnails are refreshable!
nhjm449
parents: 781
diff changeset
145 void make_directory(const gchar * path, mode_t mode);
781
12c47704b4b5 [svn] Add error reporting for many places, patch by external contributor Derek
nenolod
parents: 680
diff changeset
146 void report_error(const gchar *error_text);
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
147
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
148 #endif