/** * ly_aud_set_mute: * * @mute: The gboolean format of state, TRUE for muted and FALSE for unmuted. * * Set volume. * * Returns: TRUE for success, others FALSE. */ gboolean ly_aud_set_mute(gboolean mute) { GstElement *ele=ly_ppl_audio_get_element("volume"); if(!ele) return FALSE; g_object_set(G_OBJECT(ele),"mute",mute,NULL); return TRUE; }
/** * ly_aud_get_mute: * * Get mute state. * * Returns: The gboolean format of state, TRUE for muted and FALSE for unmuted. */ gboolean ly_aud_get_mute() { gboolean mute; GstElement *ele=ly_ppl_audio_get_element("volume"); if(!ele) return FALSE; g_object_get(G_OBJECT(ele),"mute",&mute,NULL); return mute; }
/** * ly_aud_set_volume: * * @volume: The gdouble format of volume between 0 and 1. * * Set volume. * * Returns: TRUE for success, others FALSE. */ gboolean ly_aud_set_volume(gdouble volume) { GstElement *ele=ly_ppl_audio_get_element("volume"); if(!ele) return FALSE; g_object_set(G_OBJECT(ele),"volume",volume,NULL); ly_reg_set("aud_volume","%lf",volume); return TRUE; }
/** * ly_aud_get_volume: * * Get volume. * * Returns: The gdouble format volume value. */ gdouble ly_aud_get_volume() { gdouble volume; GstElement *ele=ly_ppl_audio_get_element("volume"); if(!ele) return FALSE; g_object_get(G_OBJECT(ele),"volume",&volume,NULL); if(!volume) { ly_log_put_with_flag(G_LOG_LEVEL_WARNING, _("Volume wrong!")); } return volume; }
/** * ly_aud_init: * * Initialize the aud module, it will be called by #ly_cox_init. */ void ly_aud_init() { /* * mode */ gint random=0; gint repeat=1; gint single=0; if(!ly_reg_get("aud_mode","%d:%d:%d", &random,&repeat,&single)) ly_reg_set("aud_mode","%d:%d:%d",random, repeat, single); /* * volume */ double vol=0.3; if(!ly_reg_get("aud_volume","%lf",&vol)) { ly_reg_set("aud_volume","%lf",vol); } GstElement *ele=ly_ppl_audio_get_element("volume"); if(ele) { g_object_set(G_OBJECT(ele), "volume", vol, NULL); } /* * autoplay */ int autoplay=0; if(!ly_reg_get("aud_autoplay", "%d", &autoplay)) ly_reg_set("aud_autoplay", "%d", autoplay); if(autoplay) { ly_aud_play(); } ly_mbs_put("meta_changed", "core:aud", NULL); ly_mbs_bind("ppl_eos", "core:ppl", ly_aud_on_ppl_eos_cb, NULL); }