From 18ff80676c9ecce7f875a0bcb8190bd5a1dc1b00 Mon Sep 17 00:00:00 2001 From: Michal Ratajsky Date: Sun, 22 Jun 2014 01:23:40 +0200 Subject: Add base_volume and correctly set active stream port --- libmatemixer/matemixer-stream.c | 18 ++++++++++++++++++ libmatemixer/matemixer-stream.h | 5 +++-- 2 files changed, 21 insertions(+), 2 deletions(-) (limited to 'libmatemixer') diff --git a/libmatemixer/matemixer-stream.c b/libmatemixer/matemixer-stream.c index fbf9293..b845d48 100644 --- a/libmatemixer/matemixer-stream.c +++ b/libmatemixer/matemixer-stream.c @@ -15,6 +15,9 @@ * License along with this library; if not, see . */ +// XXX +// consider using guint for volumes, but see the other backends first + #include #include @@ -714,3 +717,18 @@ mate_mixer_stream_get_normal_volume (MateMixerStream *stream) return 0; } + +gint64 +mate_mixer_stream_get_base_volume (MateMixerStream *stream) +{ + MateMixerStreamInterface *iface; + + g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), 0); + + iface = MATE_MIXER_STREAM_GET_INTERFACE (stream); + + if (iface->get_base_volume) + return iface->get_base_volume (stream); + + return 0; +} diff --git a/libmatemixer/matemixer-stream.h b/libmatemixer/matemixer-stream.h index 7b202b8..a9933e1 100644 --- a/libmatemixer/matemixer-stream.h +++ b/libmatemixer/matemixer-stream.h @@ -19,7 +19,6 @@ #define MATEMIXER_STREAM_H #include -#include #include #include @@ -32,7 +31,7 @@ G_BEGIN_DECLS #ifdef INFINITY #define MATE_MIXER_INFINITY INFINITY #else -#define MATE_MIXER_INFINITY (atof ("inf")) +#define MATE_MIXER_INFINITY G_MAXDOUBLE #endif #define MATE_MIXER_TYPE_STREAM \ @@ -109,6 +108,7 @@ struct _MateMixerStreamInterface gint64 (*get_min_volume) (MateMixerStream *stream); gint64 (*get_max_volume) (MateMixerStream *stream); gint64 (*get_normal_volume) (MateMixerStream *stream); + gint64 (*get_base_volume) (MateMixerStream *stream); /* Signals */ void (*monitor_value) (MateMixerStream *stream, @@ -192,6 +192,7 @@ gboolean mate_mixer_stream_set_active_port (MateMixerStre gint64 mate_mixer_stream_get_min_volume (MateMixerStream *stream); gint64 mate_mixer_stream_get_max_volume (MateMixerStream *stream); gint64 mate_mixer_stream_get_normal_volume (MateMixerStream *stream); +gint64 mate_mixer_stream_get_base_volume (MateMixerStream *stream); G_END_DECLS -- cgit v1.2.1