void adj_value_changed_cb (GtkWidget * widget, gpointer data) { sw_view * v = (sw_view *)data; SampleDisplay * sd = SAMPLE_DISPLAY(v->display); GtkAdjustment * adj = GTK_ADJUSTMENT(v->adj); if (!v->sample->play_head->going || !v->following) { g_signal_handlers_block_matched (GTK_OBJECT(GTK_OBJECT(sd)), G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, v); sample_display_set_window(sd, (gint)adj->value, (gint)(adj->value + adj->page_size)); g_signal_handlers_unblock_matched (GTK_OBJECT(GTK_OBJECT(sd)), G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, v); } if (v->following) { if (v->sample->user_offset < adj->value || v->sample->user_offset > adj->value + adj->page_size) sample_set_playmarker (v->sample, adj->value + adj->page_size/2, TRUE); } view_refresh_hruler (v); }
void zoom_center_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); view_center_on (sd->view, sd->view->sample->user_offset); }
void select_shift_right_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sample_selection_shift_right (sd->view->sample); }
void selection_double_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sample_selection_double (sd->view->sample); }
void sd_sel_changed_cb (GtkWidget * widget) { SampleDisplay * sd = SAMPLE_DISPLAY(widget); sample_refresh_views (sd->view->sample); }
void zoom_norm_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_view * view = sd->view; view_zoom_normal (view); }
void zoom_right_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_view * v = sd->view; view_zoom_right (v); }
void view_close_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_view * v; v = sd->view; view_close(v); }
void view_new_all_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_sample * s; sw_view * v; s = sd->view->sample; v = view_new_all(s, 1.0); sample_add_view (s, v); }
/* XXX: dump this ?? */ void zoom_2_1_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_sample * s; s = sd->view->sample; view_set_ends(sd->view, s->sounddata->nr_frames / 4, 3 * s->sounddata->nr_frames / 4); }
void sd_win_changed_cb (GtkWidget * widget) { SampleDisplay * sd = SAMPLE_DISPLAY(widget); sw_view * v = sd->view; g_signal_handlers_block_matched (GTK_OBJECT(v->adj), G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, v); view_fix_adjustment (sd->view); g_signal_handlers_unblock_matched (GTK_OBJECT(v->adj), G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, v); view_refresh_hruler (v); }
void view_new_cb (GtkWidget * widget, gpointer data) { SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_sample * s; sw_view * view, * v; v = sd->view; s = v->sample; view = view_new (s, v->start, v->end, s->play_head->gain); sample_add_view (s, view); }
static void sample_display_realize (GtkWidget *widget) { GdkWindowAttr attributes; gint attributes_mask; SampleDisplay *s; g_return_if_fail (widget != NULL); g_return_if_fail (IS_SAMPLE_DISPLAY (widget)); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); s = SAMPLE_DISPLAY(widget); attributes.x = widget->allocation.x; attributes.y = widget->allocation.y; attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.window_type = GDK_WINDOW_CHILD; attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK; attributes.visual = gtk_widget_get_visual (widget); attributes.colormap = gtk_widget_get_colormap (widget); attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; widget->window = gdk_window_new (widget->parent->window, &attributes, attributes_mask); widget->style = gtk_style_attach (widget->style, widget->window); s->bg_gc = gdk_gc_new(widget->window); s->fg_gc = gdk_gc_new(widget->window); s->zeroline_gc = gdk_gc_new(widget->window); gdk_gc_set_foreground(s->bg_gc, &SAMPLE_DISPLAY_CLASS(GTK_OBJECT_GET_CLASS(widget))->colors[SAMPLE_DISPLAYCOL_BG]); gdk_gc_set_foreground(s->fg_gc, &SAMPLE_DISPLAY_CLASS(GTK_OBJECT_GET_CLASS(widget))->colors[SAMPLE_DISPLAYCOL_FG]); gdk_gc_set_foreground(s->zeroline_gc, &SAMPLE_DISPLAY_CLASS(GTK_OBJECT_GET_CLASS(widget))->colors[SAMPLE_DISPLAYCOL_ZERO]); if(s->edit) { s->loop_gc = gdk_gc_new(widget->window); s->mixerpos_gc = gdk_gc_new(widget->window); gdk_gc_set_foreground(s->loop_gc, &SAMPLE_DISPLAY_CLASS(GTK_OBJECT_GET_CLASS(widget))->colors[SAMPLE_DISPLAYCOL_LOOP]); gdk_gc_set_foreground(s->mixerpos_gc, &SAMPLE_DISPLAY_CLASS(GTK_OBJECT_GET_CLASS(widget))->colors[SAMPLE_DISPLAYCOL_MIXERPOS]); } sample_display_init_display(s, attributes.width, attributes.height); gdk_window_set_user_data (widget->window, widget); }
void adj_changed_cb (GtkWidget * widget, gpointer data) { sw_view * v = (sw_view *)data; SampleDisplay * sd = SAMPLE_DISPLAY(v->display); GtkAdjustment * adj = GTK_ADJUSTMENT(v->adj); g_signal_handlers_block_matched (GTK_OBJECT(GTK_OBJECT(sd)), G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, v); sample_display_set_window(sd, (gint)adj->value, (gint)(adj->value + adj->page_size)); g_signal_handlers_unblock_matched (GTK_OBJECT(GTK_OBJECT(sd)), G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, v); view_refresh_hruler (v); }
static void sample_display_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { SampleDisplay *s; g_return_if_fail (widget != NULL); g_return_if_fail (IS_SAMPLE_DISPLAY (widget)); g_return_if_fail (allocation != NULL); widget->allocation = *allocation; if (GTK_WIDGET_REALIZED (widget)) { s = SAMPLE_DISPLAY (widget); gdk_window_move_resize (widget->window, allocation->x, allocation->y, allocation->width, allocation->height); sample_display_init_display(s, allocation->width, allocation->height); } }
void sample_new_copy_cb (GtkWidget * widget, gpointer data) { sw_sample * ns; SampleDisplay * sd = SAMPLE_DISPLAY(data); sw_sample * s; sw_view * v; s = sd->view->sample; if(!s) return; ns = sample_new_copy(s); while (ns->color == s->color) { ns->color = (random()) % VIEW_COLOR_MAX; } v = view_new_all (ns, 1.0); sample_add_view (ns, v); sample_bank_add(ns); }
GtkWidget * scope_group_new (void) #endif { ScopeGroup *s; GtkWidget *button, *box, *thing; gint i; char buf[5]; s = gtk_type_new(scope_group_get_type()); GTK_BOX(s)->spacing = 2; GTK_BOX(s)->homogeneous = FALSE; s->scopes_on = 0; s->update_freq = 40; s->gtktimer = -1; s->numchan = 2; s->on_mask = 0xFFFFFFFF; s->table = gtk_table_new(2, 1, TRUE); gtk_widget_show(s->table); gtk_box_pack_start(GTK_BOX(s), s->table, TRUE, TRUE, 0); for(i = 0; i < 32; i++) { button = gtk_toggle_button_new(); s->scopebuttons[i] = button; g_signal_connect(button, "event", G_CALLBACK(scope_group_scope_event), s); g_signal_connect(button, "toggled", G_CALLBACK(button_toggled), GINT_TO_POINTER(i)); gtk_widget_show(button); gtk_widget_ref(button); box = gtk_vbox_new(FALSE, 0); gtk_widget_show(box); gtk_container_add(GTK_CONTAINER(button), box); #ifndef NO_GDK_PIXBUF thing = scalable_pic_new (mutedpic); gtk_box_pack_start(GTK_BOX(box), thing, TRUE, TRUE, 0); s->mutedpic[i] = thing; #endif thing = sample_display_new(FALSE); gtk_box_pack_start(GTK_BOX(box), thing, TRUE, TRUE, 0); s->scopes[i] = SAMPLE_DISPLAY(thing); g_sprintf(buf, "%02d", i+1); thing = gtk_label_new(buf); gtk_widget_show(thing); gtk_box_pack_start(GTK_BOX(box), thing, FALSE, TRUE, 0); } gtk_table_attach_defaults(GTK_TABLE(s->table), s->scopebuttons[0], 0, 1, 0, 1); gtk_table_attach_defaults(GTK_TABLE(s->table), s->scopebuttons[1], 0, 1, 1, 2); scope_group_set_update_freq(s, gui_settings.scopes_update_freq); return GTK_WIDGET(s); }