Esempio n. 1
0
static void
mex_music_player_slider_notify (MxSlider       *slider,
                                GParamSpec     *pspec,
                                MexMusicPlayer *player)
{
  MexMusicPlayerPrivate *priv = player->priv;

  clutter_media_set_progress (priv->player,
                              mx_slider_get_value (MX_SLIDER (priv->slider)));
}
Esempio n. 2
0
void on_button_clicked(MxButton *button, gpointer user_data)
{
    Assistant *assistant = (Assistant *) user_data;
    (void) assistant; // unused
    (void) button; // unused
    g_print("clicked\n");
    if (assistant->ready_)
    {
        g_print("slider value: %f\n", mx_slider_get_value(MX_SLIDER(assistant->slider)));
    }
}
Esempio n. 3
0
static void
slider_value_changed_cb (MxSlider         *slider,
                         GParamSpec       *pspec,
                         MexMediaControls *controls)
{
    MexMediaControlsPrivate *priv = controls->priv;

    if (priv->media)
        clutter_media_set_progress (priv->media,
                                    mx_slider_get_value (MX_SLIDER (priv->slider)));
}
Esempio n. 4
0
static void
float_prop_value_cb (MxSlider *slider,
                     GParamSpec *pspec,
                     FloatProp *prop)
{
  float value = mx_slider_get_value (slider);

  value = value * (prop->max - prop->min) + prop->min;

  if (prop->object)
    g_object_set (prop->object, prop->prop_name, value, NULL);
  else if (prop->material)
    prop->set_func (prop->material, value);

  update_float_prop_label (prop, value);
}
Esempio n. 5
0
static void
color_prop_value_cb (MxSlider *slider,
                     GParamSpec *pspec,
                     ColorPropComp *prop_comp)
{
  float value = mx_slider_get_value (slider) * 255.0f + 0.5f;
  ColorProp *prop = prop_comp->prop;

  if (prop->object)
    {
      ClutterColor *color;
      g_object_get (prop->object, prop->prop_name, &color, NULL);
      ((guint8 *) color)[prop_comp->comp_num] = value;
      clutter_rectangle_set_color (CLUTTER_RECTANGLE (prop->rect), color);
      g_object_set (prop->object, prop->prop_name, color, NULL);
      clutter_color_free (color);
    }
  else
    {
      ClutterColor color;
      CoglColor cogl_color;

      prop->get_func (prop->material, &cogl_color);

      color.red = cogl_color_get_red_byte (&cogl_color);
      color.green = cogl_color_get_green_byte (&cogl_color);
      color.blue = cogl_color_get_blue_byte (&cogl_color);
      color.alpha = 255;

      ((guint8 *) &color)[prop_comp->comp_num] = value;

      cogl_color_set_from_4ub (&cogl_color,
                               color.red,
                               color.green,
                               color.blue,
                               255);

      clutter_rectangle_set_color (CLUTTER_RECTANGLE (prop->rect), &color);

      prop->set_func (prop->material, &cogl_color);
    }

  update_prop_comp_label (prop_comp, value);
}
Esempio n. 6
0
File: mx-slider.c Progetto: 3v1n0/mx
static void
mx_slider_get_property (GObject    *object,
                        guint       property_id,
                        GValue     *value,
                        GParamSpec *pspec)
{
  MxSlider *self = MX_SLIDER (object);

  switch (property_id)
    {
    case PROP_VALUE:
      g_value_set_double (value, mx_slider_get_value (self));
      break;

    case PROP_BUFFER_VALUE:
      g_value_set_double (value, mx_slider_get_buffer_value (self));
      break;

    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }
}
Esempio n. 7
0
static void
update_stream_volume (MpdVolumeTile *self)
{
  MpdVolumeTilePrivate *priv = GET_PRIVATE (self);
  double       progress;
  pa_volume_t  volume;

  g_signal_handlers_disconnect_by_func (priv->sink,
                                        _stream_volume_notify_cb,
                                        self);

  progress = mx_slider_get_value (MX_SLIDER (priv->volume_slider));
  volume = progress * PA_VOLUME_NORM;
  if (gvc_mixer_stream_set_volume (priv->sink, volume))
    gvc_mixer_stream_push_volume (priv->sink);
  else
    g_warning ("%s() failed", __FUNCTION__);

  g_signal_connect (priv->sink, "notify::volume",
                    G_CALLBACK (_stream_volume_notify_cb), self);

}
Esempio n. 8
0
File: mx-slider.c Progetto: 3v1n0/mx
static gboolean
mx_slider_key_press_event (ClutterActor    *actor,
                           ClutterKeyEvent *event)
{
  gdouble value;

  value = mx_slider_get_value (MX_SLIDER (actor));

  switch (event->keyval)
    {
    case CLUTTER_Left :
      mx_slider_set_value (MX_SLIDER (actor), MAX (value - 0.1, 0));
      return TRUE;

    case CLUTTER_Right :
      mx_slider_set_value (MX_SLIDER (actor), MIN (value + 0.1, 1));
      return TRUE;

    default:
      break;
    }

  return FALSE;
}