static int mp_set_audio_mute(TPMediaPlayer * mp,int mute) { USERDATA(mp); CM(ud); int old_mute = ud->mute; ud->mute = mute ? 1 : 0; if ( old_mute != ud->mute ) { if ( ud->mute ) { ud->volume = clutter_media_get_audio_volume(cm); clutter_media_set_audio_volume(cm,0); } else { clutter_media_set_audio_volume(cm,ud->volume); ud->volume = 0; } } return 0; }
static void update_volume_and_style_class (MexVolumeControl *self) { MexVolumeControlPrivate *priv = self->priv; clutter_media_set_audio_volume (priv->media, priv->vol_value); clutter_media_set_audio_volume (priv->music, priv->vol_value); update_style_class (self); }
static gboolean _set_player_property_cb (GDBusConnection *connection, const gchar *sender, const gchar *object_path, const gchar *interface_name, const gchar *property_name, GVariant *value, GError **error, gpointer user_data) { MexMprisPluginPrivate *priv = MEX_MPRIS_PLUGIN (user_data)->priv; /* Currently unsupported properties */ if (g_strcmp0 (property_name, "LoopStatus") == 0 || g_strcmp0 (property_name, "Rate") == 0 || g_strcmp0 (property_name, "Shuffle") == 0) return FALSE; if (g_strcmp0 (property_name, "Volume") == 0) { clutter_media_set_audio_volume (priv->media, g_variant_get_double (value)); return TRUE; } g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED, "Property %s.%s not supported", interface_name, property_name); return FALSE; }
static int mp_set_audio_volume(TPMediaPlayer * mp,double volume) { USERDATA(mp); CM(ud); if ( ud->mute ) { ud->volume = volume; } else { clutter_media_set_audio_volume(cm,volume); } return 0; }