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