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