summaryrefslogtreecommitdiff
path: root/libs/ardour/audiofilter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audiofilter.cc')
-rw-r--r--libs/ardour/audiofilter.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/audiofilter.cc b/libs/ardour/audiofilter.cc
index c340bccb2c..843a3a7d34 100644
--- a/libs/ardour/audiofilter.cc
+++ b/libs/ardour/audiofilter.cc
@@ -22,7 +22,7 @@
#include <cerrno>
#include <pbd/basename.h>
-#include <ardour/filesource.h>
+#include <ardour/sndfilesource.h>
#include <ardour/session.h>
#include <ardour/audioregion.h>
#include <ardour/audiofilter.h>
@@ -47,7 +47,10 @@ AudioFilter::make_new_sources (AudioRegion& region, AudioRegion::SourceList& nsr
}
try {
- nsrcs.push_back (new FileSource (path, session.frame_rate(), false, Config->get_native_file_data_format()));
+ nsrcs.push_back (new SndFileSource (path,
+ Config->get_native_file_data_format(),
+ Config->get_native_file_header_format(),
+ session.frame_rate()));
}
catch (failed_constructor& err) {
@@ -73,7 +76,10 @@ AudioFilter::finish (AudioRegion& region, AudioRegion::SourceList& nsrcs)
now = localtime (&xnow);
for (AudioRegion::SourceList::iterator si = nsrcs.begin(); si != nsrcs.end(); ++si) {
- dynamic_cast<FileSource*>((*si))->update_header (region.position(), *now, xnow);
+ AudioFileSource* afs = dynamic_cast<AudioFileSource*>(*si);
+ if (afs) {
+ afs->update_header (region.position(), *now, xnow);
+ }
}
/* create a new region */