1 /* WMix -- a mixer using the OSS mixer API
2 * Copyright (C)2014 Christophe CURIS for the WindowMaker Team
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 /* include/config.h: functions related to setting the configuration */
23 #define EXCLUDE_MAX_COUNT 100
25 /* Global Configuration */
26 extern struct _Config
{
27 char *file
; /* full path to config file name */
28 char *display_name
; /* X Display to connect to */
29 char *mixer_device
; /* device file to use for controlling Mixer volumes */
31 int api
; /* Sound API (0 = ALSA, 1 = OSS) */
32 unsigned int verbose
: 1; /* be Verbose when starting */
33 unsigned int osd
: 1; /* show OSD? */
34 unsigned int mousewheel
: 1; /* mousewheel enabled? */
35 unsigned int scrolltext
: 1; /* scroll channel names? */
36 unsigned int mmkeys
: 1; /* grab multimedia keys for volume control */
38 unsigned int wheel_button_up
; /* up button */
39 unsigned int wheel_button_down
; /* down button */
41 float scrollstep
; /* scroll mouse step adjustment */
42 char *osd_color
; /* osd color */
43 char *osd_monitor_name
; /* monitor name to display osd on */
44 int osd_monitor_number
; /* monitor number to display osd on */
46 char *exclude_channel
[EXCLUDE_MAX_COUNT
+ 1]; /* Devices to exclude from GUI's list */
49 /* Default color for OSD */
50 extern const char default_osd_color
[];
52 /* Sets the default values in the config */
53 void config_init(void);
55 /* Release memory associated with configuration (this concern only stuff needed during startup) */
56 void config_release(void);
58 /* Sets configuration from command line */
59 void parse_cli_options(int argc
, char **argv
);
61 /* Read configuration from file */
62 void config_read(void);
64 /* Set some default values based on configuration choices */
65 void config_set_defaults();
67 #endif /* WMIX_CONFIG_H */