summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor_audio_import.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index 03eda12082..7f56cd9121 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -876,7 +876,7 @@ Editor::finish_bringing_in_material (boost::shared_ptr<Region> region, uint32_t
boost::shared_ptr<Playlist> playlist = existing_track->playlist();
boost::shared_ptr<Region> copy (RegionFactory::create (region, region->properties()));
begin_reversible_command (Operations::insert_file);
- playlist->clear_changes ();
+ playlist->clear_changes ();
playlist->add_region (copy, pos);
_session->add_command (new StatefulDiffCommand (playlist));
commit_reversible_command ();
@@ -907,22 +907,33 @@ Editor::finish_bringing_in_material (boost::shared_ptr<Region> region, uint32_t
existing_track->set_name (region->name());
}
+
+ boost::shared_ptr<Playlist> playlist = existing_track->playlist();
boost::shared_ptr<Region> copy (RegionFactory::create (region));
- existing_track->playlist()->add_region (copy, pos);
+ begin_reversible_command (Operations::insert_file);
+ playlist->clear_changes ();
+ playlist->add_region (copy, pos);
+ _session->add_command (new StatefulDiffCommand (playlist));
+ commit_reversible_command ();
break;
}
case ImportAsTapeTrack:
{
- if (!ar)
+ if (!ar) {
return -1;
+ }
list<boost::shared_ptr<AudioTrack> > at (_session->new_audio_track (in_chans, out_chans, Destructive));
if (!at.empty()) {
+ boost::shared_ptr<Playlist> playlist = at.front()->playlist();
boost::shared_ptr<Region> copy (RegionFactory::create (region));
- at.front()->set_name (basename_nosuffix (copy->name()));
- at.front()->playlist()->add_region (copy, pos);
+ begin_reversible_command (Operations::insert_file);
+ playlist->clear_changes ();
+ playlist->add_region (copy, pos);
+ _session->add_command (new StatefulDiffCommand (playlist));
+ commit_reversible_command ();
}
break;
}