/** * mex_media_controls_get_enqueued: * @controls: The MexMediaControls widget * @current_content: MexContent that the player is currently playing * * If the media controls has been given a queue model then return the next * MexContent in the queue model. * * Return value: The next content in the queue or NULL */ MexContent * mex_media_controls_get_enqueued (MexMediaControls *controls, MexContent *current_content) { MexMediaControlsPrivate *priv; MexModel *queue; MexContent *content = NULL; if (!MEX_IS_MEDIA_CONTROLS (controls) || !MEX_IS_CONTENT (current_content)) return NULL; priv = controls->priv; if (priv->is_queue_model == FALSE) return NULL; queue = mex_proxy_get_model (priv->proxy); if (queue) { gint idx, length; idx = mex_model_index (queue, current_content); length = mex_model_get_length (queue); if (idx++ > length) return NULL; content = mex_model_get_content (queue, idx); } return content; }
static void mex_proxy_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { MexProxy *proxy = MEX_PROXY (object); switch (property_id) { case PROP_MODEL: g_value_set_object (value, mex_proxy_get_model (proxy)); break; case PROP_TYPE: g_value_set_gtype (value, mex_proxy_get_object_type (proxy)); break; case PROP_LIMIT: g_value_set_uint (value, mex_proxy_get_limit (proxy)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }