From b488355df8b652956131fdc77edae48acabd9f72 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 14 Mar 2009 11:36:59 +0100 Subject: [PATCH] mixer_api: moved mixer_plugin imports to mixer_list.h This patch allows the output plugins to import only mixer_list.h, instead of the full mixer_api.h (which would expose internal structures). --- Makefile.am | 1 + src/mixer_api.h | 9 +-------- src/mixer_list.h | 32 ++++++++++++++++++++++++++++++++ src/output/alsa_plugin.c | 2 +- src/output/oss_plugin.c | 2 +- src/output/pulse_plugin.c | 2 +- 6 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 src/mixer_list.h diff --git a/Makefile.am b/Makefile.am index e93e3413f..f00e709f7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -82,6 +82,7 @@ mpd_headers = \ src/mixer_all.h \ src/mixer_api.h \ src/mixer_control.h \ + src/mixer_list.h \ src/event_pipe.h \ src/mixer_plugin.h \ src/daemon.h \ diff --git a/src/mixer_api.h b/src/mixer_api.h index a02ab2dd5..a29b79a0b 100644 --- a/src/mixer_api.h +++ b/src/mixer_api.h @@ -21,14 +21,7 @@ #define MPD_MIXER_H #include "mixer_plugin.h" - -/* - * list of currently implemented mixers - */ - -extern const struct mixer_plugin alsa_mixer; -extern const struct mixer_plugin oss_mixer; -extern const struct mixer_plugin pulse_mixer; +#include "mixer_list.h" struct mixer { const struct mixer_plugin *plugin; diff --git a/src/mixer_list.h b/src/mixer_list.h new file mode 100644 index 000000000..7db4a00d8 --- /dev/null +++ b/src/mixer_list.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2003-2009 The Music Player Daemon Project + * http://www.musicpd.org + * + * 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. + */ + +/** \file + * + * This header provides "extern" declarations for all mixer plugins. + */ + +#ifndef MPD_MIXER_LIST_H +#define MPD_MIXER_LIST_H + +extern const struct mixer_plugin alsa_mixer; +extern const struct mixer_plugin oss_mixer; +extern const struct mixer_plugin pulse_mixer; + +#endif diff --git a/src/output/alsa_plugin.c b/src/output/alsa_plugin.c index 15728a10f..69f4d500f 100644 --- a/src/output/alsa_plugin.c +++ b/src/output/alsa_plugin.c @@ -18,7 +18,7 @@ */ #include "../output_api.h" -#include "../mixer_api.h" +#include "mixer_list.h" #include "mixer_control.h" #include diff --git a/src/output/oss_plugin.c b/src/output/oss_plugin.c index b3a2257b7..87ab68a08 100644 --- a/src/output/oss_plugin.c +++ b/src/output/oss_plugin.c @@ -18,7 +18,7 @@ */ #include "../output_api.h" -#include "../mixer_api.h" +#include "mixer_list.h" #include "mixer_control.h" #include diff --git a/src/output/pulse_plugin.c b/src/output/pulse_plugin.c index b62b431a5..d32e539bf 100644 --- a/src/output/pulse_plugin.c +++ b/src/output/pulse_plugin.c @@ -18,7 +18,7 @@ */ #include "../output_api.h" -#include "../mixer_api.h" +#include "mixer_list.h" #include "mixer_control.h" #include