xfade editor speedup from markus s., and a fix for the reset button in that editor
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 30 May 2007 14:54:58 +0000 (14:54 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 30 May 2007 14:54:58 +0000 (14:54 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@1929 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/crossfade_edit.cc

index 33017b05661f1c01314aaae523933a1f1f52cbb0..eab26f62c3365d06b878c07f76165af100004ae6 100644 (file)
@@ -721,6 +721,20 @@ CrossfadeEditor::redraw ()
 void
 CrossfadeEditor::apply_preset (Preset *preset)
 {
+  
+       WhichFade wf =  find(fade_in_presets->begin(), fade_in_presets->end(), preset) != fade_in_presets->end() ? In : Out;
+       
+       if (current != wf) {
+         
+               if (wf == In) {
+                       select_in_button.clicked();
+               } else {
+                       select_out_button.clicked();
+               }
+               
+               curve_select_clicked (wf);
+       }  
+       
        for (list<Point*>::iterator i = fade[current].points.begin(); i != fade[current].points.end(); ++i) {
                delete *i;
        }
@@ -820,6 +834,8 @@ CrossfadeEditor::reset ()
 {
        set (xfade->fade_in(),  In);
        set (xfade->fade_out(), Out);
+
+        curve_select_clicked (current);
 }
 
 void
@@ -980,14 +996,6 @@ CrossfadeEditor::curve_select_clicked (WhichFade wf)
                        (*i)->box->show ();
                }
 
-               for (vector<Button*>::iterator i = fade_out_buttons.begin(); i != fade_out_buttons.end(); ++i) {
-                       (*i)->set_sensitive (false);
-               }
-
-               for (vector<Button*>::iterator i = fade_in_buttons.begin(); i != fade_in_buttons.end(); ++i) {
-                       (*i)->set_sensitive (true);
-               }
-
        } else {
 
                for (vector<ArdourCanvas::WaveView*>::iterator i = fade[In].waves.begin(); i != fade[In].waves.end(); ++i) {
@@ -1011,14 +1019,6 @@ CrossfadeEditor::curve_select_clicked (WhichFade wf)
                        (*i)->box->show();
                }
 
-               for (vector<Button*>::iterator i = fade_out_buttons.begin(); i != fade_out_buttons.end(); ++i) {
-                       (*i)->set_sensitive (true);
-               }
-
-               for (vector<Button*>::iterator i = fade_in_buttons.begin(); i != fade_in_buttons.end(); ++i) {
-                       (*i)->set_sensitive (false);
-               }
-
        }
 }