aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-09-17 08:54:28 +0200
committerMax Kellermann <max@duempel.org>2011-09-17 19:51:41 +0200
commit3c9bcdd34701196c3d662888c3506a2a001cb252 (patch)
tree38d452f11a5d104e192cd1990947872e1713ea69
parent3934d2d30cf97271dc7b33e3b77b101f09f916e7 (diff)
downloadmpd-3c9bcdd34701196c3d662888c3506a2a001cb252.tar.gz
mpd-3c9bcdd34701196c3d662888c3506a2a001cb252.tar.xz
mpd-3c9bcdd34701196c3d662888c3506a2a001cb252.zip
output: per-plugin header
Move the "extern" declarations from output_list.c, for more type safety.
-rw-r--r--Makefile.am15
-rw-r--r--src/output/alsa_output_plugin.c1
-rw-r--r--src/output/alsa_output_plugin.h25
-rw-r--r--src/output/ao_output_plugin.c1
-rw-r--r--src/output/ao_output_plugin.h25
-rw-r--r--src/output/ffado_output_plugin.c1
-rw-r--r--src/output/ffado_output_plugin.h25
-rw-r--r--src/output/fifo_output_plugin.c1
-rw-r--r--src/output/fifo_output_plugin.h25
-rw-r--r--src/output/httpd_output_plugin.c1
-rw-r--r--src/output/httpd_output_plugin.h25
-rw-r--r--src/output/jack_output_plugin.c1
-rw-r--r--src/output/jack_output_plugin.h25
-rw-r--r--src/output/mvp_output_plugin.c1
-rw-r--r--src/output/mvp_output_plugin.h25
-rw-r--r--src/output/null_output_plugin.c1
-rw-r--r--src/output/null_output_plugin.h25
-rw-r--r--src/output/openal_output_plugin.c1
-rw-r--r--src/output/openal_output_plugin.h25
-rw-r--r--src/output/oss_output_plugin.c1
-rw-r--r--src/output/oss_output_plugin.h25
-rw-r--r--src/output/osx_output_plugin.c1
-rw-r--r--src/output/osx_output_plugin.h25
-rw-r--r--src/output/pipe_output_plugin.c1
-rw-r--r--src/output/pipe_output_plugin.h25
-rw-r--r--src/output/pulse_output_plugin.h2
-rw-r--r--src/output/raop_output_plugin.c1
-rw-r--r--src/output/raop_output_plugin.h6
-rw-r--r--src/output/recorder_output_plugin.c1
-rw-r--r--src/output/recorder_output_plugin.h25
-rw-r--r--src/output/roar_output_plugin.c1
-rw-r--r--src/output/roar_output_plugin.h12
-rw-r--r--src/output/shout_output_plugin.c1
-rw-r--r--src/output/shout_output_plugin.h25
-rw-r--r--src/output/solaris_output_plugin.c1
-rw-r--r--src/output/solaris_output_plugin.h25
-rw-r--r--src/output/winmm_output_plugin.c1
-rw-r--r--src/output/winmm_output_plugin.h8
-rw-r--r--src/output_list.c39
39 files changed, 440 insertions, 35 deletions
diff --git a/Makefile.am b/Makefile.am
index c07262d9a..f77f40273 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -144,9 +144,6 @@ mpd_headers = \
src/open.h \
src/output/httpd_client.h \
src/output/httpd_internal.h \
- src/output/pulse_output_plugin.h \
- src/output/roar_output_plugin.h \
- src/output/winmm_output_plugin.h \
src/page.h \
src/pcm_buffer.h \
src/pcm_utils.h \
@@ -735,12 +732,14 @@ MIXER_SRC = \
src/mixer/software_mixer_plugin.c
if HAVE_ALSA
-OUTPUT_SRC += src/output/alsa_output_plugin.c
+OUTPUT_SRC += \
+ src/output/alsa_output_plugin.c src/output/alsa_output_plugin.h
MIXER_SRC += src/mixer/alsa_mixer_plugin.c
endif
if HAVE_ROAR
-OUTPUT_SRC += src/output/roar_output_plugin.c
+OUTPUT_SRC += \
+ src/output/roar_output_plugin.c src/output/roar_output_plugin.h
MIXER_SRC += src/mixer/roar_mixer_plugin.c
endif
@@ -791,7 +790,8 @@ OUTPUT_LIBS += $(OPENSSL_LIBS)
endif
if HAVE_PULSE
-OUTPUT_SRC += src/output/pulse_output_plugin.c
+OUTPUT_SRC += \
+ src/output/pulse_output_plugin.c src/output/pulse_output_plugin.h
MIXER_SRC += src/mixer/pulse_mixer_plugin.c
endif
@@ -815,7 +815,8 @@ OUTPUT_SRC += src/output/solaris_output_plugin.c
endif
if ENABLE_WINMM_OUTPUT
-OUTPUT_SRC += src/output/winmm_output_plugin.c
+OUTPUT_SRC += \
+ src/output/winmm_output_plugin.c src/output/winmm_output_plugin.h
MIXER_SRC += src/mixer/winmm_mixer_plugin.c
endif
diff --git a/src/output/alsa_output_plugin.c b/src/output/alsa_output_plugin.c
index 0bbe231fd..380c3b359 100644
--- a/src/output/alsa_output_plugin.c
+++ b/src/output/alsa_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "alsa_output_plugin.h"
#include "output_api.h"
#include "mixer_list.h"
diff --git a/src/output/alsa_output_plugin.h b/src/output/alsa_output_plugin.h
new file mode 100644
index 000000000..304ce4012
--- /dev/null
+++ b/src/output/alsa_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_ALSA_OUTPUT_PLUGIN_H
+#define MPD_ALSA_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin alsaPlugin;
+
+#endif
diff --git a/src/output/ao_output_plugin.c b/src/output/ao_output_plugin.c
index 33366d3b8..e85d97d6e 100644
--- a/src/output/ao_output_plugin.c
+++ b/src/output/ao_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "ao_output_plugin.h"
#include "output_api.h"
#include <ao/ao.h>
diff --git a/src/output/ao_output_plugin.h b/src/output/ao_output_plugin.h
new file mode 100644
index 000000000..9a3a47c05
--- /dev/null
+++ b/src/output/ao_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_AO_OUTPUT_PLUGIN_H
+#define MPD_AO_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin ao_output_plugin;
+
+#endif
diff --git a/src/output/ffado_output_plugin.c b/src/output/ffado_output_plugin.c
index 1a4ec3919..af74419a9 100644
--- a/src/output/ffado_output_plugin.c
+++ b/src/output/ffado_output_plugin.c
@@ -30,6 +30,7 @@
*/
#include "config.h"
+#include "ffado_output_plugin.h"
#include "output_api.h"
#include "timer.h"
diff --git a/src/output/ffado_output_plugin.h b/src/output/ffado_output_plugin.h
new file mode 100644
index 000000000..4dde01859
--- /dev/null
+++ b/src/output/ffado_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_FFADO_OUTPUT_PLUGIN_H
+#define MPD_FFADO_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin ffado_output_plugin;
+
+#endif
diff --git a/src/output/fifo_output_plugin.c b/src/output/fifo_output_plugin.c
index 708062552..db250e81c 100644
--- a/src/output/fifo_output_plugin.c
+++ b/src/output/fifo_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "fifo_output_plugin.h"
#include "output_api.h"
#include "utils.h"
#include "timer.h"
diff --git a/src/output/fifo_output_plugin.h b/src/output/fifo_output_plugin.h
new file mode 100644
index 000000000..85f7985e1
--- /dev/null
+++ b/src/output/fifo_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_FIFO_OUTPUT_PLUGIN_H
+#define MPD_FIFO_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin fifo_output_plugin;
+
+#endif
diff --git a/src/output/httpd_output_plugin.c b/src/output/httpd_output_plugin.c
index 3f570c7b9..abbd78ad2 100644
--- a/src/output/httpd_output_plugin.c
+++ b/src/output/httpd_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "httpd_output_plugin.h"
#include "httpd_internal.h"
#include "httpd_client.h"
#include "output_api.h"
diff --git a/src/output/httpd_output_plugin.h b/src/output/httpd_output_plugin.h
new file mode 100644
index 000000000..d0eb1533f
--- /dev/null
+++ b/src/output/httpd_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_HTTPD_OUTPUT_PLUGIN_H
+#define MPD_HTTPD_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin httpd_output_plugin;
+
+#endif
diff --git a/src/output/jack_output_plugin.c b/src/output/jack_output_plugin.c
index 4df84fd23..189b52a6f 100644
--- a/src/output/jack_output_plugin.c
+++ b/src/output/jack_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "jack_output_plugin.h"
#include "output_api.h"
#include <assert.h>
diff --git a/src/output/jack_output_plugin.h b/src/output/jack_output_plugin.h
new file mode 100644
index 000000000..2f94ae7dc
--- /dev/null
+++ b/src/output/jack_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_JACK_OUTPUT_PLUGIN_H
+#define MPD_JACK_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin jack_output_plugin;
+
+#endif
diff --git a/src/output/mvp_output_plugin.c b/src/output/mvp_output_plugin.c
index be4c8dbc0..6f058b53e 100644
--- a/src/output/mvp_output_plugin.c
+++ b/src/output/mvp_output_plugin.c
@@ -23,6 +23,7 @@
*/
#include "config.h"
+#include "mvp_output_plugin.h"
#include "output_api.h"
#include "fd_util.h"
diff --git a/src/output/mvp_output_plugin.h b/src/output/mvp_output_plugin.h
new file mode 100644
index 000000000..e403de2b7
--- /dev/null
+++ b/src/output/mvp_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_MVP_OUTPUT_PLUGIN_H
+#define MPD_MVP_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin mvp_output_plugin;
+
+#endif
diff --git a/src/output/null_output_plugin.c b/src/output/null_output_plugin.c
index f572959a0..94c0c5321 100644
--- a/src/output/null_output_plugin.c
+++ b/src/output/null_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "null_output_plugin.h"
#include "output_api.h"
#include "timer.h"
diff --git a/src/output/null_output_plugin.h b/src/output/null_output_plugin.h
new file mode 100644
index 000000000..392bf0aa3
--- /dev/null
+++ b/src/output/null_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_NULL_OUTPUT_PLUGIN_H
+#define MPD_NULL_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin null_output_plugin;
+
+#endif
diff --git a/src/output/openal_output_plugin.c b/src/output/openal_output_plugin.c
index 23641c6c5..56afc4463 100644
--- a/src/output/openal_output_plugin.c
+++ b/src/output/openal_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "openal_output_plugin.h"
#include "output_api.h"
#include "timer.h"
diff --git a/src/output/openal_output_plugin.h b/src/output/openal_output_plugin.h
new file mode 100644
index 000000000..25f6ccf46
--- /dev/null
+++ b/src/output/openal_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_OPENAL_OUTPUT_PLUGIN_H
+#define MPD_OPENAL_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin openal_output_plugin;
+
+#endif
diff --git a/src/output/oss_output_plugin.c b/src/output/oss_output_plugin.c
index d7df594d3..c9aef52a6 100644
--- a/src/output/oss_output_plugin.c
+++ b/src/output/oss_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "oss_output_plugin.h"
#include "output_api.h"
#include "mixer_list.h"
#include "fd_util.h"
diff --git a/src/output/oss_output_plugin.h b/src/output/oss_output_plugin.h
new file mode 100644
index 000000000..2aecc2b3a
--- /dev/null
+++ b/src/output/oss_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_OSS_OUTPUT_PLUGIN_H
+#define MPD_OSS_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin oss_output_plugin;
+
+#endif
diff --git a/src/output/osx_output_plugin.c b/src/output/osx_output_plugin.c
index 8091660ab..0d9a2b147 100644
--- a/src/output/osx_output_plugin.c
+++ b/src/output/osx_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "osx_output_plugin.h"
#include "output_api.h"
#include <glib.h>
diff --git a/src/output/osx_output_plugin.h b/src/output/osx_output_plugin.h
new file mode 100644
index 000000000..814702d4f
--- /dev/null
+++ b/src/output/osx_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_OSX_OUTPUT_PLUGIN_H
+#define MPD_OSX_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin osx_output_plugin;
+
+#endif
diff --git a/src/output/pipe_output_plugin.c b/src/output/pipe_output_plugin.c
index 111c654b9..08f195068 100644
--- a/src/output/pipe_output_plugin.c
+++ b/src/output/pipe_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "pipe_output_plugin.h"
#include "output_api.h"
#include <stdio.h>
diff --git a/src/output/pipe_output_plugin.h b/src/output/pipe_output_plugin.h
new file mode 100644
index 000000000..9f014f829
--- /dev/null
+++ b/src/output/pipe_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_PIPE_OUTPUT_PLUGIN_H
+#define MPD_PIPE_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin pipe_output_plugin;
+
+#endif
diff --git a/src/output/pulse_output_plugin.h b/src/output/pulse_output_plugin.h
index 3f260238f..02a51f27b 100644
--- a/src/output/pulse_output_plugin.h
+++ b/src/output/pulse_output_plugin.h
@@ -28,6 +28,8 @@ struct pulse_output;
struct pulse_mixer;
struct pa_cvolume;
+extern const struct audio_output_plugin pulse_output_plugin;
+
void
pulse_output_lock(struct pulse_output *po);
diff --git a/src/output/raop_output_plugin.c b/src/output/raop_output_plugin.c
index c82dd3c1a..5224f7257 100644
--- a/src/output/raop_output_plugin.c
+++ b/src/output/raop_output_plugin.c
@@ -17,6 +17,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include "config.h"
#include "raop_output_plugin.h"
#include "output_api.h"
#include "mixer_list.h"
diff --git a/src/output/raop_output_plugin.h b/src/output/raop_output_plugin.h
index bdc1e1a75..d533f9fad 100644
--- a/src/output/raop_output_plugin.h
+++ b/src/output/raop_output_plugin.h
@@ -17,8 +17,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef MPD_OUTPUT_RAOP_PLUGIN_H
-#define MPD_OUTPUT_RAOP_PLUGIN_H
+#ifndef MPD_RAOP_OUTPUT_PLUGIN_H
+#define MPD_RAOP_OUTPUT_PLUGIN_H
#include <glib.h>
@@ -26,6 +26,8 @@
struct raop_data;
+extern const struct audio_output_plugin raopPlugin;
+
bool
raop_set_volume(struct raop_data *rd, unsigned volume, GError **error_r);
diff --git a/src/output/recorder_output_plugin.c b/src/output/recorder_output_plugin.c
index 070ef4b08..981f92e44 100644
--- a/src/output/recorder_output_plugin.c
+++ b/src/output/recorder_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "recorder_output_plugin.h"
#include "output_api.h"
#include "encoder_plugin.h"
#include "encoder_list.h"
diff --git a/src/output/recorder_output_plugin.h b/src/output/recorder_output_plugin.h
new file mode 100644
index 000000000..a9bf755bd
--- /dev/null
+++ b/src/output/recorder_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_RECORDER_OUTPUT_PLUGIN_H
+#define MPD_RECORDER_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin recorder_output_plugin;
+
+#endif
diff --git a/src/output/roar_output_plugin.c b/src/output/roar_output_plugin.c
index 059f83b71..96e0d34a5 100644
--- a/src/output/roar_output_plugin.c
+++ b/src/output/roar_output_plugin.c
@@ -19,6 +19,7 @@
*/
#include "config.h"
+#include "roar_output_plugin.h"
#include "output_api.h"
#include "mixer_list.h"
#include "roar_output_plugin.h"
diff --git a/src/output/roar_output_plugin.h b/src/output/roar_output_plugin.h
index e6eff1e08..78b628cc4 100644
--- a/src/output/roar_output_plugin.h
+++ b/src/output/roar_output_plugin.h
@@ -1,7 +1,6 @@
/*
- * Copyright (C) 2003-2010 The Music Player Daemon Project
- * Copyright (C) 2010-2011 Philipp 'ph3-der-loewe' Schafft
- * Copyright (C) 2010-2011 Hans-Kristian 'maister' Arntzen
+ * Copyright (C) 2003-2011 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
@@ -18,14 +17,15 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-
-#ifndef __ROAR_OUTPUT_H
-#define __ROAR_OUTPUT_H
+#ifndef MPD_ROAR_OUTPUT_PLUGIN_H
+#define MPD_ROAR_OUTPUT_PLUGIN_H
#include <stdbool.h>
struct roar;
+extern const struct audio_output_plugin roar_output_plugin;
+
int
roar_output_get_volume(struct roar *roar);
diff --git a/src/output/shout_output_plugin.c b/src/output/shout_output_plugin.c
index 80adf1638..dcc224e72 100644
--- a/src/output/shout_output_plugin.c
+++ b/src/output/shout_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "shout_output_plugin.h"
#include "output_api.h"
#include "encoder_plugin.h"
#include "encoder_list.h"
diff --git a/src/output/shout_output_plugin.h b/src/output/shout_output_plugin.h
new file mode 100644
index 000000000..245ecd1c5
--- /dev/null
+++ b/src/output/shout_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_SHOUT_OUTPUT_PLUGIN_H
+#define MPD_SHOUT_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin shoutPlugin;
+
+#endif
diff --git a/src/output/solaris_output_plugin.c b/src/output/solaris_output_plugin.c
index c0d38defb..efa7a4e32 100644
--- a/src/output/solaris_output_plugin.c
+++ b/src/output/solaris_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "solaris_output_plugin.h"
#include "output_api.h"
#include "fd_util.h"
diff --git a/src/output/solaris_output_plugin.h b/src/output/solaris_output_plugin.h
new file mode 100644
index 000000000..600aea8c2
--- /dev/null
+++ b/src/output/solaris_output_plugin.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2011 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.
+ */
+
+#ifndef MPD_SOLARIS_OUTPUT_PLUGIN_H
+#define MPD_SOLARIS_OUTPUT_PLUGIN_H
+
+extern const struct audio_output_plugin solaris_output_plugin;
+
+#endif
diff --git a/src/output/winmm_output_plugin.c b/src/output/winmm_output_plugin.c
index e93a9f6c5..d11a23e6d 100644
--- a/src/output/winmm_output_plugin.c
+++ b/src/output/winmm_output_plugin.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "winmm_output_plugin.h"
#include "output_api.h"
#include "pcm_buffer.h"
#include "mixer_list.h"
diff --git a/src/output/winmm_output_plugin.h b/src/output/winmm_output_plugin.h
index 10f0bb6b1..0605530e1 100644
--- a/src/output/winmm_output_plugin.h
+++ b/src/output/winmm_output_plugin.h
@@ -20,10 +20,18 @@
#ifndef MPD_WINMM_OUTPUT_PLUGIN_H
#define MPD_WINMM_OUTPUT_PLUGIN_H
+#include "check.h"
+
+#ifdef ENABLE_WINMM_OUTPUT
+
#include <windows.h>
struct winmm_output;
+extern const struct audio_output_plugin winmm_output_plugin;
+
HWAVEOUT winmm_output_get_handle(struct winmm_output*);
#endif
+
+#endif
diff --git a/src/output_list.c b/src/output_list.c
index 75d24d63b..32a3f6706 100644
--- a/src/output_list.c
+++ b/src/output_list.c
@@ -20,26 +20,25 @@
#include "config.h"
#include "output_list.h"
#include "output_api.h"
-
-extern const struct audio_output_plugin shoutPlugin;
-extern const struct audio_output_plugin null_output_plugin;
-extern const struct audio_output_plugin fifo_output_plugin;
-extern const struct audio_output_plugin pipe_output_plugin;
-extern const struct audio_output_plugin alsaPlugin;
-extern const struct audio_output_plugin roar_output_plugin;
-extern const struct audio_output_plugin ao_output_plugin;
-extern const struct audio_output_plugin oss_output_plugin;
-extern const struct audio_output_plugin openal_output_plugin;
-extern const struct audio_output_plugin osxPlugin;
-extern const struct audio_output_plugin raopPlugin;
-extern const struct audio_output_plugin solaris_output_plugin;
-extern const struct audio_output_plugin pulse_output_plugin;
-extern const struct audio_output_plugin mvp_output_plugin;
-extern const struct audio_output_plugin jack_output_plugin;
-extern const struct audio_output_plugin httpd_output_plugin;
-extern const struct audio_output_plugin recorder_output_plugin;
-extern const struct audio_output_plugin winmm_output_plugin;
-extern const struct audio_output_plugin ffado_output_plugin;
+#include "output/alsa_output_plugin.h"
+#include "output/ao_output_plugin.h"
+#include "output/ffado_output_plugin.h"
+#include "output/fifo_output_plugin.h"
+#include "output/httpd_output_plugin.h"
+#include "output/jack_output_plugin.h"
+#include "output/mvp_output_plugin.h"
+#include "output/null_output_plugin.h"
+#include "output/openal_output_plugin.h"
+#include "output/oss_output_plugin.h"
+#include "output/osx_output_plugin.h"
+#include "output/pipe_output_plugin.h"
+#include "output/pulse_output_plugin.h"
+#include "output/raop_output_plugin.h"
+#include "output/recorder_output_plugin.h"
+#include "output/roar_output_plugin.h"
+#include "output/shout_output_plugin.h"
+#include "output/solaris_output_plugin.h"
+#include "output/winmm_output_plugin.h"
const struct audio_output_plugin *audio_output_plugins[] = {
#ifdef HAVE_SHOUT