summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_audio_import.cc
diff options
context:
space:
mode:
authorHans Fugal <hans@fugal.net>2006-08-04 02:18:45 +0000
committerHans Fugal <hans@fugal.net>2006-08-04 02:18:45 +0000
commit79986643c0c904f6574bb5323e2233a43a9e622e (patch)
tree859323dbb096ac1658359881e7d11415b6588caa /gtk2_ardour/editor_audio_import.cc
parentb0b723445816bc968a6a183c6619fccc61e82859 (diff)
r269@gandalf: fugalh | 2006-08-03 20:18:05 -0600
Trunk merge conflicts resolved git-svn-id: svn://localhost/ardour2/branches/undo@756 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_audio_import.cc')
-rw-r--r--gtk2_ardour/editor_audio_import.cc34
1 files changed, 23 insertions, 11 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index 2c64f2cf15..7524f9605c 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -268,7 +268,7 @@ Editor::embed_sndfile (Glib::ustring path, bool split, bool multiple_files, bool
idspec += string_compose(":%1", n);
try {
- source = AudioFileSource::create (idspec.c_str());
+ source = AudioFileSource::create (idspec.c_str(), (mode == ImportAsTrack ? AudioFileSource::Destructive : AudioFileSource::Flag (0)));
sources.push_back(source);
}
@@ -306,16 +306,18 @@ Editor::embed_sndfile (Glib::ustring path, bool split, bool multiple_files, bool
}
int
- Editor::finish_bringing_in_audio (AudioRegion& region, uint32_t in_chans, uint32_t out_chans, AudioTrack* track, jack_nframes_t& pos, ImportMode mode)
- {
- switch (mode) {
- case ImportAsRegion:
- /* relax, its been done */
- break;
+Editor::finish_bringing_in_audio (AudioRegion& region, uint32_t in_chans, uint32_t out_chans, AudioTrack* track, jack_nframes_t& pos, ImportMode mode)
+{
+ AudioRegion* copy;
+
+ switch (mode) {
+ case ImportAsRegion:
+ /* relax, its been done */
+ break;
case ImportToTrack:
if (track) {
- Playlist* playlist = track->disk_stream().playlist();
+ Playlist* playlist = track->diskstream().playlist();
AudioRegion* copy = new AudioRegion (region);
begin_reversible_command (_("insert sndfile"));
@@ -329,11 +331,21 @@ int
break;
case ImportAsTrack:
- AudioTrack* at = session->new_audio_track (in_chans, out_chans);
- AudioRegion* copy = new AudioRegion (region);
- at->disk_stream().playlist()->add_region (*copy, pos);
+ {
+ boost::shared_ptr<AudioTrack> at (session->new_audio_track (in_chans, out_chans, Normal));
+ copy = new AudioRegion (region);
+ at->diskstream().playlist()->add_region (*copy, pos);
+ break;
+ }
+
+ case ImportAsTapeTrack:
+ {
+ boost::shared_ptr<AudioTrack> at (session->new_audio_track (in_chans, out_chans, Destructive));
+ copy = new AudioRegion (region);
+ at->diskstream().playlist()->add_region (*copy, pos);
break;
}
+ }
return 0;
}