More gtk+2 deprecation fixes.
authorAlexander Koenig <alex@lisas.de>
Mon, 20 Jan 2014 22:58:44 +0000 (23:58 +0100)
committerAlexander Koenig <alex@lisas.de>
Mon, 20 Jan 2014 22:58:44 +0000 (23:58 +0100)
68 files changed:
configure.in
src/main.cc
src/tX_audiodevice.cc
src/tX_audiodevice.h
src/tX_audiofile.cc
src/tX_audiofile.h
src/tX_capabilities.cc
src/tX_capabilities.h
src/tX_dial.c
src/tX_dial.h
src/tX_dialog.cc
src/tX_dialog.h
src/tX_endian.c
src/tX_endian.h
src/tX_engine.cc
src/tX_engine.h
src/tX_event.cc
src/tX_event.h
src/tX_extdial.cc
src/tX_extdial.h
src/tX_flash.c
src/tX_flash.h
src/tX_glade_callbacks.cc
src/tX_glade_interface.cc
src/tX_glade_support.cc
src/tX_global.c
src/tX_global.h
src/tX_icon.c
src/tX_icon.h
src/tX_knobloader.c
src/tX_knobloader.h
src/tX_ladspa.cc
src/tX_ladspa.h
src/tX_ladspa_class.cc
src/tX_ladspa_class.h
src/tX_legacy_global.c
src/tX_legacy_vtt.cc
src/tX_loaddlg.cc
src/tX_loaddlg.h
src/tX_logo.c
src/tX_mastergui.cc
src/tX_mastergui.h
src/tX_midiin.cc
src/tX_mouse.cc
src/tX_mouse.h
src/tX_panel.cc
src/tX_panel.h
src/tX_pbutton.cc
src/tX_pbutton.h
src/tX_prelis.cc
src/tX_prelis.h
src/tX_seqpar.cc
src/tX_seqpar.h
src/tX_sequencer.cc
src/tX_sequencer.h
src/tX_tape.cc
src/tX_tape.h
src/tX_types.h
src/tX_vtt.cc
src/tX_vtt.h
src/tX_vttfx.cc
src/tX_vttfx.h
src/tX_vttgui.cc
src/tX_vttgui.h
src/tX_widget.c
src/tX_widget.h
src/version.h
src/wav_read.c

index 0a283892701282d7e152a605c976fd2f91d2dc4a..ac05ee60eac1bf603b089489d12546477ee3260c 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(src/tX_global.h)
-AM_INIT_AUTOMAKE(terminatorX, 3.84)
+AM_INIT_AUTOMAKE(terminatorX, 3.89)
 AM_CONFIG_HEADER(config.h)
 
 AC_ARG_ENABLE(sox,             [  --enable-sox            use sox as input converter. (default=auto) ])
@@ -118,6 +118,9 @@ if test "$tX_threads" = "no"; then
        AC_MSG_ERROR([** failed to detect pthreads implementation **])
 fi
 
+
+AC_SEARCH_LIBS([dlclose], [dl])
+
 dnl GTK+ search. Enable FileChooser for gtk+>=2.4
 
 AM_PATH_GTK_2_0(, [
index 2fbf9a4d67d4774c7611761d2982a88a492ef985..685b09d2755432bfe76cff9f242a5de56d8cc67e 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -187,7 +187,7 @@ void checkenv(const char *name)
 
 int main(int argc, char **argv)
 {
-       fprintf(stderr, "%s - Copyright (C) 1999-2011 by Alexander König\n", VERSIONSTRING);
+       fprintf(stderr, "%s - Copyright (C) 1999-2014 by Alexander König\n", VERSIONSTRING);
        fprintf(stderr, "terminatorX comes with ABSOLUTELY NO WARRANTY - for details read the license.\n");
 
 #ifdef USE_CAPABILITIES        
@@ -221,7 +221,6 @@ int main(int argc, char **argv)
        checkenv("XLOCALEDIR"); 
 
        gtk_init (&argc, &argv);
-       gtk_set_locale();
        
 #ifdef USE_STARTUP_NOTIFICATION
        // startup isn't really finished with the nagbox alone...
index 150483c138e3f6e5251b21554d178b2abaa37b03..5c44d27dcfd3b6118f76ed63219fba8099f9f2db 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 39d4d01a2d3c06bc8756bd5c9882d98162920b59..3c6d0c8777a94c4389acf11ff1ca34e9d8a3f48a 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index d2a261265a584988d42d5d5ab331950e2d7e4f98..30913c42766e7dc4cd7ee7073a7d70dae26ed082 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 3776e9ba4a3c95e150d695435250c19bb20d62a5..9105e162e5b1cd94435fe67818dd6314c4f1ab41 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 2f3400bd545a7cbb54d32dfb7dbbffbc3d1a5580..056d79f48214f132e3d1e9ccb0038233b163a2d1 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 5564074adbf863f1a7f4b60809ccb1832f591a7e..51ac64e76362635567ade0036257d26421d10a3b 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index a45df0e653242c25f91830bb07cf74a56986cacd..0396b417648e16f33e57d26d31ba55fa7cde08a1 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -29,8 +29,7 @@
 
 #include <math.h>
 #include <stdio.h>
-#include <gtk/gtkmain.h>
-#include <gtk/gtksignal.h>
+#include <gtk/gtk.h>
 #include "tX_knobloader.h"
 
 #include "tX_dial.h"
@@ -93,7 +92,7 @@ static void gtk_tx_dial_class_init (GtkTxDialClass *class)
        object_class = (GtkObjectClass*) class;
        widget_class = (GtkWidgetClass*) class;
 
-       parent_class = gtk_type_class (gtk_widget_get_type ());
+       parent_class = (GtkWidgetClass*) g_type_class_peek (gtk_widget_get_type ());
 
        object_class->destroy = gtk_tx_dial_destroy;
 
@@ -190,38 +189,38 @@ void gtk_tx_dial_set_adjustment (GtkTxDial *tx_dial, GtkAdjustment *adjustment)
        g_object_ref (G_OBJECT (tx_dial->adjustment));
 
        g_signal_connect (G_OBJECT (adjustment), "changed",
-                         (GtkSignalFunc) gtk_tx_dial_adjustment_changed,
+                         (GCallback) gtk_tx_dial_adjustment_changed,
                          (gpointer) tx_dial);
        g_signal_connect (G_OBJECT (adjustment), "value_changed",
-                         (GtkSignalFunc) gtk_tx_dial_adjustment_value_changed,
+                         (GCallback) gtk_tx_dial_adjustment_value_changed,
                          (gpointer) tx_dial);
 
-       tx_dial->old_value = adjustment->value;
-       tx_dial->old_lower = adjustment->lower;
-       tx_dial->old_upper = adjustment->upper;
-       tx_dial->old_range = adjustment->upper - adjustment->lower;
+       tx_dial->old_value = gtk_adjustment_get_value(adjustment);
+       tx_dial->old_lower = gtk_adjustment_get_lower(adjustment);
+       tx_dial->old_upper = gtk_adjustment_get_upper(adjustment);
+       tx_dial->old_range = gtk_adjustment_get_upper(adjustment) - gtk_adjustment_get_lower(adjustment);
 
-       calc_image(adjustment->value,tx_dial->old_image);
+       calc_image(gtk_adjustment_get_value(adjustment),tx_dial->old_image);
 
        gtk_tx_dial_update (tx_dial);
 }
 
 static void gtk_tx_dial_realize (GtkWidget *widget)
 {
-       GtkTxDial *tx_dial;
        GdkWindowAttr attributes;
        gint attributes_mask;
        
        g_return_if_fail (widget != NULL);
        g_return_if_fail (GTK_IS_TX_DIAL (widget));
        
-       GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-       tx_dial = GTK_TX_DIAL (widget);
+       gtk_widget_set_realized(widget, TRUE);
        
-       attributes.x = widget->allocation.x;
-       attributes.y = widget->allocation.y;
-       attributes.width = widget->allocation.width;
-       attributes.height = widget->allocation.height;
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(widget, &allocation);
+       attributes.x = allocation.x;
+       attributes.y = allocation.y;
+       attributes.width = allocation.width;
+       attributes.height = allocation.height;
        attributes.wclass = GDK_INPUT_OUTPUT;
        attributes.window_type = GDK_WINDOW_CHILD;
        attributes.event_mask = gtk_widget_get_events (widget) | 
@@ -232,11 +231,11 @@ static void gtk_tx_dial_realize (GtkWidget *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);
+       gtk_widget_set_window(widget, gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributes_mask));
        
-       gdk_window_set_user_data (widget->window, widget);
-       widget->style = gtk_style_attach (widget->style, widget->window);
-       gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
+       gdk_window_set_user_data (gtk_widget_get_window(widget), widget);
+       gtk_widget_set_style(widget, gtk_style_attach (gtk_widget_get_style(widget), gtk_widget_get_window(widget)));
+       gtk_style_set_background (gtk_widget_get_style(widget), gtk_widget_get_window(widget), GTK_STATE_NORMAL);
 }
 
 static void gtk_tx_dial_size_request(GtkWidget *widget, GtkRequisition *requisition)
@@ -253,11 +252,11 @@ static void gtk_tx_dial_size_allocate (GtkWidget *widget, GtkAllocation *allocat
        g_return_if_fail (GTK_IS_TX_DIAL (widget));
        g_return_if_fail (allocation != NULL);
        
-       widget->allocation = *allocation;
+       gtk_widget_set_allocation(widget, allocation);
        tx_dial = GTK_TX_DIAL (widget);
        
-       if (GTK_WIDGET_REALIZED (widget)) {
-               gdk_window_move_resize (widget->window,
+       if (gtk_widget_get_realized (widget)) {
+               gdk_window_move_resize (gtk_widget_get_window(widget),
                                  allocation->x, allocation->y,
                                  allocation->width, allocation->height);
                
@@ -268,11 +267,13 @@ static void gtk_tx_dial_size_allocate (GtkWidget *widget, GtkAllocation *allocat
 
 inline void gtk_tx_dial_draw (GtkTxDial *tx_dial, GtkWidget *widget)
 {
-       if (GTK_WIDGET_DRAWABLE (widget)) {
-               gdk_pixbuf_render_to_drawable(knob_pixmaps[tx_dial->old_image], 
-                               widget->window,  widget->style->bg_gc[GTK_WIDGET_STATE(widget)],
-                               0, 0, tx_dial->xofs, tx_dial->yofs,
-                               KNOB_SIZE, KNOB_SIZE, GDK_RGB_DITHER_NORMAL, 0, 0);
+       if (gtk_widget_is_drawable (widget)) {
+//             gdk_draw_pixbuf(gtk_widget_is_drawable (widget), 
+//                             //gtk_widget_get_stlye(widget)->bg_gc[GTK_WIDGET_STATE(widget)],
+//                             NULL, //TODO: this needs to be ported to cairo!
+//                             knob_pixmaps[tx_dial->old_image],
+//                             0, 0, tx_dial->xofs, tx_dial->yofs,
+//                                             KNOB_SIZE, KNOB_SIZE, GDK_RGB_DITHER_NORMAL, 0, 0);
        }                
 }
 
@@ -330,10 +331,10 @@ static gint gtk_tx_dial_button_release (GtkWidget *widget, GdkEventButton *event
                tx_dial->button = 0;
                
                if (tx_dial->policy == GTK_UPDATE_DELAYED)
-                       gtk_timeout_remove (tx_dial->timer);
+                       g_source_remove (tx_dial->timer);
                
                if ((tx_dial->policy != GTK_UPDATE_CONTINUOUS) &&
-                       (tx_dial->old_value != tx_dial->adjustment->value))
+                       (tx_dial->old_value != gtk_adjustment_get_value(tx_dial->adjustment)))
                        g_signal_emit_by_name (G_OBJECT (tx_dial->adjustment),
                        "value_changed");
        }
@@ -357,8 +358,8 @@ static gint gtk_tx_dial_motion_notify (GtkWidget *widget, GdkEventMotion *event)
                x = event->x;
                y = event->y;
                
-               if (event->is_hint || (event->window != widget->window))
-                       gdk_window_get_pointer (widget->window, &x, &y, &mods);
+               if (event->is_hint || (event->window != gtk_widget_get_window(widget)))
+                       gdk_window_get_pointer (gtk_widget_get_window(widget), &x, &y, &mods);
                
                switch (tx_dial->button) {
                        case 1:
@@ -410,7 +411,7 @@ static void gtk_tx_dial_update_mouse (GtkTxDial *tx_dial, gint x, gint y)
        d=dx+dy;
        d/=200.0;
        
-       old_value=tx_dial->adjustment->value;    
+       old_value=gtk_adjustment_get_value(tx_dial->adjustment);    
        new_value=old_value + d*tx_dial->old_range;
        
        if (new_value>tx_dial->old_upper) 
@@ -418,14 +419,14 @@ static void gtk_tx_dial_update_mouse (GtkTxDial *tx_dial, gint x, gint y)
        else if (new_value<tx_dial->old_lower) 
                new_value=tx_dial->old_lower;
        
-       tx_dial->adjustment->value=new_value;
+       gtk_adjustment_set_value(tx_dial->adjustment, new_value);
        
-       if (tx_dial->adjustment->value != old_value) {
+       if (gtk_adjustment_get_value(tx_dial->adjustment) != old_value) {
                if (tx_dial->policy == GTK_UPDATE_CONTINUOUS)   {
                        g_signal_emit_by_name (G_OBJECT (tx_dial->adjustment),
                                   "value_changed");
                } else {
-                       calc_image(tx_dial->adjustment->value, image);
+                       calc_image(gtk_adjustment_get_value(tx_dial->adjustment), image);
                
                        if (image!=tx_dial->old_image) {
                                tx_dial->old_image=image;
@@ -434,10 +435,10 @@ static void gtk_tx_dial_update_mouse (GtkTxDial *tx_dial, gint x, gint y)
                
                        if (tx_dial->policy == GTK_UPDATE_DELAYED) {
                                if (tx_dial->timer)
-                                       gtk_timeout_remove (tx_dial->timer);
+                                       g_source_remove (tx_dial->timer);
                
-                                       tx_dial->timer = gtk_timeout_add (SCROLL_DELAY_LENGTH,
-                                                (GtkFunction) gtk_tx_dial_timer,
+                                       tx_dial->timer = g_timeout_add (SCROLL_DELAY_LENGTH,
+                                                (GSourceFunc) gtk_tx_dial_timer,
                                                 (gpointer) tx_dial);
                        }
                }
@@ -452,16 +453,16 @@ static void gtk_tx_dial_update (GtkTxDial *tx_dial)
        g_return_if_fail (tx_dial != NULL);
        g_return_if_fail (GTK_IS_TX_DIAL (tx_dial));
        
-       new_value = tx_dial->adjustment->value;
+       new_value = gtk_adjustment_get_value(tx_dial->adjustment);
        
-       if (new_value < tx_dial->adjustment->lower)
-               new_value = tx_dial->adjustment->lower;
+       if (new_value < gtk_adjustment_get_lower(tx_dial->adjustment))
+               new_value = gtk_adjustment_get_lower(tx_dial->adjustment);
        
-       if (new_value > tx_dial->adjustment->upper)
-               new_value = tx_dial->adjustment->upper;
+       if (new_value > gtk_adjustment_get_upper(tx_dial->adjustment))
+               new_value = gtk_adjustment_get_upper(tx_dial->adjustment);
        
-       if (new_value != tx_dial->adjustment->value) {
-               tx_dial->adjustment->value = new_value;
+       if (new_value != gtk_adjustment_get_value(tx_dial->adjustment)) {
+               gtk_adjustment_set_value(tx_dial->adjustment, new_value);
                g_signal_emit_by_name (G_OBJECT (tx_dial->adjustment), "value_changed");
        }
        
@@ -483,13 +484,13 @@ static void gtk_tx_dial_adjustment_changed (GtkAdjustment *adjustment,
        
        tx_dial = GTK_TX_DIAL (data);
        
-       if ((tx_dial->old_value != adjustment->value) ||
-               (tx_dial->old_lower != adjustment->lower) ||
-               (tx_dial->old_upper != adjustment->upper)) {
-               tx_dial->old_value = adjustment->value;
-               tx_dial->old_lower = adjustment->lower;
-               tx_dial->old_upper = adjustment->upper;
-               tx_dial->old_range = adjustment->upper-adjustment->lower;
+       if ((tx_dial->old_value != gtk_adjustment_get_value(adjustment)) ||
+               (tx_dial->old_lower != gtk_adjustment_get_lower(adjustment)) ||
+               (tx_dial->old_upper != gtk_adjustment_get_upper(adjustment))) {
+               tx_dial->old_value = gtk_adjustment_get_value(adjustment);
+               tx_dial->old_lower = gtk_adjustment_get_lower(adjustment);
+               tx_dial->old_upper = gtk_adjustment_get_upper(adjustment);
+               tx_dial->old_range = gtk_adjustment_get_upper(adjustment)-gtk_adjustment_get_lower(adjustment);
                
                gtk_tx_dial_update (tx_dial);
        }
@@ -504,8 +505,8 @@ static void gtk_tx_dial_adjustment_value_changed (GtkAdjustment *adjustment, gpo
        
        tx_dial = GTK_TX_DIAL (data);
        
-       if (tx_dial->old_value != adjustment->value) {
+       if (tx_dial->old_value != gtk_adjustment_get_value(adjustment)) {
                gtk_tx_dial_update (tx_dial);
-               tx_dial->old_value = adjustment->value;
+               tx_dial->old_value = gtk_adjustment_get_value(adjustment);
        }
 }
index d73e2cf9972beeac12163b7a0eea6b13ccbe06a9..6a9c7a12f483ae18ad95fe002ee138715af5b400 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -38,9 +38,9 @@
 extern "C" {
 #endif /* __cplusplus */
 
-#define GTK_TX_DIAL(obj)              GTK_CHECK_CAST (obj, gtk_tx_dial_get_type (), GtkTxDial)
+#define GTK_TX_DIAL(obj)              G_TYPE_CHECK_INSTANCE_CAST (obj, gtk_tx_dial_get_type (), GtkTxDial)
 #define GTK_TX_DIAL_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_tx_dial_get_type (), GtkTxDialClass)
-#define GTK_IS_TX_DIAL(obj)       GTK_CHECK_TYPE (obj, gtk_tx_dial_get_type ())
+#define GTK_IS_TX_DIAL(obj)       G_TYPE_CHECK_INSTANCE_TYPE (obj, gtk_tx_dial_get_type ())
 
 typedef struct _GtkTxDial        GtkTxDial;
 typedef struct _GtkTxDialClass   GtkTxDialClass;
index 128a39b2dcff532cb953d6eafbffd002e87347e2..b7d324a86333ad1e788af53dc23318ba6b4024d4 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -67,7 +67,6 @@ GtkWidget *opt_dialog;
 int opt_hidden=0;
 
 static GtkWidget *last_alsa_device_widget=NULL;
-static GtkWidget *alsa_device_entry=NULL;
 
 void apply_options(GtkWidget *dialog) {
        /* Audio */
@@ -210,9 +209,10 @@ void apply_options(GtkWidget *dialog) {
        add_widget_dyn(label);
 
 #ifdef USE_ALSA
-void append_alsa_device_list(GtkComboBoxText *combo) {
+void append_alsa_device_list(GtkComboBoxText *combo, char *current) {
        FILE *file;
        char buffer[PATH_MAX+1];
+       int ctr = 0;
        
        if ((file = fopen("/proc/asound/pcm", "r"))) {
                while(fgets(buffer, PATH_MAX, file)) {
@@ -229,6 +229,12 @@ void append_alsa_device_list(GtkComboBoxText *combo) {
                                sprintf(tmp, "hw:%i,%i# %s", card, device, foo);
                                
                                gtk_combo_box_text_append_text(combo, strdup(tmp));
+                               
+                               if (strcmp(tmp, current) == 0) {
+                                       gtk_combo_box_set_active(GTK_COMBO_BOX(combo), ctr);
+                               }
+                               ctr++;
+                                       
                        }
                }
                fclose(file);
@@ -245,7 +251,7 @@ int oss_select_dsp_only(const struct dirent *entry){
        return (strstr(entry->d_name, "dsp")!=0);
 }
 
-void append_oss_device_list(GtkComboBoxText *combo) {
+void append_oss_device_list(GtkComboBoxText *combo, char *current) {
     struct dirent **namelist;
     int n,i;
     n = scandir("/dev", &namelist, oss_select_dsp_only, alphasort);
@@ -256,45 +262,51 @@ void append_oss_device_list(GtkComboBoxText *combo) {
             sprintf(buffer, "/dev/%s", namelist[i]->d_name);
             free(namelist[i]);
             gtk_combo_box_text_append_text(combo, strdup(buffer));
+            
+            if (strcmp(buffer, current)==0) {
+                               gtk_combo_box_set_active(GTK_COMBO_BOX(combo), i);
+                       }
                }
        }
 }
 #endif
 
-static GList *sampling_rates=NULL;
+void append_sampling_rates_list(GtkComboBoxText *combo, int current) {
 
-GList *get_sampling_rates_list() {
-       if (sampling_rates) {
-               return sampling_rates;
+       gtk_combo_box_text_append_text(combo,  "22000");
+       gtk_combo_box_text_append_text(combo,  "32000");
+       gtk_combo_box_text_append_text(combo,  "44100");
+       gtk_combo_box_text_append_text(combo,  "48000");
+       switch (current) {
+               case 22000:
+                       gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
+                       break;
+               case 32000:
+                       gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1);
+                       break;
+               case 44100:
+                       gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 2);
+                       break;
+               case 48000:
+               default:
+                       gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 3);
        }
-
-       sampling_rates=g_list_append(sampling_rates, (void *) "22000");
-       sampling_rates=g_list_append(sampling_rates, (void *) "32000");
-       sampling_rates=g_list_append(sampling_rates, (void *) "44100");
-       sampling_rates=g_list_append(sampling_rates, (void *) "48000");
-
-       return sampling_rates;  
 }
 
-static GList *xinput_devices=NULL;
-
-GList *get_xinput_devices_list() {
-       if (xinput_devices) {
-               return xinput_devices;
-       }
-       
+void append_xinput_devices_list(GtkComboBoxText *combo, char *current) {
        int devmax;
        Display *dpy=XOpenDisplay(NULL);
        XDeviceInfo *xdev=XListInputDevices(dpy, &devmax);
        XCloseDisplay(dpy);
 
-       for (int i=0; i<devmax; i++) {
-               xinput_devices=g_list_append(xinput_devices, strdup(xdev[i].name));
+       for (int i=0; i<devmax; i++) {          
+               gtk_combo_box_text_append_text(combo, strdup(xdev[i].name));
+               if (strcmp(xdev[i].name, current) == 0) {
+                       gtk_combo_box_set_active(GTK_COMBO_BOX(combo), i);
+               }
        }
        
        XFreeDeviceList(xdev);
-       
-       return xinput_devices;
 }
 
 #define MAX_COLORS 10
@@ -309,6 +321,8 @@ char *colors[MAX_COLORS]={ NULL };
 
 
 void init_tx_options(GtkWidget *dialog) {
+       char tmp[256];
+       
        if (colors[0]==NULL) {
                for (int i=0; i<MAX_COLORS; i++) {
                        colors[i]=new char[8];
@@ -355,43 +369,32 @@ void init_tx_options(GtkWidget *dialog) {
 #endif 
        
        /* Audio: OSS */
-       append_oss_device_list(GTK_COMBO_BOX_TEXT(lookup_widget(dialog, "oss_audio_device")));
-       gtk_entry_set_text(GTK_ENTRY(GTK_COMBO_BOX(lookup_widget(dialog, "oss_audio_device"))->entry), globals.oss_device);
+       append_oss_device_list(GTK_COMBO_BOX_TEXT(lookup_widget(dialog, "oss_audio_device")), globals.oss_device);
 
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget(dialog, "oss_buffers")), globals.oss_buff_no);
        gtk_range_set_value(GTK_RANGE(lookup_widget(dialog, "oss_buffersize")), globals.oss_buff_size);
        gtk_widget_set_tooltip_text(lookup_widget(dialog, "oss_buffersize"), "Set the size of the kernel level audio buffers. On slower systems you might have to increase this value (if you hear \"clicks\" or drop-outs). Lower values mean lower latency though."); 
-       gtk_combo_set_popdown_strings(GTK_COMBO_BOX(lookup_widget(dialog, "oss_samplerate")), get_sampling_rates_list());
-       char tmp[64];
-       sprintf(tmp, "%i", globals.oss_samplerate);
-       gtk_entry_set_text(GTK_ENTRY(GTK_COMBO_BOX(lookup_widget(dialog, "oss_samplerate"))->entry), tmp);
-       
+       append_sampling_rates_list(GTK_COMBO_BOX_TEXT(lookup_widget(dialog, "oss_samplerate")), globals.oss_samplerate);
        
        /* Audio: ALSA */
-       GtkCombo *combo=GTK_COMBO_BOX(lookup_widget(dialog, "alsa_audio_device"));
-       GList *alsa_list=get_alsa_device_list();
+       GtkComboBoxText *combo=GTK_COMBO_BOX_TEXT(lookup_widget(dialog, "alsa_audio_device"));
        last_alsa_device_widget=NULL;
-       alsa_device_entry=combo->entry;
        
-       append_alsa_device_list(GTK_COMBOBOX_TEXT(combo));
-       gtk_entry_set_text(GTK_ENTRY(combo->entry), globals.alsa_device_id);
+       append_alsa_device_list(GTK_COMBO_BOX_TEXT(combo), globals.alsa_device_id);
 
        gtk_range_set_value(GTK_RANGE(lookup_widget(dialog, "alsa_buffer_time")), globals.alsa_buffer_time/1000);
        gtk_widget_set_tooltip_text(lookup_widget(dialog, "alsa_buffer_time"), "Sets the size of the ALSA ring buffer. On slower systems you might have to increase this value (if you hear \"clicks\" or drop-outs). Lower values mean lower latency though.");        
        gtk_range_set_value(GTK_RANGE(lookup_widget(dialog, "alsa_period_time")), globals.alsa_period_time/1000);
        gtk_widget_set_tooltip_text(lookup_widget(dialog, "alsa_period_time"), "The ALSA period time determines how much audio data will be written to the device at once. It is recommended to set this value to a half or a third of the ALSA buffer time."); 
 
-       gtk_combo_set_popdown_strings(GTK_COMBO_BOX(lookup_widget(dialog, "alsa_samplerate")), get_sampling_rates_list());
-       sprintf(tmp, "%i", globals.alsa_samplerate);
-       gtk_entry_set_text(GTK_ENTRY(GTK_COMBO_BOX(lookup_widget(dialog, "alsa_samplerate"))->entry), tmp);
+       append_sampling_rates_list(GTK_COMBO_BOX_TEXT(lookup_widget(dialog, "alsa_samplerate")), globals.alsa_samplerate);
        
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "alsa_free_hwstats")), globals.alsa_free_hwstats);
        
        /* Input */
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "xinput_enable")), globals.xinput_enable);
        
-       gtk_combo_set_popdown_strings(GTK_COMBO_BOX(lookup_widget(dialog, "xinput_device")), get_xinput_devices_list());
-       gtk_entry_set_text(GTK_ENTRY(GTK_COMBO_BOX(lookup_widget(dialog, "xinput_device"))->entry), globals.xinput_device);
+       append_xinput_devices_list(GTK_COMBO_BOX_TEXT(lookup_widget(dialog, "xinput_device")), globals.xinput_device);
 
        gtk_range_set_value(GTK_RANGE(lookup_widget(dialog, "mouse_speed")), globals.mouse_speed);
        gtk_widget_set_tooltip_text(lookup_widget(dialog, "mouse_speed"), "The speed of your mouse in scratch mode. Use negative values to invert motion.");
@@ -468,7 +471,7 @@ void create_options()
 void display_options()
 {
        if (opt_dialog) {
-               gdk_window_raise(opt_dialog->window);   
+               gdk_window_raise(gtk_widget_get_window(opt_dialog));    
        } else {
                create_options();
        }
@@ -478,7 +481,7 @@ GtkWidget *about=NULL;
 
 void raise_about()
 {
-       if (about) gdk_window_raise(about->window);
+       if (about) gdk_window_raise(gtk_widget_get_window(about));
 }
 
 
@@ -512,7 +515,7 @@ void show_about(int nag)
        
        /* Only raise the window if it's already open... */
        if (about)  {
-               gdk_window_raise(about->window);
+               gdk_window_raise(gtk_widget_get_window(about));
                return;
        }
        
@@ -541,7 +544,7 @@ void show_about(int nag)
                gtk_misc_set_alignment(GTK_MISC(label), 0.1, 0.5);
                gtk_widget_show(label);
 
-               label=gtk_label_new("Copyright (C) 1999-2011 by Alexander König");
+               label=gtk_label_new("Copyright (C) 1999-2014 by Alexander König");
                gtk_box_pack_start(GTK_BOX(box2), label, WID_DYN);
                gtk_misc_set_alignment(GTK_MISC(label), 0.9, 0.5);
                gtk_widget_show(label);
@@ -559,7 +562,7 @@ void show_about(int nag)
                sep=gtk_hseparator_new();
                add_about_wid_fix(sep);
                
-               label=gtk_label_new("This is "PACKAGE" release "VERSION" - Copyright (C) 1999-2011 by Alexander König"
+               label=gtk_label_new("This is "PACKAGE" release "VERSION" - Copyright (C) 1999-2014 by Alexander König"
                "\nSend comments, patches and scratches to: alex@lisas.de\nterminatorX-homepage: http://www.terminatorX.org");
 
                gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER);
index 3671054268b3ff24b0b91dc998a1345508098246..c81cddd20f9e214ee4a7914134bbf8878ec94041 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index f0dabfee72ab571e0ed4a6bc9707aeb499e9fafb..230cbdfd6e9bdb7e1c50597a59f5349f822616ec 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 52d999656a38de0234d1a20d3d3e08ba046f1e3f..8d03e0d328ab953d476bc4337b7f10bfa694347c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 06afbe05dbaf5fa9aca777d0d906fee1da4f9937..9f15a17b6d54e8ac5949b35e723b4507785470ae 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index c0413e26ad6550be924d5a94de22dd56a54fbdcc..69137fc0a26aaf009cc98e1fe902d240680c576c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index d292b1b85286ab564ce48ebb7f5c1d910a4cabc9..5caddedd19703856d1f5f33addddbca6d9bddf93 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 4afa9f9aab4573cf4716df71b57a6384073d8226..91c64066ad378a35b9394f0c94886e79b28cb9da 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 0a354da750441aab636eb5377b1d3f3a6377b089..9f110d44ed4fde851a0a1024d344a22d836eabc4 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -35,7 +35,7 @@ GCallback tX_extdial :: f_entry(GtkWidget *w, tX_extdial *ed)
 
 GCallback tX_extdial :: f_adjustment(GtkWidget *w, tX_extdial *ed)
 {
-       ed->fval=ed->adj->value;
+       ed->fval=gtk_adjustment_get_value(ed->adj);
        ed->f2s();
        gtk_entry_set_text(GTK_ENTRY(ed->entry), ed->sval);
        return NULL;    
@@ -44,7 +44,7 @@ GCallback tX_extdial :: f_adjustment(GtkWidget *w, tX_extdial *ed)
 tX_extdial :: tX_extdial(const char *l, GtkAdjustment *a, tX_seqpar * sp, bool text_below, bool hide_entry)
 {
        adj=a;
-       fval=adj->value;
+       fval=gtk_adjustment_get_value(adj);
        f2s();
        if (l) {
                label=gtk_label_new(NULL);
index 2e0733d2fd2bc6423f99fc2471961ab7ea038f58..6257dcce610b57302f0cf80b4047b026afaa4765 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index dd638af32b261a8713245f8cc208f2c0a4ebf33b..a967b99bd819e76c534000370a3f05f03940bdc3 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -23,7 +23,7 @@
 
 #include <math.h>
 
-#include <gtk/gtkwindow.h>
+
 #define IS_TX_FLASH 1
 #include "tX_flash.h"
 #include "tX_types.h"
@@ -97,7 +97,7 @@ static void gtk_tx_flash_class_init (GtkTxFlashClass *gclass)
        object_class = (GtkObjectClass*) gclass;
        widget_class = (GtkWidgetClass*) gclass;
        
-       parent_class = gtk_type_class (gtk_widget_get_type ());
+       parent_class = (GtkWidgetClass*) g_type_class_peek (gtk_widget_get_type ());
        
        object_class->destroy = gtk_tx_flash_destroy;
        
@@ -180,20 +180,20 @@ static void gtk_tx_flash_destroy (GtkObject *object)
 
 static void gtk_tx_flash_realize (GtkWidget *widget)
 {
-       GtkTxFlash *tx_flash;
        GdkWindowAttr attributes;
        gint attributes_mask;
        
        g_return_if_fail (widget != NULL);
        g_return_if_fail (GTK_IS_TX_FLASH (widget));
        
-       GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-       tx_flash = GTK_TX_FLASH (widget);
+       gtk_widget_set_realized(widget, TRUE);
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(widget, &allocation);
        
-       attributes.x = widget->allocation.x;
-       attributes.y = widget->allocation.y;
-       attributes.width = widget->allocation.width;
-       attributes.height = widget->allocation.height;
+       attributes.x = allocation.x;
+       attributes.y = allocation.y;
+       attributes.width = allocation.width;
+       attributes.height = allocation.height;
        attributes.wclass = GDK_INPUT_OUTPUT;
        attributes.window_type = GDK_WINDOW_CHILD;
        attributes.event_mask = gtk_widget_get_events (widget) | 
@@ -202,11 +202,11 @@ static void gtk_tx_flash_realize (GtkWidget *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);
+       gtk_widget_set_window(widget, gdk_window_new (gtk_widget_get_parent_window(widget), &attributes, attributes_mask));
+       gtk_widget_set_style(widget, gtk_style_attach (gtk_widget_get_style(widget), gtk_widget_get_window(widget)));
        
-       gdk_window_set_user_data (widget->window, widget);
-       gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
+       gdk_window_set_user_data (gtk_widget_get_window(widget), widget);
+       gtk_style_set_background (gtk_widget_get_style(widget), gtk_widget_get_window(widget), GTK_STATE_NORMAL);
 }
 
 static void gtk_tx_flash_size_request(GtkWidget *widget, GtkRequisition *requisition)
@@ -224,7 +224,10 @@ static void gtk_tx_flash_prepare(GtkWidget *widget)
        
        tx_flash=GTK_TX_FLASH(widget);
 
-       tx_flash->levels=(widget->allocation.height-(2*DY))/DLEVEL;
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(widget, &allocation);
+       
+       tx_flash->levels=(allocation.height-(2*DY))/DLEVEL;
        tx_flash->channel[0].last_level=0;
        tx_flash->channel[1].last_level=0;
        tx_flash->channel[0].max=0;
@@ -233,38 +236,34 @@ static void gtk_tx_flash_prepare(GtkWidget *widget)
        tx_flash->red_level=(RED_BORDER/tx_flash->level_value);
        
        tx_flash->channel[0].x1=DMINIX+S_MINIX+2;
-       tx_flash->channel[1].x2=widget->allocation.width-tx_flash->channel[0].x1-1;
-       
-       if (widget->allocation.width%2>0) {
+       tx_flash->channel[1].x2=allocation.width-tx_flash->channel[0].x1-1;
+               
+       if (allocation.width%2>0) {
                // odd
                tx_flash->center_expand=0;
-               tx_flash->channel[0].x2=widget->allocation.width/2-2;
+               tx_flash->channel[0].x2=allocation.width/2-2;
        } else {
                // even
                tx_flash->center_expand=1;
-               tx_flash->channel[0].x2=widget->allocation.width/2-3;
+               tx_flash->channel[0].x2=allocation.width/2-3;
        }
-       tx_flash->channel[1].x1=widget->allocation.width/2+2;
+       tx_flash->channel[1].x1=allocation.width/2+2;
        
        //tX_msg("flash: width %i: left %i, right %i", widget->allocation.width, tx_flash->channel[0].x2-tx_flash->channel[0].x1, tx_flash->channel[1].x2-tx_flash->channel[1].x1);
 }
 
 static void gtk_tx_flash_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
 {
-       GtkTxFlash *tx_flash;
-       
        g_return_if_fail (widget != NULL);
        g_return_if_fail (GTK_IS_TX_FLASH (widget));
        g_return_if_fail (allocation != NULL);
        
-       widget->allocation = *allocation;
+       gtk_widget_set_allocation(widget, allocation);
        
        gtk_tx_flash_prepare(widget);
        
-       if (GTK_WIDGET_REALIZED (widget)) {
-               tx_flash = GTK_TX_FLASH (widget);
-               
-               gdk_window_move_resize (widget->window,
+       if (gtk_widget_get_realized (widget)) {
+               gdk_window_move_resize (gtk_widget_get_window(widget),
                                  allocation->x, allocation->y,
                                  allocation->width, allocation->height);
        }
@@ -273,29 +272,32 @@ static void gtk_tx_flash_size_allocate(GtkWidget *widget, GtkAllocation *allocat
 static void gtk_tx_flash_paint_yourself(GtkWidget *widget)
 {
        GtkTxFlash *tx_flash;
+       GtkAllocation allocation;
+       
        gint i, x11, x12,x21, x22, y, middle;
        int long_level;
        
        tx_flash = GTK_TX_FLASH (widget);
+       gtk_widget_get_allocation(widget, &allocation);
        
-       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_BG]);
+       gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_BG]);
        
-       gdk_draw_rectangle(widget->window, widget->style->fg_gc[widget->state], 1, 0, 0, widget->allocation.width,widget->allocation.height); 
+       gdk_draw_rectangle(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], 1, 0, 0, allocation.width, allocation.height); 
        
-       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_NORM_HALF]);
+       gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_NORM_HALF]);
        
        x12=DMINIX+S_MINIX;
-       x21=widget->allocation.width-1-x12;
-       middle=widget->allocation.width/2;
+       x21=allocation.width-1-x12;
+       middle=allocation.width/2;
        
-       for (i=0, y=widget->allocation.height-DY; i<=tx_flash->levels; y-=DLEVEL, i++) {
+       for (i=0, y=allocation.height-DY; i<=tx_flash->levels; y-=DLEVEL, i++) {
                if (i==0) {
                        long_level=1;
                } else if (i==tx_flash->red_level-1) {
                        long_level=1;
                } else if (i==tx_flash->red_level) {
                        long_level=1;
-                       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_LOUD_HALF]);
+                       gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_LOUD_HALF]);
                } else if (i==tx_flash->levels) {
                        long_level=1;
                } else long_level=0;
@@ -308,13 +310,13 @@ static void gtk_tx_flash_paint_yourself(GtkWidget *widget)
                        x22=x21+S_MINIX;                
                }
                
-               gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], x11, y, x12, y);
-               gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], x21, y, x22, y);
+               gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], x11, y, x12, y);
+               gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], x21, y, x22, y);
                
                if (tx_flash->center_expand) {
-                       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], middle-1, y, middle, y);                     
+                       gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], middle-1, y, middle, y);                        
                } else {
-                       gdk_draw_point(widget->window, widget->style->fg_gc[widget->state], middle, y);
+                       gdk_draw_point(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], middle, y);
                }
        }
 }
@@ -353,11 +355,13 @@ void gtk_tx_flash_set_level(GtkWidget *widget, f_prec left_channel, f_prec right
 static void gtk_tx_flash_set_channel_level(GtkTxFlash *tx_flash, f_prec new_value, struct flash_channel *channel)
 {
        GtkWidget *widget=GTK_WIDGET(tx_flash);
+       GtkAllocation allocation;
        gint i, y;
        int new_level;
        int red=0;
        
        new_level=(int) (new_value/tx_flash->level_value);
+       gtk_widget_get_allocation(widget, &allocation);
        
        // tX_msg("setting level: %5d for widget %08x channel %08x\n", new_level, tx_flash, channel);
        
@@ -372,20 +376,20 @@ static void gtk_tx_flash_set_channel_level(GtkTxFlash *tx_flash, f_prec new_valu
        }
        
        if (tx_flash->max_cycles <= 0) {
-               y=widget->allocation.height-(DY+(channel->max)*DLEVEL);
-               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_BG]);
-               gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], channel->x1, y, channel->x2, y);
+               y=allocation.height-(DY+(channel->max)*DLEVEL);
+               gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_BG]);
+               gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], channel->x1, y, channel->x2, y);
                
                if (channel->max>0) {
                        channel->max--;
                        y+=DLEVEL;
                        if (channel->max>tx_flash->red_level) {
-                               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_LOUD]);
+                               gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_LOUD]);
                        } else {
-                               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_NORM]);
+                               gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_NORM]);
                        }
                        
-                       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], channel->x1, y, channel->x2, y);
+                       gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], channel->x1, y, channel->x2, y);
                }
        }
        
@@ -397,19 +401,19 @@ static void gtk_tx_flash_set_channel_level(GtkTxFlash *tx_flash, f_prec new_valu
        }
        
        if (new_level>channel->last_level) {
-               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_NORM]);
+               gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_NORM]);
                
-               for (i=channel->last_level, y=widget->allocation.height-(DY+channel->last_level*DLEVEL); i<=new_level; y-=DLEVEL, i++) {
+               for (i=channel->last_level, y=allocation.height-(DY+channel->last_level*DLEVEL); i<=new_level; y-=DLEVEL, i++) {
                        if (!red) {
                                if (i>=tx_flash->red_level) {
-                                       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_LOUD]);
+                                       gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_LOUD]);
                                        red=1;
                                }
                        }
-                       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], channel->x1, y, channel->x2, y);
+                       gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], channel->x1, y, channel->x2, y);
                }
        } else {
-               gdk_gc_set_foreground(widget->style->fg_gc[widget->state], &tx_flash->colors[COL_BG]);
+               gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], &tx_flash->colors[COL_BG]);
                
                if (channel->last_level==channel->max) {
                        i=channel->last_level-1;
@@ -417,8 +421,8 @@ static void gtk_tx_flash_set_channel_level(GtkTxFlash *tx_flash, f_prec new_valu
                        i=channel->last_level;
                }
                
-               for (y=widget->allocation.height-(DY+i*DLEVEL); i>new_level; y+=DLEVEL, i--) {
-                       gdk_draw_line(widget->window, widget->style->fg_gc[widget->state], channel->x1, y, channel->x2, y);
+               for (y=allocation.height-(DY+i*DLEVEL); i>new_level; y+=DLEVEL, i--) {
+                       gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], channel->x1, y, channel->x2, y);
                }
        }
        channel->last_level=new_level;
index 22deec7631825b565e6632b4f1194c3c760c635b..37d2fdcd55c3581a273f3e664d188e35e66f359f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
 #ifndef __GTK_TX_FLASH_H__
 #define __GTK_TX_FLASH_H__
 #include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
+#include <gtk/gtk.h>
 
 #include "tX_types.h"
 
@@ -34,9 +34,9 @@ extern "C" {
 #endif /* __cplusplus */
 
 
-#define GTK_TX_FLASH(obj) GTK_CHECK_CAST (obj, gtk_tx_flash_get_type(), GtkTxFlash)
+#define GTK_TX_FLASH(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, gtk_tx_flash_get_type(), GtkTxFlash)
 #define GTK_TX_FLASH_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_tx_flash_get_type(), GtkTxFlashClass)
-#define GTK_IS_TX_FLASH(obj) GTK_CHECK_TYPE (obj, gtk_tx_flash_get_type())
+#define GTK_IS_TX_FLASH(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, gtk_tx_flash_get_type())
 
 typedef struct _GtkTxFlash GtkTxFlash;
 typedef struct _GtkTxFlashClass GtkTxFlashClass;
index 1ae482626cb8d3b53af7c609d960b2cb330f63f0..a237ac7f68be09c29dc9459a230806fd2fa13a34 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -72,7 +72,8 @@ on_alsa_buffer_time_value_changed      (GtkRange        *range,
        GtkAdjustment *buffer_time=gtk_range_get_adjustment(GTK_RANGE(user_data));
        GtkAdjustment *period_time=gtk_range_get_adjustment(GTK_RANGE(range));
 
-       period_time->upper=buffer_time->value;
+
+       gtk_adjustment_set_upper(period_time, gtk_adjustment_get_value(buffer_time));
        gtk_adjustment_changed(period_time);
 }
 
@@ -80,7 +81,7 @@ void
 on_pref_reset_clicked                  (GtkButton       *button,
                                         gpointer         user_data)
 {
-       GtkWidget *dialog=gtk_message_dialog_new(GTK_WINDOW(opt_dialog->window), 
+       GtkWidget *dialog=gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(opt_dialog)), 
                GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
                "Loose all your settings and set default values?");
        
index 56b8a24e1797df5400839a5de92c348cd1aa4f73..c845b982e906f319cf2798f09584c9f511d2c906 100644 (file)
@@ -12,7 +12,6 @@
 #include <string.h>
 #include <stdio.h>
 
-#include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
 
 #include "tX_glade_callbacks.h"
@@ -21,7 +20,7 @@
 
 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
   g_object_set_data_full (G_OBJECT (component), name, \
-    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
+    g_object_ref (widget), (GDestroyNotify) g_object_unref)
 
 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
   g_object_set_data (G_OBJECT (component), name, widget)
@@ -44,14 +43,11 @@ create_tx_adjust (void)
   GtkWidget *dialog_action_area2;
   GtkWidget *cancel;
   GtkWidget *ok;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
+  
   tx_adjust = gtk_dialog_new ();
   gtk_window_set_title (GTK_WINDOW (tx_adjust), "Compute Pitch");
 
-  dialog_vbox2 = GTK_DIALOG (tx_adjust)->vbox;
+  dialog_vbox2 = gtk_dialog_get_content_area(GTK_DIALOG (tx_adjust));
   gtk_widget_show (dialog_vbox2);
 
   vbox1 = gtk_vbox_new (FALSE, 4);
@@ -75,7 +71,7 @@ create_tx_adjust (void)
   gtk_table_attach (GTK_TABLE (table7), master_cycles, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, master_cycles, "Specify the number of loops for the master turntable.", NULL);
+  gtk_widget_set_tooltip_text(master_cycles, "Specify the number of loops for the master turntable.");
 
   label36 = gtk_label_new ("Loops of the master turntable:");
   gtk_widget_show (label36);
@@ -95,26 +91,26 @@ create_tx_adjust (void)
   gtk_table_attach (GTK_TABLE (table7), cycles, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, cycles, "Specify the number of loops of _this_ turntable.", NULL);
+  gtk_widget_set_tooltip_text(cycles, "Specify the number of loops of _this_ turntable.");
 
   create_event = gtk_check_button_new_with_mnemonic ("Record a sequencer event");
   gtk_widget_show (create_event);
   gtk_box_pack_start (GTK_BOX (vbox1), create_event, FALSE, FALSE, 0);
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (create_event), TRUE);
 
-  dialog_action_area2 = GTK_DIALOG (tx_adjust)->action_area;
+  dialog_action_area2 = gtk_dialog_get_action_area(GTK_DIALOG (tx_adjust));
   gtk_widget_show (dialog_action_area2);
   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
 
   cancel = gtk_button_new_from_stock ("gtk-cancel");
   gtk_widget_show (cancel);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), cancel, GTK_RESPONSE_CANCEL);
-  GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(cancel, TRUE);
 
   ok = gtk_button_new_from_stock ("gtk-ok");
   gtk_widget_show (ok);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), ok, GTK_RESPONSE_OK);
-  GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(ok, TRUE);
 
   /* Store pointers to all widgets, for use by lookup_widget(). */
   GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tx_adjust, "tx_adjust");
@@ -130,7 +126,6 @@ create_tx_adjust (void)
   GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_action_area2, "dialog_action_area2");
   GLADE_HOOKUP_OBJECT (tx_adjust, cancel, "cancel");
   GLADE_HOOKUP_OBJECT (tx_adjust, ok, "ok");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tooltips, "tooltips");
 
   return tx_adjust;
 }
@@ -157,21 +152,17 @@ create_tx_options (void)
   GtkWidget *label23;
   GtkWidget *label24;
   GtkWidget *oss_audio_device;
-  GtkWidget *combo_entry2;
   GtkObject *oss_buffers_adj;
   GtkWidget *oss_buffers;
   GtkWidget *oss_buffersize;
   GtkWidget *oss_samplerate;
-  GtkWidget *combo_entry3;
   GtkWidget *label15;
   GtkWidget *table6;
   GtkWidget *label27;
   GtkWidget *label29;
   GtkWidget *label30;
   GtkWidget *alsa_audio_device;
-  GtkWidget *combo_entry4;
   GtkWidget *alsa_samplerate;
-  GtkWidget *combo_entry5;
   GtkWidget *alsa_period_time;
   GtkWidget *label32;
   GtkWidget *alsa_buffer_time;
@@ -183,7 +174,6 @@ create_tx_options (void)
   GtkWidget *label6;
   GtkWidget *label7;
   GtkWidget *xinput_device;
-  GtkWidget *combo_entry1;
   GtkWidget *mouse_speed;
   GtkWidget *stop_sense_cycles;
   GtkWidget *label25;
@@ -259,14 +249,11 @@ create_tx_options (void)
   GtkWidget *pref_cancel;
   GtkWidget *pref_apply;
   GtkWidget *pref_ok;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
+  
   tx_options = gtk_dialog_new ();
   gtk_window_set_title (GTK_WINDOW (tx_options), "terminatorX Preferences");
 
-  dialog_vbox3 = GTK_DIALOG (tx_options)->vbox;
+  dialog_vbox3 = gtk_dialog_get_content_area(GTK_DIALOG(tx_options));
   gtk_widget_show (dialog_vbox3);
 
   notebook1 = gtk_notebook_new ();
@@ -296,21 +283,21 @@ create_tx_options (void)
   oss_driver = gtk_radio_button_new_with_mnemonic (NULL, "OSS");
   gtk_widget_show (oss_driver);
   gtk_box_pack_start (GTK_BOX (hbox2), oss_driver, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, oss_driver, "Use the OSS (Open Sound System) driver for audio output.", NULL);
+  gtk_widget_set_tooltip_text(oss_driver, "Use the OSS (Open Sound System) driver for audio output.");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (oss_driver), oss_driver_group);
   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (oss_driver));
 
   alsa_driver = gtk_radio_button_new_with_mnemonic (NULL, "ALSA");
   gtk_widget_show (alsa_driver);
   gtk_box_pack_start (GTK_BOX (hbox2), alsa_driver, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, alsa_driver, "Use the ALSA (Advanced Linux Sound System) driver for audio output.", NULL);
+  gtk_widget_set_tooltip_text(alsa_driver, "Use the ALSA (Advanced Linux Sound System) driver for audio output.");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (alsa_driver), oss_driver_group);
   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (alsa_driver));
 
   jack_driver = gtk_radio_button_new_with_mnemonic (NULL, "JACK");
   gtk_widget_show (jack_driver);
   gtk_box_pack_start (GTK_BOX (hbox2), jack_driver, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, jack_driver, "Use the JACK (JACK Audio Connection Kit) driver for audio output.", NULL);
+  gtk_widget_set_tooltip_text(jack_driver, "Use the JACK (JACK Audio Connection Kit) driver for audio output.");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (jack_driver), oss_driver_group);
   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (jack_driver));
 
@@ -366,17 +353,17 @@ create_tx_options (void)
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
 
-  oss_audio_device = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (oss_audio_device)->popwin),
-                     "GladeParentKey", oss_audio_device);
+  oss_audio_device = gtk_combo_box_text_new ();
+//  g_object_set_data (G_OBJECT (GTK_COMBO_BOX (oss_audio_device)->popwin),
+//                     "GladeParentKey", oss_audio_device);
   gtk_widget_show (oss_audio_device);
   gtk_table_attach (GTK_TABLE (table5), oss_audio_device, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  combo_entry2 = GTK_COMBO (oss_audio_device)->entry;
-  gtk_widget_show (combo_entry2);
-  gtk_tooltips_set_tip (tooltips, combo_entry2, "Select the audiodevice you want terminatorX to send its output to.", NULL);
+  //combo_entry2 = GTK_COMBO (oss_audio_device)->entry;
+  //gtk_widget_show (combo_entry2);
+  gtk_widget_set_tooltip_text(oss_audio_device, "Select the audiodevice you want terminatorX to send its output to.");
 
   oss_buffers_adj = gtk_adjustment_new (2, 2, 5, 1, 10, 0);
   oss_buffers = gtk_spin_button_new (GTK_ADJUSTMENT (oss_buffers_adj), 1, 0);
@@ -384,7 +371,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table5), oss_buffers, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, oss_buffers, "Sets the number of kernel level audio buffers. Actually most systems should run just fine with two.", NULL);
+  gtk_widget_set_tooltip_text(oss_buffers, "Sets the number of kernel level audio buffers. Actually most systems should run just fine with two.");
 
   oss_buffersize = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (9, 8, 16, 1, 1, 1)));
   gtk_widget_show (oss_buffersize);
@@ -394,17 +381,17 @@ create_tx_options (void)
   gtk_scale_set_value_pos (GTK_SCALE (oss_buffersize), GTK_POS_LEFT);
   gtk_scale_set_digits (GTK_SCALE (oss_buffersize), 0);
 
-  oss_samplerate = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (oss_samplerate)->popwin),
-                     "GladeParentKey", oss_samplerate);
+  oss_samplerate = gtk_combo_box_text_new ();
+  //g_object_set_data (G_OBJECT (GTK_COMBO (oss_samplerate)->popwin),
+                     //"GladeParentKey", oss_samplerate);
   gtk_widget_show (oss_samplerate);
   gtk_table_attach (GTK_TABLE (table5), oss_samplerate, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  combo_entry3 = GTK_COMBO (oss_samplerate)->entry;
-  gtk_widget_show (combo_entry3);
-  gtk_tooltips_set_tip (tooltips, combo_entry3, "Select the sampling to use for this audio device - the higher the better quality. Note that not all sampling rates are supported by all audio devices.", NULL);
+//  combo_entry3 = GTK_COMBO (oss_samplerate)->entry;
+//  gtk_widget_show (combo_entry3);
+  gtk_widget_set_tooltip_text(oss_samplerate, "Select the sampling to use for this audio device - the higher the better quality. Note that not all sampling rates are supported by all audio devices.");
 
   label15 = gtk_label_new ("Audio: OSS");
   gtk_widget_show (label15);
@@ -438,27 +425,27 @@ create_tx_options (void)
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
 
-  alsa_audio_device = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (alsa_audio_device)->popwin),
-                     "GladeParentKey", alsa_audio_device);
+  alsa_audio_device = gtk_combo_box_text_new ();
+//  g_object_set_data (G_OBJECT (GTK_COMBO (alsa_audio_device)->popwin),
+//                     "GladeParentKey", alsa_audio_device);
   gtk_widget_show (alsa_audio_device);
   gtk_table_attach (GTK_TABLE (table6), alsa_audio_device, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  combo_entry4 = GTK_COMBO (alsa_audio_device)->entry;
-  gtk_widget_show (combo_entry4);
+//  combo_entry4 = GTK_COMBO (alsa_audio_device)->entry;
+//  gtk_widget_show (combo_entry4);
 
-  alsa_samplerate = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (alsa_samplerate)->popwin),
-                     "GladeParentKey", alsa_samplerate);
+  alsa_samplerate = gtk_combo_box_text_new ();
+//  g_object_set_data (G_OBJECT (GTK_COMBO (alsa_samplerate)->popwin),
+//                     "GladeParentKey", alsa_samplerate);
   gtk_widget_show (alsa_samplerate);
   gtk_table_attach (GTK_TABLE (table6), alsa_samplerate, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  combo_entry5 = GTK_COMBO (alsa_samplerate)->entry;
-  gtk_widget_show (combo_entry5);
+//  combo_entry5 = GTK_COMBO (alsa_samplerate)->entry;
+//  gtk_widget_show (combo_entry5);
 
   alsa_period_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (29, 10, 500, 1, 10, 10)));
   gtk_widget_show (alsa_period_time);
@@ -529,17 +516,17 @@ create_tx_options (void)
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
 
-  xinput_device = gtk_combo_new ();
-  g_object_set_data (G_OBJECT (GTK_COMBO (xinput_device)->popwin),
-                     "GladeParentKey", xinput_device);
+  xinput_device = gtk_combo_box_text_new ();
+//  g_object_set_data (G_OBJECT (GTK_COMBO (xinput_device)->popwin),
+//                     "GladeParentKey", xinput_device);
   gtk_widget_show (xinput_device);
   gtk_table_attach (GTK_TABLE (table1), xinput_device, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  combo_entry1 = GTK_COMBO (xinput_device)->entry;
-  gtk_widget_show (combo_entry1);
-  gtk_tooltips_set_tip (tooltips, combo_entry1, "Select the input device to use when XInput is enabled. Note: do not use this option if you plan on using your default device (standard mouse).", NULL);
+//  combo_entry1 = GTK_COMBO (xinput_device)->entry;
+//  gtk_widget_show (combo_entry1);
+  gtk_widget_set_tooltip_text(xinput_device, "Select the input device to use when XInput is enabled. Note: do not use this option if you plan on using your default device (standard mouse).");
 
   mouse_speed = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, -10, 10, 0.5, 0.1, 0.1)));
   gtk_widget_show (mouse_speed);
@@ -567,7 +554,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table1), xinput_enable, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, xinput_enable, "CAREFUL! Enable this *only* if you want to use an input device than your default X-Pointer (yes, your mouse ;). You have to select your desired device as well. Selecting the default mouse pointer will crash terminatorX so if you want to use that keep this option disabled.", NULL);
+  gtk_widget_set_tooltip_text(xinput_enable, "CAREFUL! Enable this *only* if you want to use an input device than your default X-Pointer (yes, your mouse ;). You have to select your desired device as well. Selecting the default mouse pointer will crash terminatorX so if you want to use that keep this option disabled.");
 
   label37 = gtk_label_new ("Turntable inertia:");
   gtk_widget_show (label37);
@@ -627,7 +614,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table2), mainwin_tooltips, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, mainwin_tooltips, "Enable tooltips for the terminatorX main window.", NULL);
+  gtk_widget_set_tooltip_text(mainwin_tooltips, "Enable tooltips for the terminatorX main window.");
 
   update_idle = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 6, 100, 1, 10, 10)));
   gtk_widget_show (update_idle);
@@ -664,7 +651,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table2), startup_nagbox, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, startup_nagbox, "Display nagbox on startup while loading data.", NULL);
+  gtk_widget_set_tooltip_text(startup_nagbox, "Display nagbox on startup while loading data.");
 
   label12 = gtk_label_new ("Buttons:");
   gtk_widget_show (label12);
@@ -887,7 +874,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table3), soundfile_editor, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, soundfile_editor, "Enter the command to run your favourite soundfile editor. It will be started when you choose \"Edit File\" from the turntable's file menu.", NULL);
+  gtk_widget_set_tooltip_text(soundfile_editor, "Enter the command to run your favourite soundfile editor. It will be started when you choose \"Edit File\" from the turntable's file menu.");
 
   label26 = gtk_label_new ("Pre-listen:");
   gtk_widget_show (label26);
@@ -901,7 +888,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table3), prelisten_enabled, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, prelisten_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
+  gtk_widget_set_tooltip_text(prelisten_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).");
 
   label31 = gtk_label_new ("LADSPA RDF path:");
   gtk_widget_show (label31);
@@ -941,7 +928,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table3), reconnect_enabled, 1, 2, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, reconnect_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
+  gtk_widget_set_tooltip_text(reconnect_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).");
 
   label57 = gtk_label_new ("Quit:");
   gtk_widget_show (label57);
@@ -986,30 +973,30 @@ create_tx_options (void)
   gtk_widget_show (label3);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 7), label3);
 
-  dialog_action_area3 = GTK_DIALOG (tx_options)->action_area;
+  dialog_action_area3 = gtk_dialog_get_content_area(GTK_DIALOG (tx_options));
   gtk_widget_show (dialog_action_area3);
   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END);
 
   pref_reset = gtk_button_new_from_stock ("gtk-revert-to-saved");
   gtk_widget_show (pref_reset);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_reset, 0);
-  GTK_WIDGET_SET_FLAGS (pref_reset, GTK_CAN_DEFAULT);
-
+  gtk_widget_set_can_default(pref_reset, TRUE);
+  
   pref_cancel = gtk_button_new_from_stock ("gtk-cancel");
   gtk_widget_show (pref_cancel);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_cancel, GTK_RESPONSE_CANCEL);
-  GTK_WIDGET_SET_FLAGS (pref_cancel, GTK_CAN_DEFAULT);
-
+  gtk_widget_set_can_default(pref_cancel, TRUE);
+  
   pref_apply = gtk_button_new_from_stock ("gtk-apply");
   gtk_widget_show (pref_apply);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_apply, GTK_RESPONSE_APPLY);
-  GTK_WIDGET_SET_FLAGS (pref_apply, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(pref_apply, TRUE);
 
   pref_ok = gtk_button_new_from_stock ("gtk-ok");
   gtk_widget_show (pref_ok);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_ok, GTK_RESPONSE_OK);
-  GTK_WIDGET_SET_FLAGS (pref_ok, GTK_CAN_DEFAULT);
-
+  gtk_widget_set_can_default(pref_ok, TRUE);
+  
   g_signal_connect ((gpointer) tx_options, "destroy",
                     G_CALLBACK (on_tx_options_destroy),
                     NULL);
@@ -1075,20 +1062,16 @@ create_tx_options (void)
   GLADE_HOOKUP_OBJECT (tx_options, label23, "label23");
   GLADE_HOOKUP_OBJECT (tx_options, label24, "label24");
   GLADE_HOOKUP_OBJECT (tx_options, oss_audio_device, "oss_audio_device");
-  GLADE_HOOKUP_OBJECT (tx_options, combo_entry2, "combo_entry2");
   GLADE_HOOKUP_OBJECT (tx_options, oss_buffers, "oss_buffers");
   GLADE_HOOKUP_OBJECT (tx_options, oss_buffersize, "oss_buffersize");
   GLADE_HOOKUP_OBJECT (tx_options, oss_samplerate, "oss_samplerate");
-  GLADE_HOOKUP_OBJECT (tx_options, combo_entry3, "combo_entry3");
   GLADE_HOOKUP_OBJECT (tx_options, label15, "label15");
   GLADE_HOOKUP_OBJECT (tx_options, table6, "table6");
   GLADE_HOOKUP_OBJECT (tx_options, label27, "label27");
   GLADE_HOOKUP_OBJECT (tx_options, label29, "label29");
   GLADE_HOOKUP_OBJECT (tx_options, label30, "label30");
   GLADE_HOOKUP_OBJECT (tx_options, alsa_audio_device, "alsa_audio_device");
-  GLADE_HOOKUP_OBJECT (tx_options, combo_entry4, "combo_entry4");
   GLADE_HOOKUP_OBJECT (tx_options, alsa_samplerate, "alsa_samplerate");
-  GLADE_HOOKUP_OBJECT (tx_options, combo_entry5, "combo_entry5");
   GLADE_HOOKUP_OBJECT (tx_options, alsa_period_time, "alsa_period_time");
   GLADE_HOOKUP_OBJECT (tx_options, label32, "label32");
   GLADE_HOOKUP_OBJECT (tx_options, alsa_buffer_time, "alsa_buffer_time");
@@ -1100,7 +1083,6 @@ create_tx_options (void)
   GLADE_HOOKUP_OBJECT (tx_options, label6, "label6");
   GLADE_HOOKUP_OBJECT (tx_options, label7, "label7");
   GLADE_HOOKUP_OBJECT (tx_options, xinput_device, "xinput_device");
-  GLADE_HOOKUP_OBJECT (tx_options, combo_entry1, "combo_entry1");
   GLADE_HOOKUP_OBJECT (tx_options, mouse_speed, "mouse_speed");
   GLADE_HOOKUP_OBJECT (tx_options, stop_sense_cycles, "stop_sense_cycles");
   GLADE_HOOKUP_OBJECT (tx_options, label25, "label25");
@@ -1174,7 +1156,6 @@ create_tx_options (void)
   GLADE_HOOKUP_OBJECT (tx_options, pref_cancel, "pref_cancel");
   GLADE_HOOKUP_OBJECT (tx_options, pref_apply, "pref_apply");
   GLADE_HOOKUP_OBJECT (tx_options, pref_ok, "pref_ok");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_options, tooltips, "tooltips");
 
   return tx_options;
 }
@@ -1199,7 +1180,7 @@ create_tx_del_mode (void)
   tx_del_mode = gtk_dialog_new ();
   gtk_window_set_title (GTK_WINDOW (tx_del_mode), "Choose Events to Delete");
 
-  dialog_vbox4 = GTK_DIALOG (tx_del_mode)->vbox;
+  dialog_vbox4 = gtk_dialog_get_content_area(GTK_DIALOG (tx_del_mode));
   gtk_widget_show (dialog_vbox4);
 
   vbox2 = gtk_vbox_new (FALSE, 2);
@@ -1237,19 +1218,19 @@ create_tx_del_mode (void)
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (from_current), all_events_group);
   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (from_current));
 
-  dialog_action_area4 = GTK_DIALOG (tx_del_mode)->action_area;
+  dialog_action_area4 = gtk_dialog_get_action_area(GTK_DIALOG (tx_del_mode));
   gtk_widget_show (dialog_action_area4);
   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
 
   cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
   gtk_widget_show (cancelbutton1);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_del_mode), cancelbutton1, GTK_RESPONSE_CANCEL);
-  GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(cancelbutton1, TRUE);
 
   okbutton1 = gtk_button_new_from_stock ("gtk-ok");
   gtk_widget_show (okbutton1);
   gtk_dialog_add_action_widget (GTK_DIALOG (tx_del_mode), okbutton1, GTK_RESPONSE_OK);
-  GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(okbutton1, TRUE);
 
   g_signal_connect ((gpointer) cancelbutton1, "clicked",
                     G_CALLBACK (on_del_mode_cancel_clicked),
@@ -1288,7 +1269,7 @@ create_tX_midilearn (void)
   tX_midilearn = gtk_dialog_new ();
   gtk_window_set_title (GTK_WINDOW (tX_midilearn), "MIDI Learn");
 
-  dialog_vbox5 = GTK_DIALOG (tX_midilearn)->vbox;
+  dialog_vbox5 = gtk_dialog_get_content_area(GTK_DIALOG (tX_midilearn));
   gtk_widget_show (dialog_vbox5);
 
   vbox4 = gtk_vbox_new (FALSE, 0);
@@ -1300,14 +1281,14 @@ create_tX_midilearn (void)
   gtk_widget_show (midilabel);
   gtk_box_pack_start (GTK_BOX (vbox4), midilabel, TRUE, TRUE, 0);
 
-  dialog_action_area5 = GTK_DIALOG (tX_midilearn)->action_area;
+  dialog_action_area5 = gtk_dialog_get_action_area(GTK_DIALOG (tX_midilearn));
   gtk_widget_show (dialog_action_area5);
   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END);
 
   cancel = gtk_button_new_from_stock ("gtk-cancel");
   gtk_widget_show (cancel);
   gtk_dialog_add_action_widget (GTK_DIALOG (tX_midilearn), cancel, GTK_RESPONSE_CANCEL);
-  GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(cancel, TRUE);
 
   /* Store pointers to all widgets, for use by lookup_widget(). */
   GLADE_HOOKUP_OBJECT_NO_REF (tX_midilearn, tX_midilearn, "tX_midilearn");
@@ -1332,19 +1313,19 @@ create_tX_color_selection (void)
   tX_color_selection = gtk_color_selection_dialog_new ("Select Color");
   gtk_window_set_resizable (GTK_WINDOW (tX_color_selection), FALSE);
 
-  ok_button1 = GTK_COLOR_SELECTION_DIALOG (tX_color_selection)->ok_button;
+  g_object_get_property(G_OBJECT(tX_color_selection), "ok-button", (GValue *) &ok_button1);
   gtk_widget_show (ok_button1);
-  GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(ok_button1, TRUE);
 
-  cancel_button1 = GTK_COLOR_SELECTION_DIALOG (tX_color_selection)->cancel_button;
+  g_object_get_property(G_OBJECT(tX_color_selection), "cancel-button", (GValue *) &cancel_button1);
   gtk_widget_show (cancel_button1);
-  GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(cancel_button1, TRUE);
 
-  help_button1 = GTK_COLOR_SELECTION_DIALOG (tX_color_selection)->help_button;
+  g_object_get_property(G_OBJECT(tX_color_selection), "help-button", (GValue *) &help_button1);
   gtk_widget_show (help_button1);
-  GTK_WIDGET_SET_FLAGS (help_button1, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default(help_button1, TRUE);
 
-  color_selection = GTK_COLOR_SELECTION_DIALOG (tX_color_selection)->colorsel;
+  color_selection = gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG(tX_color_selection));
   gtk_widget_show (color_selection);
   gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (color_selection), FALSE);
 
index 238a7d9fbcd31fbc837e1260c34479692f72a101..13163a124134127639da0d700f800accbc9dfd2f 100644 (file)
@@ -26,8 +26,8 @@ lookup_widget                          (GtkWidget       *widget,
     {
       if (GTK_IS_MENU (widget))
         parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
-      else
-        parent = widget->parent;
+      else             
+        parent = gtk_widget_get_parent(widget);
       if (!parent)
         parent = (GtkWidget *) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
       if (parent == NULL)
index 28243343a25f537c50ce961d7bb60d8f8988f022..a9618448049c2e186f47c082f8f51ce39d810f7d 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 0f59a0a394b31c053db420bf9686ae20b31e4f70..683584d8431df1def30091d656b19410caf8f32e 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 688250876f171e8c504fb997b7bee198bbfa41b7..99c0f1b921ffbdc3f69f59cc65f734b25949e544 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 101519a50bc4dee2d449d5bd84e55e5901e5518f..a8700dd6be18f97f200e0c470bf13ba0e4fe00ab 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index e75e45f7c03395301d7a9058331ce4962416e4dc..0fa5069d15a8bf3f3db80548668ad3323c8674ad 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 59835ee939c9e677b2249d72ae3834eb983b8983..103a09055980ebfd15d141edd380fe460f3c3bad 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index d9bea008c9a618af923b8c122fb5be4cb971bd23..2115938a42a24416d4f82e13d0a273b1a590471c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index da609345f5a06bb48fe5d44c542c615a08e19e66..f5108503198761405a973075ad587eac7b22b711 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 9d1f8cdccc1c0544735af8ae07e59af13b66ea53..f6287098c7c34637846783ef69a785b161ed1ed6 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 4c7a7085f17813321bee24cf281e20ff1d8f8a0f..462e11487d62e40125c9be051c057068b4f4caf4 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index ad2710d02cd04135aaafeac0b5f1b4a72ff2979e..965faa3483644868c2e503fe859eba02ee22ab8f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index a90e6295cfa8c85e6a92a9ab2629b66bc537f608..a09e9fcf5ada32b7292deff02457423f5cc0627c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index a2c3e29b82c541e287ba16509a3db80689ae517f..56970a45533d474c3bbedada67c69ddc8b2db190 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -95,9 +95,9 @@ int ld_create_loaddlg(int mode, int count)
 
        gtk_window_set_modal(GTK_WINDOW(ld_loaddlg), TRUE);
        gtk_widget_realize(ld_loaddlg);
-       gdk_window_set_decorations(ld_loaddlg->window, (GdkWMDecoration) 0);
+       gdk_window_set_decorations(gtk_widget_get_window(ld_loaddlg), (GdkWMDecoration) 0);
        gtk_widget_show(ld_loaddlg);
-       gdk_window_set_cursor(ld_loaddlg->window, tX_cursor::get_cursor());
+       gdk_window_set_cursor(gtk_widget_get_window(ld_loaddlg), tX_cursor::get_cursor());
 
        gtk_flush();
                
index 197c83a3ccd701e454c69e8359c5f61fa9ebdfb9..95b598509104e613542026470ff6840878578e1d 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index d2fba34004878a9969fcb7150965197f05ce0e92..d80bec1f39f7ace2c6003e1d6854c2bd97a80e58 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 1d487f2d1623ba2de4d5f8e9ad3f398040132b63..5dce089c0e0d3a26d478184c167cd21af68763f9 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -226,9 +226,7 @@ void mg_update_status()
        procfs=fopen(filename, "r");
        if (procfs) {
                while((!feof(procfs)) && !found) {
-                       char *res = fgets(buffer, 256, procfs);
-                       
-                       if (strncmp(TX_MEMTAG, buffer, sizeof(TX_MEMTAG)-1)==0) {
+                       if (fgets(buffer, 256, procfs) && (strncmp(TX_MEMTAG, buffer, sizeof(TX_MEMTAG)-1)==0)) {
                                found=1;
                                sscanf(buffer, TX_MEMTAG" %i kB", &mem);
                                sprintf(buffer, "%.1lf M", ((double) mem)/1024.0);
@@ -463,8 +461,9 @@ vtt_class* choose_vtt() {
 
        GtkWidget *label = gtk_label_new ("Select turntable to load audio file to:");
        gtk_widget_show(label);
-       gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), label);
-       gtk_container_set_border_width(GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), 10);
+
+       gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG(dialog))), label);
+       gtk_container_set_border_width(GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG(dialog))), 10);
        
        list <GtkWidget *> radio_buttons;
        list <vtt_class *> :: iterator iter;
@@ -482,7 +481,7 @@ vtt_class* choose_vtt() {
                        radio = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(radio), (*iter)->name);
                }
                g_object_set_data(G_OBJECT(radio), "tX_vtt", (*iter));
-               gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), radio);
+               gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG(dialog))), radio);
                gtk_widget_show(radio);
                radio_buttons.push_back(radio);
        }       
@@ -536,14 +535,14 @@ GCallback drop_set(GtkWidget *widget, GdkDragContext *context,
        char filename[PATH_MAX];
        char *fn;
        
-       strncpy(filename, (char *) selection_data->data, (size_t) selection_data->length);
-       filename[selection_data->length]=0;
+       strncpy(filename, (char *) gtk_selection_data_get_data(selection_data), (size_t) gtk_selection_data_get_length(selection_data));
+       filename[gtk_selection_data_get_length(selection_data)]=0;
 
        fn = strchr (filename, '\r');
        *fn=0;  
        
        fn = strchr (filename, ':');
-       if (fn) fn++; else fn=(char *) selection_data->data;
+       if (fn) fn++; else fn=(char *) gtk_selection_data_get_data(selection_data);
        
        load_tt_part(fn);
 
@@ -683,13 +682,13 @@ GCallback save_tables()
 
 GCallback master_volume_changed (GtkWidget *wid, void *d)
 {
-       sp_master_volume.receive_gui_value((float) GTK_ADJUSTMENT(wid)->value);
+       sp_master_volume.receive_gui_value((float) gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
        return NULL;    
 }
 
 GCallback master_pitch_changed(GtkWidget *wid, void *d)
 {
-       sp_master_pitch.receive_gui_value((float) GTK_ADJUSTMENT(wid)->value);  
+       sp_master_pitch.receive_gui_value((float) gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));       
        return NULL;    
 }
 
@@ -745,7 +744,7 @@ GCallback audio_on(GtkWidget *w, void *d)
                stop_update=0;
                audioon=1;
                update_delay=globals.update_delay;
-               update_tag=gtk_timeout_add(globals.update_idle, (GtkFunction) pos_update, NULL);
+               update_tag=g_timeout_add(globals.update_idle, (GSourceFunc) pos_update, NULL);
                gtk_widget_set_sensitive(grab_button, 1);
        } else {        
                if (stop_override) return NULL;
@@ -788,7 +787,7 @@ void do_rec(GtkWidget *wid)
 {
        char buffer[PATH_MAX];
        
-       strcpy(buffer, gtk_file_selection_get_filename(GTK_FILE_SELECTION(rec_dialog)));
+       strcpy(buffer, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(rec_dialog)));
 
        if (strlen(buffer)) {
                strcpy(globals.record_filename, buffer);                
@@ -907,10 +906,13 @@ gboolean quit()
        turn_audio_off();
        vtt_class::delete_all();
 
-       if (update_tag)
-       gtk_timeout_remove(update_tag);
-       globals.width=main_window->allocation.width;
-       globals.height=main_window->allocation.height;
+       if (update_tag) {
+               g_source_remove(update_tag);
+       }
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(GTK_WIDGET(main_window), &allocation);
+       globals.width=allocation.width;
+       globals.height=allocation.height;
 
        gtk_main_quit();
        
@@ -1023,7 +1025,7 @@ void sequencer_move(GtkWidget *wid, void *d)
        guint32 pos;
        
        if (seq_adj_care) {
-               pos=sequencer.set_start_timestamp((float) GTK_ADJUSTMENT(wid)->value);
+               pos=sequencer.set_start_timestamp((float) gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
                seq_update_entry(pos);  
        }
 }
@@ -1424,8 +1426,6 @@ void create_mastergui(int x, int y)
        GtkWidget *status_box;
        GtkWidget *wrapbox;
        
-       gui_tooltips=gtk_tooltips_new();
-
        main_window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
 
        gtk_window_set_wmclass(GTK_WINDOW(main_window), "terminatorX", "tX_mastergui");
@@ -1696,8 +1696,9 @@ void create_mastergui(int x, int y)
 
        g_signal_connect (G_OBJECT(main_window), "delete-event", (GCallback) quit, NULL);
        
-       if (globals.tooltips) gtk_tooltips_enable(gui_tooltips);
-       else gtk_tooltips_disable(gui_tooltips);
+//     if (globals.tooltips) gtk_tooltips_enable(gui_tooltips);
+//     else gtk_tooltips_disable(gui_tooltips);
+//  TODO: Check for global enable/disable of tooltips
 }
 
 gfloat old_percent=-1;
@@ -1753,8 +1754,8 @@ void remove_from_panel_bar(GtkWidget *button)
 
 void fullscreen_toggle(GtkCheckMenuItem *item, gpointer data) {
        XEvent xev;
-       Window win=GDK_WINDOW_XID(main_window->window);
-       Display *disp=GDK_WINDOW_XDISPLAY(main_window->window);
+       Window win = GDK_WINDOW_XID(gtk_widget_get_window(main_window));
+       Display *disp=GDK_WINDOW_XDISPLAY(gtk_widget_get_window(main_window));
        
        globals.fullscreen_enabled=gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(fullscreen_item));
        
@@ -1782,7 +1783,7 @@ void fullscreen_toggle(GtkCheckMenuItem *item, gpointer data) {
        xev.xclient.data.l[0] = globals.fullscreen_enabled ? _NET_WM_STATE_ADD : _NET_WM_STATE_REMOVE;
        xev.xclient.data.l[1] = gdk_x11_atom_to_xatom (gdk_atom_intern ("_NET_WM_STATE_FULLSCREEN", TRUE));
        xev.xclient.data.l[2] = gdk_x11_atom_to_xatom (GDK_NONE);
-       XSendEvent(gdk_display, GDK_WINDOW_XID (gdk_get_default_root_window ()),
+       XSendEvent(gdk_x11_get_default_xdisplay(), GDK_WINDOW_XID (gdk_get_default_root_window ()),
                False, SubstructureRedirectMask | SubstructureNotifyMask,
                &xev);  
 }
@@ -1802,15 +1803,15 @@ void display_mastergui()
        gtk_widget_show(main_window);
        fullscreen_setup();     
        top=gtk_widget_get_toplevel(main_window);
-       top_window=GDK_WINDOW(top->window);
-       x_window=GDK_WINDOW_XWINDOW(top->window);
+       top_window=GDK_WINDOW(gtk_widget_get_window(top));
+       x_window=GDK_WINDOW_XWINDOW(gtk_widget_get_window(top));
 }
 
 pid_t help_child=0;
 GTimer *help_timer=NULL;
 int help_tag=-1;
 
-int help_checker()
+gboolean help_checker()
 {
        gdouble time;
        gulong ms;
@@ -1822,14 +1823,14 @@ int help_checker()
                if (time > 5) {
                        /* 5 seconds and it's still running - so we assume everything's OK. */
                        tX_debug("No longer waiting for gnome-help..");
-                       gtk_idle_remove(help_tag);
+                       g_source_remove(help_tag);
                        help_tag=-1;
                }
        } else {
                /* We are still here and the child exited - that could mean trouble. */
                tx_note("Couldn't run the gnome-help command (alias \"yelp\") to display the terminatorX manual. Please ensure that \"yelp\" is installed.", true);             
                
-               gtk_idle_remove(help_tag);
+               g_source_remove(help_tag);
                help_tag=-1;
        }
        return TRUE;    
@@ -1844,7 +1845,7 @@ void display_help()
        help_child=fork();
 
        if (help_tag!=-1) {
-               gtk_idle_remove(help_tag);
+               g_source_remove(help_tag);
                if (help_timer) g_timer_destroy(help_timer);
                help_child=0;
                help_tag=-1;
@@ -1862,7 +1863,7 @@ void display_help()
                help_timer=g_timer_new();
                g_timer_start(help_timer);
        
-               help_tag=gtk_idle_add((GtkFunction) help_checker, NULL);
+               help_tag=g_idle_add((GSourceFunc) help_checker, NULL);
        }
 }
 
@@ -1870,7 +1871,7 @@ pid_t browser_child=0;
 GTimer *browser_timer=NULL;
 int browser_tag=-1;
 
-int browser_checker()
+gboolean browser_checker()
 {
        gdouble time;
        gulong ms;
@@ -1882,14 +1883,14 @@ int browser_checker()
                if (time > 5) {
                        /* 5 seconds and it's still running - so we assume everything's OK. */
                        tX_debug("No longer waiting for a browser..");
-                       gtk_idle_remove(browser_tag);
+                       g_source_remove(browser_tag);
                        browser_tag=-1;
                }
        } else {
                /* We are still here and the child exited - that could mean trouble. */
                tx_note("Failed to run a suitable web browser - if there's one installed on this system, please run it and forward yourself to:\nhttp://terminatorX.org", true);                
                
-               gtk_idle_remove(browser_tag);
+               g_source_remove(browser_tag);
                browser_tag=-1;
        }
        return TRUE;    
@@ -1900,7 +1901,7 @@ void display_browser()
        browser_child=fork();
 
        if (browser_tag!=-1) {
-               gtk_idle_remove(browser_tag);
+               g_source_remove(browser_tag);
                if (browser_timer) g_timer_destroy(browser_timer);
                browser_child=0;
                browser_tag=-1;
@@ -1920,7 +1921,7 @@ void display_browser()
                browser_timer=g_timer_new();
                g_timer_start(browser_timer);
        
-               browser_tag=gtk_idle_add((GtkFunction) browser_checker, NULL);
+               browser_tag=g_idle_add((GSourceFunc) browser_checker, NULL);
        }
 }
 
@@ -1953,7 +1954,7 @@ void tX_cursor::set_cursor(cursor_shape shape)
        /* Still here? Ok... */
        current_shape=shape;
        
-       gdk_window_set_cursor(main_window->window, cursors[shape]);
+       gdk_window_set_cursor(gtk_widget_get_window(main_window), cursors[shape]);
 }
 
 GdkCursor *tX_cursor::get_cursor()
@@ -1964,5 +1965,5 @@ GdkCursor *tX_cursor::get_cursor()
 void tX_cursor::reset_cursor()
 {
        current_shape=DEFAULT_CURSOR;
-       gdk_window_set_cursor(main_window->window, cursors[current_shape]);
+       gdk_window_set_cursor(gtk_widget_get_window(main_window), cursors[current_shape]);
 }
index 7436b2958cf8f35fb1a3375f9bc62656104374af..017a806dd7d07e00b27d5cf5181344bca9e625e5 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 6087c11947a9c647bdf1fac7b4db98d43cc28874..0a95ea77d954040577e283b822306ebe4e8a590b 100644 (file)
@@ -307,7 +307,7 @@ tX_midiin::midi_binding_gui::midi_binding_gui ( GtkTreeModel* _model, tX_midiin*
        g_signal_connect(G_OBJECT(close_button), "clicked", (GCallback) close_clicked, (void *) this);
        g_signal_connect(G_OBJECT(window), "destroy", (GCallback) close_clicked, (void *) this);
        
-       timer_tag = gtk_timeout_add( 100, (GtkFunction) timer, (void *) this);
+       timer_tag = g_timeout_add( 100, (GSourceFunc) timer, (void *) this);
        
        gtk_widget_show_all( GTK_WIDGET( window ) );
 }
@@ -397,7 +397,7 @@ gint tX_midiin::midi_binding_gui::timer( gpointer _this )
 
 tX_midiin::midi_binding_gui::~midi_binding_gui ()
 {
-       gtk_timeout_remove( timer_tag );
+       g_source_remove( timer_tag );
 }
 
 void tX_midiin::set_midi_learn_sp(tX_seqpar *sp)
@@ -447,7 +447,7 @@ gboolean tX_midiin::midi_learn_destroy(GtkWidget *widget, tX_midiin *midi)
 
 void tX_midiin::store_connections(FILE *rc, char *indent) 
 {
-       gzFile *rz=NULL;
+       gzFile rz=NULL;
        
        tX_store("%s<midi_connections>\n", indent);
 
index 70141104c285bfec542edf5d47fac8ad3492548b..d251527b1cd9f3832b4aa97ce8cb7f8228f6d8bf 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -152,7 +152,6 @@ int tx_mouse :: grab()
 #else  
        if (!XF86DGADirectVideo(dpy,DefaultScreen(dpy),XF86DGADirectMouse)) {
 #endif
-               GdkDisplay* display = gdk_display_get_default();
                gdk_pointer_ungrab(GDK_CURRENT_TIME);
                gdk_keyboard_ungrab(GDK_CURRENT_TIME);
 
index 8c28575a40d2b4425b1bc45a655d55337ef3e0eb..8d519cd0c1ae3e9a04d967ea9d2f05c423194c1b 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 64b52391c8f815ec86b599f2a88a5efc600d1c84..52b0df4385c26f1849cda8377d0c79bb8e846e47 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index f12eae59d029d735d1cdb4dbfc4c9998239bb72d..e9f07288dcbaf28b7f2d6a17c8f5c9a7413ca242 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index e0cb88262cdde4a9b8806b3058f757d8edbf3e37..48eb25b92905c71e89e72307db81e9397b7993f7 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index d75a59cd8e76d0d0b551e417e95ce4f5c9b81e4c..0f395ad6bd3ebc41662e7fedde362e239b997291 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index cc67e79611383d2716bb4a0fbdc9b1a69f222913..7f03ff7deeabc5e88efb26314e80419ebf89cbb5 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -118,7 +118,7 @@ void prelis_start(char *name) {
                else
 #endif
 #ifdef USE_SOX_INPUT           
-                       execlp("sox", "sox", nm, "-t", "ossdsp", "-2", "-s", dev, NULL);
+                       execlp("sox", "sox", nm, "-t", "oss", "-b", "16", "-e", "signed-integer", dev, NULL);
 #else
                        exit(0);
 #endif                 
index e66fd204a9b9287c5b28c8776c0625380a64a6a6..c6e8c341448ef73428e507eb8330f955916cae38 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 1e4c0a0e1900175f5bf072a566c9489aacb5a0b3..4dfea1a31600407273e149d2ace70b098a625658 100644 (file)
@@ -980,7 +980,7 @@ void tX_seqpar_vttfx_float :: do_update_graphics()
 
 GCallback tX_seqpar_vttfx_float :: gtk_callback(GtkWidget* w, tX_seqpar_vttfx_float *sp)
 {
-       sp->receive_gui_value(sp->myadj->value);        
+       sp->receive_gui_value(gtk_adjustment_get_value(sp->myadj));     
        return NULL;    
 }
 
@@ -1031,7 +1031,7 @@ void tX_seqpar_vttfx_int :: do_update_graphics()
 
 GCallback tX_seqpar_vttfx_int :: gtk_callback(GtkWidget* w, tX_seqpar_vttfx_int *sp)
 {
-       sp->receive_gui_value(sp->myadj->value);        
+       sp->receive_gui_value(gtk_adjustment_get_value(sp->myadj));     
        return NULL;
 }
 
index 82aa6ec4c311e0d3e53a95241a5a244a692572d0..91b13de66a48dc7d11a27d111564ae1bf9c0154a 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011 Alexander König
+    Copyright (C) 1999-2014 Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 81de94407332ca5e3088de31b1e273cab24d3934..5f5a56913897785224eaecfdd2ad5153d1436f00 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -259,11 +259,8 @@ void tX_sequencer :: delete_all_events_for_sp(tX_seqpar *sp, del_mode mode)
 }
 
 void tX_sequencer :: save(FILE *rc, gzFile rz, char *indent) {
-       guint32 event_count;
        list <tX_event *> :: iterator song_event;
        
-       event_count=song_list.size();
-
        tX_store("%s<sequencer>\n", indent);
        strcat(indent, "\t");
        
index 16b5972b90307c560919a1daa02fb9e180e381a7..aad7dc7ae37409bc6703e4a49b647c4f49062c0f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index d860a3a010c24413cdcdb2925280ed46e3679018..039081342b2e2ffd5fd8b845fd6183382e4a79b8 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index ea3e227829b42f67035a0727a37dfd9f5d0e17f5..e8a3be4a3ad47025f8fa051307b009c6ee5654d0 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 3b3ce0eaa76f74d9613aa5c01492a71512bfd33d..72e3a6b865dca4db7c31b132daa73ea7faca2b1c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 2ac77ce27b1966caca47c7ba15cdf81c69e746fd..b2df0f51f337b673e4c69c8606adc7c43fb23199 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index c97420a3667037db496607ee0c43c0fd665753f8..249e5b9a577122a034457c3f78c5ad6c495bad93 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 8a03f4d117945eb6e3662a256e4b268fd0a2e127..4dec57e8a167679e6ed31d81db1ea96309d49b87 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index babd7e1a038324abcc59a2897d14bf2f95a35483..faa611f2c8ba205c49f40308e20b56fa145e006c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index c2c9edd9de657c3d42bad5434e7e6695c55d3aba..6d8bd52594f15b4f1215d773b3bf63b4aae5090a 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -96,17 +96,17 @@ void name_changed(GtkWidget *wid, vtt_class *vtt)
 
 void volume_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_volume.receive_gui_value(2.0-GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_volume.receive_gui_value(2.0-gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void pan_changed(GtkWidget *wid, vtt_class *vtt)
 {
-      vtt->sp_pan.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+      vtt->sp_pan.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void pitch_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_pitch.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_pitch.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 #ifdef USE_FILECHOOSER
@@ -250,9 +250,9 @@ void drop_file(GtkWidget *widget, GdkDragContext *context,
        char filename[PATH_MAX];
        char *fn;
        
-       strncpy(filename, (char *) selection_data->data, (size_t) selection_data->length);
+       strncpy(filename, (char *) gtk_selection_data_get_data(selection_data), (size_t) gtk_selection_data_get_length(selection_data));
        gtk_drag_finish(context, TRUE, FALSE, time);
-       filename[selection_data->length]=0;
+       filename[gtk_selection_data_get_length(selection_data)]=0;
 
        fn = strchr (filename, '\r');
        *fn=0;  
@@ -265,7 +265,7 @@ void drop_file(GtkWidget *widget, GdkDragContext *context,
                fn=realfn;
        } else {
                fn = strchr (filename, ':');
-               if (fn) fn++; else fn=(char *) selection_data->data;
+               if (fn) fn++; else fn=(char *) gtk_selection_data_get_data(selection_data);
        }
 
        load_part(fn, vtt);
@@ -405,37 +405,37 @@ void stop_vtt(GtkWidget *wid, vtt_class *vtt)
 
 void autotrigger_toggled(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->set_autotrigger(GTK_TOGGLE_BUTTON(wid)->active);
+       vtt->set_autotrigger(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid)));
 }
 
 void loop_toggled(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_loop.receive_gui_value(GTK_TOGGLE_BUTTON(wid)->active);
+       vtt->sp_loop.receive_gui_value(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid)));
 }
 
 void lp_enabled(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_lp_enable.receive_gui_value(GTK_TOGGLE_BUTTON(wid)->active);
+       vtt->sp_lp_enable.receive_gui_value(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid)));
 }
 
 void lp_gain_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_lp_gain.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_lp_gain.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void lp_reso_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_lp_reso.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_lp_reso.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void lp_freq_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_lp_freq.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_lp_freq.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void ec_enabled(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_ec_enable.receive_gui_value(GTK_TOGGLE_BUTTON(wid)->active);
+       vtt->sp_ec_enable.receive_gui_value(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid)));
 }
 
 #ifdef USE_ALSA_MIDI_IN
@@ -447,27 +447,27 @@ void midi_mapping_clicked(GtkWidget *wid, vtt_class *vtt)
 
 void ec_length_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_ec_length.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_ec_length.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void ec_feedback_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_ec_feedback.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_ec_feedback.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void ec_pan_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_ec_pan.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_ec_pan.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void ec_volume_changed(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->sp_ec_volume.receive_gui_value(GTK_ADJUSTMENT(wid)->value);
+       vtt->sp_ec_volume.receive_gui_value(gtk_adjustment_get_value(GTK_ADJUSTMENT(wid)));
 }
 
 void master_setup(GtkWidget *wid, vtt_class *vtt)
 {
-       vtt->set_sync_master(GTK_TOGGLE_BUTTON(wid)->active);
+       vtt->set_sync_master(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid)));
 }
 
 void client_setup(GtkWidget *wid, vtt_class *vtt)
@@ -482,7 +482,7 @@ void client_setup_number(GtkWidget *wid, vtt_class *vtt)
 {
        int cycles;
        
-       cycles=(int) GTK_ADJUSTMENT(vtt->gui.cycles)->value;    
+       cycles=(int) gtk_adjustment_get_value(GTK_ADJUSTMENT(vtt->gui.cycles));
        
        vtt->sp_sync_cycles.receive_gui_value(cycles);
 }
@@ -705,7 +705,7 @@ static gint vg_file_button_pressed(GtkWidget *wid, GdkEventButton *event, vtt_cl
 
 void vg_adjust_zoom(GtkWidget *wid, vtt_class *vtt) {  
        GtkAdjustment *adj=gtk_range_get_adjustment(GTK_RANGE(vtt->gui.zoom));
-       gtk_tx_set_zoom(GTK_TX(vtt->gui.display), adj->value/100.0);
+       gtk_tx_set_zoom(GTK_TX(vtt->gui.display), gtk_adjustment_get_value(adj)/100.0);
 }
 
 static gint fx_button_pressed(GtkWidget *wid, GdkEventButton *event, vtt_class *vtt)
@@ -1255,12 +1255,11 @@ int gtk_box_get_widget_pos(GtkBox *box, GtkWidget *child)
        int i=0;
        GList *list;
  
-       list = box->children;
+       list = gtk_container_get_children(GTK_CONTAINER(box));
        while (list)
        {
-               GtkBoxChild *child_info;
-               child_info = (GtkBoxChild *) list->data;
-               if (child_info->widget == child)
+               GtkWidget *child_widget = (GtkWidget *) list->data;
+               if (child_widget == child)
                break;
                list = list->next; i++;
        }
index e34feff14e980edfbafe35b97220b2563ff01069..1b65b6cc0316695f07cc76f8d07ed1747ac27359 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index f7aca33789c107aaf8b90b1a3a1cba902a772dd8..56c369331e759c3bca6dc57e86ada8a8d225a435 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -87,7 +87,7 @@ static void gtk_tx_class_init(GtkTxClass * gclass) {
        object_class = (GtkObjectClass *) gclass;
        widget_class = (GtkWidgetClass *) gclass;
        
-       parent_class = gtk_type_class(gtk_widget_get_type());
+       parent_class = (GtkWidgetClass *) g_type_class_peek(gtk_widget_get_type());
        
        object_class->destroy = gtk_tx_destroy;
        
@@ -205,20 +205,20 @@ void gtk_tx_set_data(GtkTx * tx, int16_t * wavdata, int wavsamples) {
 }
 
 static void gtk_tx_realize(GtkWidget * widget) {
-       GtkTx *tx;
        GdkWindowAttr attributes;
        gint attributes_mask;
 
        g_return_if_fail(widget != NULL);
        g_return_if_fail(GTK_IS_TX(widget));
 
-       GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
-       tx = GTK_TX(widget);
+       gtk_widget_set_realized(widget, TRUE);
 
-       attributes.x = widget->allocation.x;
-       attributes.y = widget->allocation.y;
-       attributes.width = widget->allocation.width;
-       attributes.height = widget->allocation.height;
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(widget, &allocation);
+       attributes.x = allocation.x;
+       attributes.y = allocation.y;
+       attributes.width = allocation.width;
+       attributes.height = allocation.height;
        attributes.wclass = GDK_INPUT_OUTPUT;
        attributes.window_type = GDK_WINDOW_CHILD;
        attributes.event_mask = gtk_widget_get_events(widget) | GDK_EXPOSURE_MASK;
@@ -226,12 +226,12 @@ static void gtk_tx_realize(GtkWidget * 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);
+       gtk_widget_set_window(widget, gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributes_mask));
+       gtk_widget_set_style(widget, gtk_style_attach(gtk_widget_get_style(widget), gtk_widget_get_window(widget)));
 
-       gdk_window_set_user_data(widget->window, widget);
+       gdk_window_set_user_data(gtk_widget_get_window(widget), widget);
 
-       gtk_style_set_background(widget->style, widget->window, GTK_STATE_NORMAL);
+       gtk_style_set_background(gtk_widget_get_style(widget), gtk_widget_get_window(widget), GTK_STATE_NORMAL);
 }
 
 static void gtk_tx_size_request(GtkWidget * widget, GtkRequisition * requisition) {
@@ -251,12 +251,14 @@ static void gtk_tx_prepare(GtkWidget * widget) {
 
        tx = GTK_TX(widget);
        
-       tx->yc = widget->allocation.height / 2;
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(widget, &allocation);
+       tx->yc = allocation.height / 2;
 
        if (tx->disp_data) { free(tx->disp_data); tx->disp_data=NULL; }
 
        if (tx->data) {
-               int max_spp=tx->samples/widget->allocation.width;
+               int max_spp=tx->samples/allocation.width;
                int min_spp=tx->samples/MAX_ZOOM_WIDTH;
                gdouble diff;
                
@@ -323,22 +325,20 @@ static void gtk_tx_prepare(GtkWidget * widget) {
 }
 
 static void gtk_tx_size_allocate(GtkWidget * widget, GtkAllocation * allocation) {
-       GtkTx *tx;
-
        g_return_if_fail(widget != NULL);
        g_return_if_fail(GTK_IS_TX(widget));
        g_return_if_fail(allocation != NULL);
 
-       widget->allocation = *allocation;
+       gtk_widget_set_allocation(widget, allocation);
 
        gtk_tx_prepare(widget);
 
-       if (GTK_WIDGET_REALIZED(widget)) {
-           tx = GTK_TX(widget);
+       if (gtk_widget_get_realized(widget)) {
 #ifdef USE_DISPLAY_NORMALIZE           
+           GtkTx *tx = GTK_TX(widget);
                tx->max_value=-1;
 #endif         
-           gdk_window_move_resize(widget->window, allocation->x, allocation->y, allocation->width, allocation->height);
+           gdk_window_move_resize(gtk_widget_get_window(widget), allocation->x, allocation->y, allocation->width, allocation->height);
        }
 }
 
@@ -363,27 +363,29 @@ static gint gtk_tx_expose(GtkWidget * widget, GdkEventExpose * event) {
 
        tx = GTK_TX(widget);
 
-       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], tx->current_bg);
+       gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], tx->current_bg);
 
-       gdk_draw_rectangle(widget->window,
-               widget->style->fg_gc[widget->state], 1, 
+       gdk_draw_rectangle(gtk_widget_get_window(widget),
+               gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], 1, 
                area->x, area->y,
                area->width, area->height);
 
-       gdk_gc_set_foreground(widget->style->fg_gc[widget->state], tx->current_fg);
+       gdk_gc_set_foreground(gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], tx->current_fg);
 
        if (tx->disp_data) {
                int max_x=area->x+area->width;
 
            for (x =area->x; x < max_x; x++) {
-                       gdk_draw_line(widget->window,
-                               widget->style->fg_gc[widget->state], x,
+                       gdk_draw_line(gtk_widget_get_window(widget),
+                               gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)], x,
                                tx->yc - tx->disp_data[tx->display_x_offset+x], x,
                                tx->yc + tx->disp_data[tx->display_x_offset+x]);
            }
        } else {
-           gdk_draw_line(widget->window, widget->style->fg_gc[widget->state],
-                        0, tx->yc, widget->allocation.width, tx->yc);
+               GtkAllocation allocation;
+               gtk_widget_get_allocation(widget, &allocation);
+           gdk_draw_line(gtk_widget_get_window(widget), gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)],
+                        0, tx->yc, allocation.width, tx->yc);
        }
 
        return FALSE;
@@ -425,11 +427,13 @@ void gtk_tx_update_pos_display(GtkTx * tx, int sample, int mute) {
        /* speedup + easyness */
 
        widget = GTK_WIDGET(tx);
-       window = widget->window;
+       window = gtk_widget_get_window(widget);
 
-       gc = widget->style->fg_gc[widget->state];
+       gc = gtk_widget_get_style(widget)->fg_gc[gtk_widget_get_state(widget)];
        yc = tx->yc;
-       ymax = widget->allocation.height-1;
+       GtkAllocation allocation;
+       gtk_widget_get_allocation(widget, &allocation);
+       ymax = allocation.height-1;
 
        /* clean up last pos */
        
@@ -449,13 +453,13 @@ void gtk_tx_update_pos_display(GtkTx * tx, int sample, int mute) {
                current_pos_x=current_pos;
                x_offset=0;             
        } else {                
-               tmp=widget->allocation.width/2+1;
+               tmp=allocation.width/2+1;
                
                if (current_pos>tmp) {
                        x_offset=current_pos-tmp;
                        
-                       if (x_offset+widget->allocation.width>=tx->display_width) {
-                               x_offset=tx->display_width-widget->allocation.width;
+                       if (x_offset+allocation.width>=tx->display_width) {
+                               x_offset=tx->display_width-allocation.width;
                        }
                        
                        current_pos_x=current_pos-x_offset;
@@ -467,7 +471,7 @@ void gtk_tx_update_pos_display(GtkTx * tx, int sample, int mute) {
                if (x_offset!=tx->display_x_offset) {
                        int x_move=tx->display_x_offset-x_offset;
                        
-                       if (abs(x_move)<widget->allocation.width) {
+                       if (abs(x_move)<allocation.width) {
                                gdk_window_scroll(window, x_move, 0);
                        } else {
                                /* we've moved so far that there's nothing to keep from our current display */
@@ -492,21 +496,16 @@ void gtk_tx_update_pos_display(GtkTx * tx, int sample, int mute) {
        gdk_draw_line(window, gc, x, 0, x, ymax);
        
        if (force_draw) {
-               gtk_widget_queue_draw_area(widget, 0, 0, widget->allocation.width, widget->allocation.height);
+               gtk_widget_queue_draw_area(widget, 0, 0, allocation.width, allocation.height);
        }
 }
 
 void gtk_tx_cleanup_pos_display(GtkTx * tx) {
        GtkWidget *widget;
-       GdkWindow *window;
-       GdkGC *gc;
-       int ymax, yc;
+       GtkAllocation allocation;
 
        widget = GTK_WIDGET(tx);
-       window = widget->window;
-       gc = widget->style->fg_gc[widget->state];
-       yc = tx->yc;
-       ymax = widget->allocation.height - 1;
+       gtk_widget_get_allocation(widget, &allocation);
 
        tx->display_x_offset=0;
        tx->cursor_pos=-1;
index cafaa11270ed7cd9dc20ac4866012e4e32a5fe42..dfc34bb3fd7a04ef5592aec4f31062996be48cc2 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -34,9 +34,9 @@ extern "C" {
 #endif /* __cplusplus */
 
 
-#define GTK_TX(obj)          GTK_CHECK_CAST (obj, gtk_tx_get_type (), GtkTx)
+#define GTK_TX(obj)          G_TYPE_CHECK_INSTANCE_CAST (obj, gtk_tx_get_type (), GtkTx)
 #define GTK_TX_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_tx_get_type (), GtkTxClass)
-#define GTK_IS_TX(obj)       GTK_CHECK_TYPE (obj, gtk_tx_get_type ())
+#define GTK_IS_TX(obj)       G_TYPE_CHECK_INSTANCE_TYPE (obj, gtk_tx_get_type ())
 
 typedef struct _GtkTx        GtkTx;
 typedef struct _GtkTxClass   GtkTxClass;
index df53757fcc25d8d1677d5dcf1c186a1ed99ee3a9..00336753fbc641fb7eb36569f546753007d219f4 100644 (file)
@@ -1,6 +1,6 @@
 /*
     terminatorX - realtime audio scratching software
-    Copyright (C) 1999-2011  Alexander König
+    Copyright (C) 1999-2014  Alexander König
  
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
index 25d560cdb0a829e448b374378c4c684a334e743f..46511230e5a15ed35bbf57252a7f2de170a06c21 100644 (file)
 
        /* wav header is 44 bytes long */
 FILE* open_wav(char *header, char file_name[], int *mode){
-       int res;
        FILE* handle;
        handle = fopen(file_name, "r");
        if(handle)
-       res = fread((char *) header, 1, 44, handle); // TODO: What about res?
+       fread((char *) header, 1, 44, handle); // TODO: What about res?
        return(handle);
 }