- Timestamp:
- 08/18/08 14:42:34 (4 years ago)
- Files:
-
- 1 modified
-
trunk/fm_gui/src/fm_cdj_gui.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fm_gui/src/fm_cdj_gui.c
r223 r264 2 2 #include <glib-object.h> 3 3 #include <gtk/gtk.h> 4 #include <gdk/gdkkeysyms.h> 4 5 #include <glade/glade.h> 5 6 #include <rgc_client.h> … … 94 95 95 96 97 static void 98 _seek_direct (FmCDJData *cdata, 99 gdouble pos) 100 { 101 GValue *val = g_value_init_double (pos); 102 rgc_remote_object_call (cdata->element, "seek_direct", val, NULL); 103 g_value_destroy (val); 104 } 105 106 107 static void 108 _seek (FmCDJData *cdata, 109 gint value) 110 { 111 GValue *val = g_value_init_int (value); 112 rgc_remote_object_call (cdata->element, "seek", val, NULL); 113 g_value_destroy (val); 114 } 115 116 117 static gboolean 118 _key_pressed_cb (GtkWidget *widget, 119 GdkEventKey *key, 120 gpointer user_data) 121 { 122 FmCDJData *cdata = (FmCDJData *) user_data; 123 //FmCDJGui *gui = cdata->gui; 124 gboolean handled = TRUE; 125 g_print ("received key %d, %s\n", key->keyval, gdk_keyval_name(key->keyval)); 126 127 switch (key->keyval) { 128 case GDK_Home: 129 _seek_direct (cdata, 0.0); 130 break; 131 132 case GDK_Left: 133 _seek (cdata, -50); 134 break; 135 136 case GDK_Right: 137 _seek (cdata, 50); 138 break; 139 140 default: 141 handled = FALSE; 142 } 143 144 return handled; 145 } 146 147 96 148 FmCDJGui * 97 149 fm_cdj_gui_new (gpointer data) … … 167 219 168 220 _take_away_the_color (gui->layout_display, "#303030"); 221 222 gtk_widget_set_events (gui->window_cdj, GDK_KEY_PRESS_MASK); 223 g_signal_connect (G_OBJECT (gui->window_cdj), "key-press-event", G_CALLBACK (_key_pressed_cb), data); 169 224 170 225 … … 235 290 g_print("fm_cdj_gui_button_seek_clicked, value %d\n", value); 236 291 237 GValue *val = g_value_init_int (value); 238 rgc_remote_object_call (cdata->element, "seek", val, NULL); 239 g_value_destroy (val); 292 _seek (cdata, value); 240 293 } 241 294 … … 467 520 g_print ("%lf\n", pos); 468 521 469 GValue *val = g_value_init_double (pos); 470 rgc_remote_object_call (cdata->element, "seek_direct", val, NULL); 471 g_value_destroy (val); 522 _seek_direct (cdata, pos); 472 523 473 524 return FALSE;
