Don't bother opening a time FX dialog if we are just time stretching MIDI regions...
authorCarl Hetherington <carl@carlh.net>
Tue, 31 Jan 2012 21:24:16 +0000 (21:24 +0000)
committerCarl Hetherington <carl@carlh.net>
Tue, 31 Jan 2012 21:24:16 +0000 (21:24 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@11402 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_timefx.cc

index d4d02ea1c4acf6ba44d601815e5a4e84e5591dc8..0b400f933ba9fe6f50fa9dc2339ded5a92b94b21 100644 (file)
@@ -146,9 +146,21 @@ int
 Editor::time_fx (RegionList& regions, float val, bool pitching)
 {
        delete current_timefx;
-
        current_timefx = new TimeFXDialog (*this, pitching);
+       current_timefx->regions = regions;
+
+       /* See if we have any audio regions on our list */
+       RegionList::iterator i = regions.begin ();
+       while (i != regions.end() && boost::dynamic_pointer_cast<AudioRegion> (*i) == 0) {
+               ++i;
+       }
 
+       if (i == regions.end ()) {
+               /* No audio regions; we can just do the timefx without a dialogue */
+               do_timefx (*current_timefx);
+               return 0;
+       }
+       
        switch (current_timefx->run ()) {
        case RESPONSE_ACCEPT:
                break;
@@ -158,7 +170,6 @@ Editor::time_fx (RegionList& regions, float val, bool pitching)
        }
 
        current_timefx->status = 0;
-       current_timefx->regions = regions;
 
        if (pitching) {