[snappy/aurena] ui controls volume in server
- From: Luis de Bethencourt <luisbg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [snappy/aurena] ui controls volume in server
- Date: Mon, 17 Sep 2012 15:50:05 +0000 (UTC)
commit 04be5647b6f61988fca3c688308da4919f916351
Author: Luis de Bethencourt <luis debethencourt com>
Date: Mon Sep 17 16:50:15 2012 +0100
ui controls volume in server
src/snra-client.c | 1 +
src/user_interface.c | 43 +++++++++++++++++++++++++------------------
src/user_interface.h | 1 +
3 files changed, 27 insertions(+), 18 deletions(-)
---
diff --git a/src/snra-client.c b/src/snra-client.c
index e840e9e..4303dd8 100644
--- a/src/snra-client.c
+++ b/src/snra-client.c
@@ -304,6 +304,7 @@ handle_set_volume_message (SnraClient * client, GstStructure * s)
if (client->ui) {
engine_volume (client->ui->engine, new_vol);
+ interface_update_volume (client->ui, new_vol);
}
}
diff --git a/src/user_interface.c b/src/user_interface.c
index a51f810..58ed2bf 100644
--- a/src/user_interface.c
+++ b/src/user_interface.c
@@ -45,7 +45,6 @@ static void size_change (ClutterStage * stage,
static void show_controls (UserInterface * ui, gboolean vis);
static void toggle_fullscreen (UserInterface * ui);
static void update_controls_size (UserInterface * ui);
-static gboolean update_volume (UserInterface * ui, gdouble volume);
/* ---------------------- static functions ----------------------- */
@@ -103,7 +102,7 @@ event_cb (ClutterStage * stage, ClutterEvent * event, SnraClient * client)
g_object_get (G_OBJECT (ui->engine->player), "mute", &muteval, NULL);
g_object_set (G_OBJECT (ui->engine->player), "mute", !muteval, NULL);
- update_volume (ui, volume);
+ interface_update_volume (ui, volume);
handled = TRUE;
break;
@@ -131,7 +130,7 @@ event_cb (ClutterStage * stage, ClutterEvent * event, SnraClient * client)
volume, NULL);
}
- update_volume (ui, volume);
+ interface_update_volume (ui, volume);
handled = TRUE;
break;
@@ -196,15 +195,23 @@ event_cb (ClutterStage * stage, ClutterEvent * event, SnraClient * client)
} else if (actor == ui->vol_int || actor == ui->vol_int_bg) {
gfloat x, y, dist;
gdouble volume;
+ SoupMessage *soup_msg;
+ char *url = NULL;
clutter_actor_get_transformed_position (ui->vol_int_bg, &x, &y);
dist = bev->x - x;
dist = CLAMP (dist, 0, ui->volume_width);
volume = dist / ui->volume_width;
- g_object_set (G_OBJECT (ui->engine->player), "volume", volume, NULL);
+ //g_object_set (G_OBJECT (ui->engine->player), "volume", volume, NULL);
clutter_actor_set_size (ui->vol_int, dist, ui->volume_height);
+ url = g_strdup_printf ("http://%s:%u/control/volume?level=%f",
+ client->connected_server, client->connected_port, volume);
+ soup_msg = soup_message_new ("GET", url);
+ soup_session_queue_message (client->soup, soup_msg, NULL, NULL);
+ g_free (url);
+
} else if (actor == ui->control_bg || actor == ui->control_title
|| actor == ui->control_pos) {
ui->keep_showing_controls = !ui->keep_showing_controls;
@@ -814,19 +821,7 @@ update_controls_size (UserInterface * ui)
clutter_actor_set_size (ui->fullscreen_toggle, icon_size, icon_size);
clutter_actor_set_size (ui->quit_button, icon_size, icon_size);
- update_volume (ui, -1);
-}
-
-static gboolean
-update_volume (UserInterface * ui, gdouble volume)
-{
- if (volume == -1)
- g_object_get (G_OBJECT (ui->engine->player), "volume", &volume, NULL);
-
- clutter_actor_set_size (ui->vol_int, volume * ui->volume_width,
- ui->volume_height);
-
- return TRUE;
+ interface_update_volume (ui, -1);
}
/* -------------------- non-static functions --------------------- */
@@ -1016,7 +1011,19 @@ interface_update_controls (UserInterface * ui)
{
progress_update_text (ui);
progress_update_seekbar (ui);
- update_volume (ui, -1);
+ interface_update_volume (ui, -1);
+
+ return TRUE;
+}
+
+gboolean
+interface_update_volume (UserInterface * ui, gdouble volume)
+{
+ if (volume == -1)
+ g_object_get (G_OBJECT (ui->engine->player), "volume", &volume, NULL);
+
+ clutter_actor_set_size (ui->vol_int, volume * ui->volume_width,
+ ui->volume_height);
return TRUE;
}
diff --git a/src/user_interface.h b/src/user_interface.h
index d555ca9..4910896 100644
--- a/src/user_interface.h
+++ b/src/user_interface.h
@@ -123,6 +123,7 @@ gboolean interface_load_uri (UserInterface * ui, gchar * uri);
void interface_play_next_or_prev (UserInterface * ui, gboolean next);
void interface_start (UserInterface * ui, gchar * uri, gpointer * data);
gboolean interface_update_controls (UserInterface * ui);
+gboolean interface_update_volume (UserInterface * ui, gdouble volume);
void toggle_playing (UserInterface * ui, gboolean playing);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]