diff options
author | Max Kellermann <max@duempel.org> | 2013-01-16 23:29:56 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-01-16 23:29:56 +0100 |
commit | e22ef6c481ab6fff3a704c515804101d9ae399a1 (patch) | |
tree | 3323ddf2f6fa21501278eb34f783d5b65ccea25d /src/mixer | |
parent | 2bb01093c0898d2605ba7df0b2cba6e8541a8509 (diff) | |
download | mpd-e22ef6c481ab6fff3a704c515804101d9ae399a1.tar.gz mpd-e22ef6c481ab6fff3a704c515804101d9ae399a1.tar.xz mpd-e22ef6c481ab6fff3a704c515804101d9ae399a1.zip |
output/roar: convert to C++
Diffstat (limited to '')
-rw-r--r-- | src/mixer/RoarMixerPlugin.cxx (renamed from src/mixer/roar_mixer_plugin.c) | 76 |
1 files changed, 24 insertions, 52 deletions
diff --git a/src/mixer/roar_mixer_plugin.c b/src/mixer/RoarMixerPlugin.cxx index 47d3c17f9..2803203b7 100644 --- a/src/mixer/roar_mixer_plugin.c +++ b/src/mixer/RoarMixerPlugin.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2010 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * Copyright (C) 2010-2011 Philipp 'ph3-der-loewe' Schafft * Copyright (C) 2010-2011 Hans-Kristian 'maister' Arntzen * @@ -22,83 +22,55 @@ #include "config.h" #include "mixer_api.h" #include "output_api.h" -#include "output/roar_output_plugin.h" +#include "output/RoarOutputPlugin.hxx" -#include <glib.h> - -#include <assert.h> -#include <stdlib.h> -#include <unistd.h> - -typedef struct roar_mpd_mixer -{ +struct RoarMixer { /** the base mixer class */ struct mixer base; - struct roar *self; -} roar_mixer_t; + RoarOutput *self; -/** - * The quark used for GError.domain. - */ -static inline GQuark -roar_mixer_quark(void) -{ - return g_quark_from_static_string("roar_mixer"); -} + RoarMixer(RoarOutput *_output):self(_output) { + mixer_init(&base, &roar_mixer_plugin); + } +}; static struct mixer * -roar_mixer_init(void *ao, G_GNUC_UNUSED const struct config_param *param, - G_GNUC_UNUSED GError **error_r) +roar_mixer_init(void *ao, gcc_unused const struct config_param *param, + gcc_unused GError **error_r) { - roar_mixer_t *self = g_new(roar_mixer_t, 1); - self->self = ao; - - mixer_init(&self->base, &roar_mixer_plugin); - + RoarMixer *self = new RoarMixer((RoarOutput *)ao); return &self->base; } static void roar_mixer_finish(struct mixer *data) { - roar_mixer_t *self = (roar_mixer_t *) data; + RoarMixer *self = (RoarMixer *) data; - g_free(self); -} - -static void -roar_mixer_close(G_GNUC_UNUSED struct mixer *data) -{ -} - -static bool -roar_mixer_open(G_GNUC_UNUSED struct mixer *data, - G_GNUC_UNUSED GError **error_r) -{ - return true; + delete self; } static int -roar_mixer_get_volume(struct mixer *mixer, G_GNUC_UNUSED GError **error_r) +roar_mixer_get_volume(struct mixer *mixer, gcc_unused GError **error_r) { - roar_mixer_t *self = (roar_mixer_t *)mixer; + RoarMixer *self = (RoarMixer *)mixer; return roar_output_get_volume(self->self); } static bool roar_mixer_set_volume(struct mixer *mixer, unsigned volume, - G_GNUC_UNUSED GError **error_r) + gcc_unused GError **error_r) { - roar_mixer_t *self = (roar_mixer_t *)mixer; + RoarMixer *self = (RoarMixer *)mixer; return roar_output_set_volume(self->self, volume); } const struct mixer_plugin roar_mixer_plugin = { - .init = roar_mixer_init, - .finish = roar_mixer_finish, - .open = roar_mixer_open, - .close = roar_mixer_close, - .get_volume = roar_mixer_get_volume, - .set_volume = roar_mixer_set_volume, - .global = false, + roar_mixer_init, + roar_mixer_finish, + nullptr, + nullptr, + roar_mixer_get_volume, + roar_mixer_set_volume, + false, }; |