summaryrefslogtreecommitdiff
path: root/libmatemixer
diff options
context:
space:
mode:
authorMichal Ratajsky <[email protected]>2014-06-21 16:41:05 +0200
committerMichal Ratajsky <[email protected]>2014-06-21 16:41:05 +0200
commit0309a021960c0a4e2e758dd52041197e684ed600 (patch)
treeee1396f34707b9fae8d01b4fb1e1e3cc70ce6c8a /libmatemixer
parent02e93868a222a16b9a95a2a51e6b88fe733c5d97 (diff)
downloadlibmatemixer-0309a021960c0a4e2e758dd52041197e684ed600.tar.bz2
libmatemixer-0309a021960c0a4e2e758dd52041197e684ed600.tar.xz
Update decibel handling API and PulseAudio code
Diffstat (limited to 'libmatemixer')
-rw-r--r--libmatemixer/matemixer-control.c2
-rw-r--r--libmatemixer/matemixer-stream.c58
-rw-r--r--libmatemixer/matemixer-stream.h44
3 files changed, 56 insertions, 48 deletions
diff --git a/libmatemixer/matemixer-control.c b/libmatemixer/matemixer-control.c
index 3619a94..2bc61ae 100644
--- a/libmatemixer/matemixer-control.c
+++ b/libmatemixer/matemixer-control.c
@@ -761,7 +761,7 @@ mate_mixer_control_open (MateMixerControl *control)
if (G_UNLIKELY (state != MATE_MIXER_STATE_READY &&
state != MATE_MIXER_STATE_CONNECTING)) {
- /* This would a backend bug */
+ /* This would be a backend bug */
g_warn_if_reached ();
control_close (control);
diff --git a/libmatemixer/matemixer-stream.c b/libmatemixer/matemixer-stream.c
index 1ad4c50..fbf9293 100644
--- a/libmatemixer/matemixer-stream.c
+++ b/libmatemixer/matemixer-stream.c
@@ -286,22 +286,22 @@ mate_mixer_stream_set_volume (MateMixerStream *stream, gint64 volume)
}
gdouble
-mate_mixer_stream_get_volume_db (MateMixerStream *stream)
+mate_mixer_stream_get_decibel (MateMixerStream *stream)
{
MateMixerStreamInterface *iface;
- g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), 0);
+ g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), -MATE_MIXER_INFINITY);
iface = MATE_MIXER_STREAM_GET_INTERFACE (stream);
- if (iface->get_volume_db)
- return iface->get_volume_db (stream);
+ if (iface->get_decibel)
+ return iface->get_decibel (stream);
- return 0;
+ return -MATE_MIXER_INFINITY;
}
gboolean
-mate_mixer_stream_set_volume_db (MateMixerStream *stream, gdouble volume_db)
+mate_mixer_stream_set_decibel (MateMixerStream *stream, gdouble decibel)
{
MateMixerStreamInterface *iface;
@@ -309,8 +309,8 @@ mate_mixer_stream_set_volume_db (MateMixerStream *stream, gdouble volume_db)
iface = MATE_MIXER_STREAM_GET_INTERFACE (stream);
- if (iface->set_volume_db)
- return iface->set_volume_db (stream, volume_db);
+ if (iface->set_decibel)
+ return iface->set_decibel (stream, decibel);
return FALSE;
}
@@ -378,24 +378,24 @@ mate_mixer_stream_set_channel_volume (MateMixerStream *stream,
}
gdouble
-mate_mixer_stream_get_channel_volume_db (MateMixerStream *stream, guint channel)
+mate_mixer_stream_get_channel_decibel (MateMixerStream *stream, guint channel)
{
MateMixerStreamInterface *iface;
- g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), 0);
+ g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), -MATE_MIXER_INFINITY);
iface = MATE_MIXER_STREAM_GET_INTERFACE (stream);
- if (iface->get_channel_volume_db)
- return iface->get_channel_volume_db (stream, channel);
+ if (iface->get_channel_decibel)
+ return iface->get_channel_decibel (stream, channel);
- return 0;
+ return -MATE_MIXER_INFINITY;
}
gboolean
-mate_mixer_stream_set_channel_volume_db (MateMixerStream *stream,
- guint channel,
- gdouble volume_db)
+mate_mixer_stream_set_channel_decibel (MateMixerStream *stream,
+ guint channel,
+ gdouble decibel)
{
MateMixerStreamInterface *iface;
@@ -403,8 +403,8 @@ mate_mixer_stream_set_channel_volume_db (MateMixerStream *stream,
iface = MATE_MIXER_STREAM_GET_INTERFACE (stream);
- if (iface->set_channel_volume_db)
- return iface->set_channel_volume_db (stream, channel, volume_db);
+ if (iface->set_channel_decibel)
+ return iface->set_channel_decibel (stream, channel, decibel);
return FALSE;
}
@@ -459,25 +459,25 @@ mate_mixer_stream_set_position_volume (MateMixerStream *stream,
}
gdouble
-mate_mixer_stream_get_position_volume_db (MateMixerStream *stream,
- MateMixerChannelPosition position)
+mate_mixer_stream_get_position_decibel (MateMixerStream *stream,
+ MateMixerChannelPosition position)
{
MateMixerStreamInterface *iface;
- g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), 0);
+ g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), -MATE_MIXER_INFINITY);
iface = MATE_MIXER_STREAM_GET_INTERFACE (stream);
- if (iface->get_position_volume_db)
- return iface->get_position_volume_db (stream, position);
+ if (iface->get_position_decibel)
+ return iface->get_position_decibel (stream, position);
- return 0;
+ return -MATE_MIXER_INFINITY;
}
gboolean
-mate_mixer_stream_set_position_volume_db (MateMixerStream *stream,
- MateMixerChannelPosition position,
- gdouble volume_db)
+mate_mixer_stream_set_position_decibel (MateMixerStream *stream,
+ MateMixerChannelPosition position,
+ gdouble decibel)
{
MateMixerStreamInterface *iface;
@@ -485,8 +485,8 @@ mate_mixer_stream_set_position_volume_db (MateMixerStream *stream,
iface = MATE_MIXER_STREAM_GET_INTERFACE (stream);
- if (iface->set_position_volume_db)
- return iface->set_position_volume_db (stream, position, volume_db);
+ if (iface->set_position_decibel)
+ return iface->set_position_decibel (stream, position, decibel);
return FALSE;
}
diff --git a/libmatemixer/matemixer-stream.h b/libmatemixer/matemixer-stream.h
index d39cc43..7b202b8 100644
--- a/libmatemixer/matemixer-stream.h
+++ b/libmatemixer/matemixer-stream.h
@@ -18,6 +18,8 @@
#ifndef MATEMIXER_STREAM_H
#define MATEMIXER_STREAM_H
+#include <math.h>
+#include <stdlib.h>
#include <glib.h>
#include <glib-object.h>
@@ -27,6 +29,12 @@
G_BEGIN_DECLS
+#ifdef INFINITY
+#define MATE_MIXER_INFINITY INFINITY
+#else
+#define MATE_MIXER_INFINITY (atof ("inf"))
+#endif
+
#define MATE_MIXER_TYPE_STREAM \
(mate_mixer_stream_get_type ())
#define MATE_MIXER_STREAM(o) \
@@ -56,9 +64,9 @@ struct _MateMixerStreamInterface
gint64 (*get_volume) (MateMixerStream *stream);
gboolean (*set_volume) (MateMixerStream *stream,
gint64 volume);
- gdouble (*get_volume_db) (MateMixerStream *stream);
- gboolean (*set_volume_db) (MateMixerStream *stream,
- gdouble volume_db);
+ gdouble (*get_decibel) (MateMixerStream *stream);
+ gboolean (*set_decibel) (MateMixerStream *stream,
+ gdouble decibel);
MateMixerChannelPosition (*get_channel_position) (MateMixerStream *stream,
guint channel);
gint64 (*get_channel_volume) (MateMixerStream *stream,
@@ -66,11 +74,11 @@ struct _MateMixerStreamInterface
gboolean (*set_channel_volume) (MateMixerStream *stream,
guint channel,
gint64 volume);
- gdouble (*get_channel_volume_db) (MateMixerStream *stream,
+ gdouble (*get_channel_decibel) (MateMixerStream *stream,
guint channel);
- gboolean (*set_channel_volume_db) (MateMixerStream *stream,
+ gboolean (*set_channel_decibel) (MateMixerStream *stream,
guint channel,
- gdouble volume_db);
+ gdouble decibel);
gboolean (*has_position) (MateMixerStream *stream,
MateMixerChannelPosition position);
gint64 (*get_position_volume) (MateMixerStream *stream,
@@ -78,11 +86,11 @@ struct _MateMixerStreamInterface
gboolean (*set_position_volume) (MateMixerStream *stream,
MateMixerChannelPosition position,
gint64 volume);
- gdouble (*get_position_volume_db) (MateMixerStream *stream,
+ gdouble (*get_position_decibel) (MateMixerStream *stream,
MateMixerChannelPosition position);
- gboolean (*set_position_volume_db) (MateMixerStream *stream,
+ gboolean (*set_position_decibel) (MateMixerStream *stream,
MateMixerChannelPosition position,
- gdouble volume_db);
+ gdouble decibel);
gdouble (*get_balance) (MateMixerStream *stream);
gboolean (*set_balance) (MateMixerStream *stream,
gdouble balance);
@@ -125,9 +133,9 @@ gint64 mate_mixer_stream_get_volume (MateMixerStre
gboolean mate_mixer_stream_set_volume (MateMixerStream *stream,
gint64 volume);
-gdouble mate_mixer_stream_get_volume_db (MateMixerStream *stream);
-gboolean mate_mixer_stream_set_volume_db (MateMixerStream *stream,
- gdouble volume_db);
+gdouble mate_mixer_stream_get_decibel (MateMixerStream *stream);
+gboolean mate_mixer_stream_set_decibel (MateMixerStream *stream,
+ gdouble decibel);
MateMixerChannelPosition mate_mixer_stream_get_channel_position (MateMixerStream *stream,
guint channel);
@@ -138,11 +146,11 @@ gboolean mate_mixer_stream_set_channel_volume (MateMixerStre
guint channel,
gint64 volume);
-gdouble mate_mixer_stream_get_channel_volume_db (MateMixerStream *stream,
+gdouble mate_mixer_stream_get_channel_decibel (MateMixerStream *stream,
guint channel);
-gboolean mate_mixer_stream_set_channel_volume_db (MateMixerStream *stream,
+gboolean mate_mixer_stream_set_channel_decibel (MateMixerStream *stream,
guint channel,
- gdouble volume_db);
+ gdouble decibel);
gboolean mate_mixer_stream_has_position (MateMixerStream *stream,
MateMixerChannelPosition position);
@@ -153,11 +161,11 @@ gboolean mate_mixer_stream_set_position_volume (MateMixerStre
MateMixerChannelPosition position,
gint64 volume);
-gdouble mate_mixer_stream_get_position_volume_db (MateMixerStream *stream,
+gdouble mate_mixer_stream_get_position_decibel (MateMixerStream *stream,
MateMixerChannelPosition position);
-gboolean mate_mixer_stream_set_position_volume_db (MateMixerStream *stream,
+gboolean mate_mixer_stream_set_position_decibel (MateMixerStream *stream,
MateMixerChannelPosition position,
- gdouble volume_db);
+ gdouble decibel);
gdouble mate_mixer_stream_get_balance (MateMixerStream *stream);
gboolean mate_mixer_stream_set_balance (MateMixerStream *stream,