summaryrefslogtreecommitdiff
path: root/libmatemixer/matemixer-stream-control.c
diff options
context:
space:
mode:
authorMichal Ratajsky <[email protected]>2014-09-06 19:09:41 +0200
committerMichal Ratajsky <[email protected]>2014-09-06 19:09:41 +0200
commit5997585cc046956479feffea7c414bea2814d403 (patch)
tree9f911fca5423a93c837a91bedaf8257d1e47f015 /libmatemixer/matemixer-stream-control.c
parent1a9410a38aebb6ce05d43433c020e198416761df (diff)
downloadlibmatemixer-5997585cc046956479feffea7c414bea2814d403.tar.bz2
libmatemixer-5997585cc046956479feffea7c414bea2814d403.tar.xz
Minor code and styling improvements
Diffstat (limited to 'libmatemixer/matemixer-stream-control.c')
-rw-r--r--libmatemixer/matemixer-stream-control.c236
1 files changed, 96 insertions, 140 deletions
diff --git a/libmatemixer/matemixer-stream-control.c b/libmatemixer/matemixer-stream-control.c
index 161396e..5d97709 100644
--- a/libmatemixer/matemixer-stream-control.c
+++ b/libmatemixer/matemixer-stream-control.c
@@ -374,12 +374,11 @@ mate_mixer_stream_control_get_app_info (MateMixerStreamControl *control)
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), NULL);
if (control->priv->role == MATE_MIXER_STREAM_CONTROL_ROLE_APPLICATION) {
- MateMixerStreamControlClass *klass;
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if G_LIKELY (klass->get_app_info != NULL)
- return klass->get_app_info (control);
+ /* Implementation required for application role controls */
+ return klass->get_app_info (control);
}
return NULL;
}
@@ -405,15 +404,17 @@ gboolean
mate_mixer_stream_control_set_stream (MateMixerStreamControl *control,
MateMixerStream *stream)
{
- g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
+ g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
- if (control->priv->stream != stream) {
- MateMixerStreamControlClass *klass;
+ if ((control->priv->flags & MATE_MIXER_STREAM_CONTROL_MOVABLE) == 0)
+ return FALSE;
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->stream != stream) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if (klass->set_stream == NULL ||
- klass->set_stream (control, stream) == FALSE)
+ /* Implementation required when the flag is available */
+ if (klass->set_stream (control, stream) == FALSE)
return FALSE;
_mate_mixer_stream_control_set_stream (control, stream);
@@ -443,22 +444,20 @@ mate_mixer_stream_control_set_mute (MateMixerStreamControl *control, gboolean mu
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
- if (control->priv->mute == mute)
- return TRUE;
-
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_MUTE_WRITABLE) {
- MateMixerStreamControlClass *klass;
+ if ((control->priv->flags & MATE_MIXER_STREAM_CONTROL_MUTE_WRITABLE) == 0)
+ return FALSE;
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->mute != mute) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if (klass->set_mute == NULL ||
- klass->set_mute (control, mute) == FALSE)
+ /* Implementation required when the flag is available */
+ if (klass->set_mute (control, mute) == FALSE)
return FALSE;
_mate_mixer_stream_control_set_mute (control, mute);
- return TRUE;
}
- return FALSE;
+ return TRUE;
}
/**
@@ -494,8 +493,8 @@ mate_mixer_stream_control_get_volume (MateMixerStreamControl *control)
klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE) {
- if G_LIKELY (klass->get_volume != NULL)
- return klass->get_volume (control);
+ /* Implementation required when the flag is available */
+ return klass->get_volume (control);
}
return klass->get_min_volume (control);
}
@@ -511,12 +510,11 @@ mate_mixer_stream_control_set_volume (MateMixerStreamControl *control, guint vol
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_WRITABLE) {
- MateMixerStreamControlClass *klass;
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if G_LIKELY (klass->set_volume != NULL)
- return klass->set_volume (control, volume);
+ /* Implementation required when the flag is available */
+ return klass->set_volume (control, volume);
}
return FALSE;
}
@@ -530,13 +528,13 @@ mate_mixer_stream_control_get_decibel (MateMixerStreamControl *control)
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), -MATE_MIXER_INFINITY);
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL) {
- MateMixerStreamControlClass *klass;
-
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL &&
+ control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if G_LIKELY (klass->get_decibel != NULL)
- return klass->get_decibel (control);
+ /* Implementation required when the flags are available */
+ return klass->get_decibel (control);
}
return -MATE_MIXER_INFINITY;
}
@@ -553,12 +551,11 @@ mate_mixer_stream_control_set_decibel (MateMixerStreamControl *control, gdouble
if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL &&
control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_WRITABLE) {
- MateMixerStreamControlClass *klass;
-
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if G_LIKELY (klass->set_decibel != NULL)
- return klass->set_decibel (control, decibel);
+ /* Implementation required when the flags are available */
+ return klass->set_decibel (control, decibel);
}
return FALSE;
}
@@ -569,8 +566,8 @@ mate_mixer_stream_control_set_decibel (MateMixerStreamControl *control, gdouble
* @position: to channel position to check
*/
gboolean
-mate_mixer_stream_control_has_channel_position (MateMixerStreamControl *control,
- MateMixerChannelPosition position)
+mate_mixer_stream_control_has_channel_position (MateMixerStreamControl *control,
+ MateMixerChannelPosition position)
{
MateMixerStreamControlClass *klass;
@@ -612,17 +609,17 @@ mate_mixer_stream_control_get_channel_position (MateMixerStreamControl *control,
guint
mate_mixer_stream_control_get_channel_volume (MateMixerStreamControl *control, guint channel)
{
- g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
+ MateMixerStreamControlClass *klass;
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE) {
- MateMixerStreamControlClass *klass;
+ g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if G_LIKELY (klass->get_channel_volume != NULL)
- return klass->get_channel_volume (control, channel);
+ if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE) {
+ /* Implementation required when the flag is available */
+ return klass->get_channel_volume (control, channel);
}
- return 0;
+ return klass->get_min_volume (control);
}
/**
@@ -638,13 +635,12 @@ mate_mixer_stream_control_set_channel_volume (MateMixerStreamControl *control,
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE) {
- MateMixerStreamControlClass *klass;
-
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_WRITABLE) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if G_LIKELY (klass->set_channel_volume != NULL)
- return klass->set_channel_volume (control, channel, volume);
+ /* Implementation required when the flag is available */
+ return klass->set_channel_volume (control, channel, volume);
}
return FALSE;
}
@@ -659,13 +655,13 @@ mate_mixer_stream_control_get_channel_decibel (MateMixerStreamControl *control,
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), -MATE_MIXER_INFINITY);
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL) {
- MateMixerStreamControlClass *klass;
-
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL &&
+ control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_READABLE) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if G_LIKELY (klass->get_channel_decibel != NULL)
- return klass->get_channel_decibel (control, channel);
+ /* Implementation required when the flags are available */
+ return klass->get_channel_decibel (control, channel);
}
return -MATE_MIXER_INFINITY;
}
@@ -683,13 +679,13 @@ mate_mixer_stream_control_set_channel_decibel (MateMixerStreamControl *control,
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL) {
- MateMixerStreamControlClass *klass;
-
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_DECIBEL &&
+ control->priv->flags & MATE_MIXER_STREAM_CONTROL_VOLUME_WRITABLE) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if G_LIKELY (klass->set_channel_decibel != NULL)
- return klass->set_channel_decibel (control, channel, decibel);
+ /* Implementation required when the flags are available */
+ return klass->set_channel_decibel (control, channel, decibel);
}
return FALSE;
}
@@ -718,23 +714,22 @@ gboolean
mate_mixer_stream_control_set_balance (MateMixerStreamControl *control, gfloat balance)
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
+ g_return_val_if_fail (balance >= -1.0f && balance <= 1.0f, FALSE);
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_CAN_BALANCE) {
- MateMixerStreamControlClass *klass;
-
- if (balance < -1.0f || balance > 1.0f)
- return FALSE;
+ if ((control->priv->flags & MATE_MIXER_STREAM_CONTROL_CAN_BALANCE) == 0)
+ return FALSE;
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
+ if (control->priv->balance != balance) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if (klass->set_balance == NULL ||
- klass->set_balance (control, balance) == FALSE)
+ /* Implementation required when the flag is available */
+ if (klass->set_balance (control, balance) == FALSE)
return FALSE;
_mate_mixer_stream_control_set_balance (control, balance);
- return TRUE;
}
- return FALSE;
+ return TRUE;
}
/**
@@ -761,23 +756,22 @@ gboolean
mate_mixer_stream_control_set_fade (MateMixerStreamControl *control, gfloat fade)
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
+ g_return_val_if_fail (fade >= -1.0f && fade <= 1.0f, FALSE);
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_CAN_FADE) {
- MateMixerStreamControlClass *klass;
+ if ((control->priv->flags & MATE_MIXER_STREAM_CONTROL_CAN_FADE) == 0)
+ return FALSE;
- if (fade < -1.0f || fade > 1.0f)
- return FALSE;
+ if (control->priv->fade != fade) {
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if (klass->set_fade == NULL ||
- klass->set_fade (control, fade) == FALSE)
+ /* Implementation required when the flag is available */
+ if (klass->set_fade (control, fade) == FALSE)
return FALSE;
_mate_mixer_stream_control_set_fade (control, fade);
- return TRUE;
}
- return FALSE;
+ return TRUE;
}
/**
@@ -790,11 +784,11 @@ mate_mixer_stream_control_get_monitor_enabled (MateMixerStreamControl *control)
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_MONITOR) {
- MateMixerStreamControlClass *klass;
+ MateMixerStreamControlClass *klass =
+ MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if (klass->get_monitor_enabled != NULL)
- return klass->get_monitor_enabled (control);
+ /* Implementation required when the flag is available */
+ return klass->get_monitor_enabled (control);
}
return FALSE;
}
@@ -809,25 +803,11 @@ mate_mixer_stream_control_set_monitor_enabled (MateMixerStreamControl *control,
{
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), FALSE);
- if (enabled == mate_mixer_stream_control_get_monitor_enabled (control))
- return TRUE;
-
- if (control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_MONITOR) {
- MateMixerStreamControlClass *klass;
+ if ((control->priv->flags & MATE_MIXER_STREAM_CONTROL_HAS_MONITOR) == 0)
+ return FALSE;
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
- if (klass->set_monitor_enabled == NULL ||
- klass->set_monitor_enabled (control, enabled) == FALSE)
- return FALSE;
-
- if (enabled == TRUE)
- g_debug ("Control %s monitor enabled",
- control->priv->name);
- else
- g_debug ("Control %s monitor disabled",
- control->priv->name);
- }
- return FALSE;
+ /* Implementation required when the flag is available */
+ return MATE_MIXER_STREAM_CONTROL_GET_CLASS (control)->set_monitor_enabled (control, enabled);
}
/**
@@ -837,16 +817,10 @@ mate_mixer_stream_control_set_monitor_enabled (MateMixerStreamControl *control,
guint
mate_mixer_stream_control_get_min_volume (MateMixerStreamControl *control)
{
- MateMixerStreamControlClass *klass;
-
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if (klass->get_min_volume != NULL)
- return klass->get_min_volume (control);
-
- return 0;
+ /* Implementation required */
+ return MATE_MIXER_STREAM_CONTROL_GET_CLASS (control)->get_min_volume (control);
}
/**
@@ -856,16 +830,10 @@ mate_mixer_stream_control_get_min_volume (MateMixerStreamControl *control)
guint
mate_mixer_stream_control_get_max_volume (MateMixerStreamControl *control)
{
- MateMixerStreamControlClass *klass;
-
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if (klass->get_max_volume != NULL)
- return klass->get_max_volume (control);
-
- return 0;
+ /* Implementation required */
+ return MATE_MIXER_STREAM_CONTROL_GET_CLASS (control)->get_max_volume (control);
}
/**
@@ -875,16 +843,10 @@ mate_mixer_stream_control_get_max_volume (MateMixerStreamControl *control)
guint
mate_mixer_stream_control_get_normal_volume (MateMixerStreamControl *control)
{
- MateMixerStreamControlClass *klass;
-
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if (klass->get_normal_volume != NULL)
- return klass->get_normal_volume (control);
-
- return 0;
+ /* Implementation required */
+ return MATE_MIXER_STREAM_CONTROL_GET_CLASS (control)->get_normal_volume (control);
}
/**
@@ -894,16 +856,10 @@ mate_mixer_stream_control_get_normal_volume (MateMixerStreamControl *control)
guint
mate_mixer_stream_control_get_base_volume (MateMixerStreamControl *control)
{
- MateMixerStreamControlClass *klass;
-
g_return_val_if_fail (MATE_MIXER_IS_STREAM_CONTROL (control), 0);
- klass = MATE_MIXER_STREAM_CONTROL_GET_CLASS (control);
-
- if (klass->get_base_volume != NULL)
- return klass->get_base_volume (control);
-
- return 0;
+ /* Implementation required */
+ return MATE_MIXER_STREAM_CONTROL_GET_CLASS (control)->get_base_volume (control);
}
/* Protected functions */