summaryrefslogtreecommitdiff
path: root/libmatemixer
diff options
context:
space:
mode:
authorMichal Ratajsky <[email protected]>2014-06-22 01:23:40 +0200
committerMichal Ratajsky <[email protected]>2014-06-22 01:23:40 +0200
commit18ff80676c9ecce7f875a0bcb8190bd5a1dc1b00 (patch)
tree68a0730e19e968bbeb29d9eec5ad8a156c5ca406 /libmatemixer
parent0309a021960c0a4e2e758dd52041197e684ed600 (diff)
downloadlibmatemixer-18ff80676c9ecce7f875a0bcb8190bd5a1dc1b00.tar.bz2
libmatemixer-18ff80676c9ecce7f875a0bcb8190bd5a1dc1b00.tar.xz
Add base_volume and correctly set active stream port
Diffstat (limited to 'libmatemixer')
-rw-r--r--libmatemixer/matemixer-stream.c18
-rw-r--r--libmatemixer/matemixer-stream.h5
2 files changed, 21 insertions, 2 deletions
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 <http://www.gnu.org/licenses/>.
*/
+// XXX
+// consider using guint for volumes, but see the other backends first
+
#include <glib.h>
#include <glib-object.h>
@@ -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 <math.h>
-#include <stdlib.h>
#include <glib.h>
#include <glib-object.h>
@@ -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