Saving mix_mute and solo with set files and working around a gtk+
authorterminatorX <>
Mon, 14 Apr 2003 22:11:21 +0000 (22:11 +0000)
committerterminatorX <>
Mon, 14 Apr 2003 22:11:21 +0000 (22:11 +0000)
error message - Alex

src/tX_mastergui.cc
src/tX_mastergui.h
src/tX_mouse.cc
src/tX_vtt.cc
src/tX_vttfx.cc
src/tX_vttgui.cc

index 90c1fe1ec0f49bdbbc959cc483c9432cdcd158ad..90df18ba50c49c4dfdfb224b81d6893122fe4b6d 100644 (file)
@@ -58,6 +58,8 @@
 int audioon=0;
 int sequencer_ready=1;
 
+bool tX_shutdown=false;
+
 GtkWidget *tt_parent;
 GtkWidget *control_parent;
 GtkWidget *audio_parent;
@@ -734,7 +736,7 @@ void grab_off()
 }
 
 gboolean quit()
-{
+{      
        GtkWidget *dialog=gtk_message_dialog_new(GTK_WINDOW(main_window), 
        GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
        "Exit terminatorX and loose all unsaved data?");
@@ -746,6 +748,8 @@ gboolean quit()
                return TRUE;
        }
 
+       tX_shutdown=true;
+       
        turn_audio_off();
        vtt_class::delete_all();
        
index 8b3b390c106bfc8e928b2306e16d99c7ac5e1a2c..690bac671c2d326aa961d2afe0c1c8fb1ad89815 100644 (file)
@@ -59,4 +59,6 @@ extern GtkWidget *panel_bar;
 
 void add_to_panel_bar(GtkWidget *);
 void remove_from_panel_bar(GtkWidget *);
+
+extern bool tX_shutdown;
 #endif
index 9e2ae2d80afaa645a99af0d970d7f75a21bd4625..df71f9a3e5d297a2846628057fe75a89602b71d0 100644 (file)
@@ -136,12 +136,16 @@ int tx_mouse :: grab() {
        vtt_class::focus_no(0);
        warp=TX_MOUSE_SPEED_NORMAL;
        
+       tX_debug("tX_mouse::grab(): this: %08x, dpy: %08x", (int) this, (int) dpy);
+       
        return(0);
 }
 
 void tx_mouse :: ungrab()
 {
        if (!grabbed) return;
+
+       tX_debug("tX_mouse::ungrab(): this: %08x, dpy: %08x", (int) this, (int) dpy);
        
 #ifdef USE_DGA2        
        XDGASetMode(dpy, DefaultScreen(dpy), 0);
@@ -162,6 +166,8 @@ void tx_mouse :: ungrab()
 
        vtt_class::unfocus();
 
+       tX_debug("tX_mouse::ungrab(): done");
+       
        grabbed=0;
 }
 
index 7b3309a9944a21f55bc56691c6eb72cbcd123472..a8861476c0f12e5b9cdcd6fa4fa73a66831dc371 100644 (file)
@@ -1422,6 +1422,9 @@ int  vtt_class :: save(FILE *rc, gzFile rz, char *indent) {
        store_bool("trigger_panel_hidden", gui.trigger_panel->is_hidden());
        store_bool("lowpass_panel_hidden", gui.lp_panel->is_hidden());
        store_bool("echo_panel_hidden", gui.ec_panel->is_hidden());
+       
+       store_bool("mix_mute", mix_mute);
+       store_bool("mix_solo", mix_solo);
 
        store_float("audio_x_zoom", gui_get_audio_x_zoom(this));
        
@@ -1515,6 +1518,9 @@ int vtt_class :: load(xmlDocPtr doc, xmlNodePtr node) {
        
                        restore_int("x_axis_mapping", xpar_id);
                        restore_int("y_axis_mapping", ypar_id);
+                       
+                       restore_bool("mix_mute", mix_mute);
+                       restore_bool("mix_solo", mix_solo);
        
                        restore_bool("audio_panel_hidden", audio_hidden);
                        restore_bool("control_panel_hidden", control_hidden);
@@ -1591,7 +1597,10 @@ int vtt_class :: load(xmlDocPtr doc, xmlNodePtr node) {
                set_y_input_parameter(tX_seqpar :: get_sp_by_persistence_id(ypar_id));
        }
        else set_y_input_parameter(NULL);
-               
+       
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gui.mute), mix_mute);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gui.solo), mix_solo);
+       
        return 0;
 }
 
index b2c008abd5d2ccd1c79a14bcaa1784a47c7504a2..d1454372a2137d307466e85066917d21f1a694b0 100644 (file)
@@ -302,7 +302,7 @@ void vtt_fx_ladspa :: save (FILE *rc, gzFile rz, char *indent) {
 
 void vtt_fx_ladspa :: load(xmlDocPtr doc, xmlNodePtr node) {
        int dummy;
-       bool hidden;
+       bool hidden=false;
        list <tX_seqpar_vttfx *> :: iterator sp=controls.begin();
        int elementFound;
        guint32 pid=0;
index 983d9c8dd374326f262646550d44cb47ff97d6a2..f655fc76536d971d07a64e38ffe0c3278f844285 100644 (file)
@@ -1243,7 +1243,7 @@ void gui_hide_control_panel(vtt_class *vtt, bool hide) {
        } else {
                gtk_widget_show(vtt->gui.control_box);
                remove_from_panel_bar(vtt->gui.control_minimized_panel_bar_button);
-               gtk_widget_destroy(vtt->gui.control_minimized_panel_bar_button);
+               if (!tX_shutdown) gtk_widget_destroy(vtt->gui.control_minimized_panel_bar_button);
                vtt->gui.control_minimized_panel_bar_button=NULL;
        }
 }
@@ -1258,7 +1258,7 @@ void gui_hide_audio_panel(vtt_class *vtt, bool hide) {
        } else {
                gtk_widget_show(vtt->gui.audio_box);
                remove_from_panel_bar(vtt->gui.audio_minimized_panel_bar_button);
-               gtk_widget_destroy(vtt->gui.audio_minimized_panel_bar_button);
+               if (!tX_shutdown) gtk_widget_destroy(vtt->gui.audio_minimized_panel_bar_button);
                vtt->gui.audio_minimized_panel_bar_button=NULL;
        }
 }