From 5bd64349b051e9b792ae484def50b9fac6b11c3f Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Fri, 22 Jun 2012 22:12:00 +0000 Subject: Intégrationd es GtkVuMEter faite. Mais c'est pas beau :P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2012-violon-leds/trunk@28 6be1fa4d-33ac-4c33-becc-79fcb3794bb6 --- tests/test7/test7.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) (limited to 'tests/test7/test7.c') diff --git a/tests/test7/test7.c b/tests/test7/test7.c index 7f557ca..52eb029 100644 --- a/tests/test7/test7.c +++ b/tests/test7/test7.c @@ -1,10 +1,14 @@ #include #include +#include "gtkvumeter.h" #define FUNC_COUNT 4 GtkBuilder *builder=NULL; GtkToggleButton *buttons[FUNC_COUNT]={NULL}; +GtkWidget *vumeter_sound, *vumeter_r, *vumeter_g, *vumeter_b, *vumeter_h, *vumeter_s, *vumeter_v; + +void add_custom_widgets(); // Applicative actions void switch_to_func(gint func_id) { @@ -42,8 +46,6 @@ void on_radbut_func_realize(GtkObject *object, gpointer user_data) { int main (int argc, char *argv[]) { GtkWidget *window; -// int res; - gtk_init(&argc, &argv); builder = gtk_builder_new(); @@ -52,7 +54,9 @@ int main (int argc, char *argv[]) { window = GTK_WIDGET(gtk_builder_get_object(builder, "win_main")); gtk_builder_connect_signals(builder, NULL); - gtk_widget_show(window); + + add_custom_widgets(); + gtk_widget_show_all(window); gtk_main(); @@ -60,3 +64,52 @@ int main (int argc, char *argv[]) { return 0; } +void add_custom_widgets() { + GtkContainer *c; + + GdkColor f_gradient_red[2] = {{0,65535,0,0},{0,32767,0,0}}; + GdkColor b_gradient_red[2] = {{0,49151,0,0},{0,24575,0,0}}; + GdkColor f_gradient_green[2] = {{0,0,65535,0},{0,0,32767,0}}; + GdkColor b_gradient_green[2] = {{0,0,49151,0},{0,0,24575,0}}; + GdkColor f_gradient_blue[2] = {{0,0,0,65535},{0,0,0,32767}}; + GdkColor b_gradient_blue[2] = {{0,0,0,49151},{0,0,0,24575}}; + GdkColor f_gradient_hue[7] = {{0,65535,0,0},{0,65535,0,65535},{0,0,0,65535},{0,0,65535,65535},{0,0,65535,0},{0,65535,65535,0},{0,65535,0,0}}; + GdkColor b_gradient_hue[7] = {{0,49151,0,0},{0,49151,0,49151},{0,0,0,49151},{0,0,49151,49151},{0,0,49151,0},{0,49151,49151,0},{0,49151,0,0}}; + GdkColor f_gradient_value[2] = {{0,65535,0,0},{0,32767,0,0}}; + GdkColor b_gradient_value[2] = {{0,49151,0,0},{0,24575,0,0}}; + GdkColor f_gradient_saturation[2] = {{0,32767,32767,32767},{0,32767,0,0}}; + GdkColor b_gradient_saturation[2] = {{0,24575,24575,24575},{0,24575,0,0}}; + + vumeter_sound = gtk_vu_meter_new(TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_sound), -50, 0); + c=GTK_CONTAINER(gtk_builder_get_object(builder, "a_in_sound")); + gtk_container_add(c,vumeter_sound); + + vumeter_h = gtk_vu_meter_new (TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_h), 0, 255); + gtk_vu_meter_set_gradient(GTK_VU_METER(vumeter_h), 7, f_gradient_hue, 7, b_gradient_hue); + vumeter_s = gtk_vu_meter_new (TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_s), 0, 255); + gtk_vu_meter_set_gradient(GTK_VU_METER(vumeter_s), 2, f_gradient_value, 2, b_gradient_value); + vumeter_v = gtk_vu_meter_new (TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_v), 0, 255); + gtk_vu_meter_set_gradient(GTK_VU_METER(vumeter_v), 2, f_gradient_saturation, 2, b_gradient_saturation); + c=GTK_CONTAINER(gtk_builder_get_object(builder, "hb_out_hsv")); + gtk_container_add(c,vumeter_h); + gtk_container_add(c,vumeter_s); + gtk_container_add(c,vumeter_v); + + vumeter_r = gtk_vu_meter_new (TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_r), 0, 255); + gtk_vu_meter_set_gradient(GTK_VU_METER(vumeter_r), 2, f_gradient_red, 2, b_gradient_red); + vumeter_g = gtk_vu_meter_new (TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_g), 0, 255); + gtk_vu_meter_set_gradient(GTK_VU_METER(vumeter_g), 2, f_gradient_green, 2, b_gradient_green); + vumeter_b = gtk_vu_meter_new (TRUE); + gtk_vu_meter_set_min_max(GTK_VU_METER(vumeter_b), 0, 255); + gtk_vu_meter_set_gradient(GTK_VU_METER(vumeter_b), 2, f_gradient_blue, 2, b_gradient_blue); + c=GTK_CONTAINER(gtk_builder_get_object(builder, "hb_out_rgb")); + gtk_container_add(c,vumeter_r); + gtk_container_add(c,vumeter_g); + gtk_container_add(c,vumeter_b); +} -- cgit v1.2.3