- int end = start + edit->length;
- track->clear(start, end, 1, 0,
- session->plugins_follow_edits,
- session->autos_follow_edits, 0);
+ int64_t end = start + edit->length;
+ Zone &zone = zones.append();
+ zone.track = track; zone.start = start; zone.end = end;
+ if( session->autos_follow_edits ) {
+ track->automation->clear(start, end, 0, collapse);
+ }
+ if( session->plugins_follow_edits ) {
+ for( int k=0; k<track->plugin_set.size(); ++k ) {
+ PluginSet *plugin_set = track->plugin_set[k];
+ plugin_set->clear(start, end, 1);
+ if( !collapse )
+ plugin_set->paste_silence(start, end);
+ }
+ }
+ track->optimize();
+ }
+ for( int i=0; i<zones.size(); ++i ) {
+ Zone &zone = zones[i];
+ Track *track = zone.track;
+ int64_t start = zone.start, end = zone.end;
+ track->edits->clear(start, end);