aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-03-14 11:36:59 +0100
committerMax Kellermann <max@duempel.org>2009-03-14 11:36:59 +0100
commitb488355df8b652956131fdc77edae48acabd9f72 (patch)
tree4db6b0981988351ee807f122936891045d607f5f
parenta5017a2d7c03506f55cf7eb465ca7d254dfc14a9 (diff)
downloadmpd-b488355df8b652956131fdc77edae48acabd9f72.tar.gz
mpd-b488355df8b652956131fdc77edae48acabd9f72.tar.xz
mpd-b488355df8b652956131fdc77edae48acabd9f72.zip
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).
-rw-r--r--Makefile.am1
-rw-r--r--src/mixer_api.h9
-rw-r--r--src/mixer_list.h32
-rw-r--r--src/output/alsa_plugin.c2
-rw-r--r--src/output/oss_plugin.c2
-rw-r--r--src/output/pulse_plugin.c2
6 files changed, 37 insertions, 11 deletions
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 <glib.h>
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 <glib.h>
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 <glib.h>