summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Naugle <toddn@glw.com>2011-06-16 15:18:01 +0000
committerTodd Naugle <toddn@glw.com>2011-06-16 15:18:01 +0000
commitcb8bc87a542e35794a12e76a23594e63b3bad521 (patch)
tree2529dad74efd6ff58529a14eaa7756126a456ae7
parent0bf826eb4e0820a6da2a5f5b376ef0cd155d93d3 (diff)
Fixed bug where embedded sources did not correctly obey the BWF time stamp and would import at the timestamp of the first file. Fixes #0004070
git-svn-id: svn://localhost/ardour2/branches/3.0@9742 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor_audio_import.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index e21d2efe3e..c2351c74fc 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -447,11 +447,17 @@ Editor::do_embed (vector<string> paths, ImportDisposition chns, ImportMode mode,
vector<string> to_embed;
bool multi = paths.size() > 1;
int nth = 0;
+ bool use_timestamp = (pos == -1);
switch (chns) {
case Editing::ImportDistinctFiles:
for (vector<string>::iterator a = paths.begin(); a != paths.end(); ++a) {
+ /* have to reset this for every file we handle */
+ if (use_timestamp) {
+ pos = -1;
+ }
+
to_embed.clear ();
to_embed.push_back (*a);
@@ -468,6 +474,11 @@ Editor::do_embed (vector<string> paths, ImportDisposition chns, ImportMode mode,
case Editing::ImportDistinctChannels:
for (vector<string>::iterator a = paths.begin(); a != paths.end(); ++a) {
+ /* have to reset this for every file we handle */
+ if (use_timestamp) {
+ pos = -1;
+ }
+
to_embed.clear ();
to_embed.push_back (*a);
@@ -486,6 +497,11 @@ Editor::do_embed (vector<string> paths, ImportDisposition chns, ImportMode mode,
case Editing::ImportSerializeFiles:
for (vector<string>::iterator a = paths.begin(); a != paths.end(); ++a) {
+ /* have to reset this for every file we handle */
+ if (use_timestamp) {
+ pos = -1;
+ }
+
to_embed.clear ();
to_embed.push_back (*a);