X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudiofilter.cc;h=a26d9674bd06f1395fa09820ca304d4f2d32fbe0;hb=dca612e82af4f89dad4f15454cbbb15694fa077c;hp=ce3a103e288e47c9eadc5cac4c25f35ba66b78cd;hpb=81ef56fba962ff7b16658cc2831720947aacc8b5;p=ardour.git diff --git a/libs/ardour/audiofilter.cc b/libs/ardour/audiofilter.cc index ce3a103e28..a26d9674bd 100644 --- a/libs/ardour/audiofilter.cc +++ b/libs/ardour/audiofilter.cc @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include @@ -30,6 +30,7 @@ #include "i18n.h" using namespace ARDOUR; +using namespace PBD; int AudioFilter::make_new_sources (AudioRegion& region, AudioRegion::SourceList& nsrcs) @@ -47,7 +48,10 @@ AudioFilter::make_new_sources (AudioRegion& region, AudioRegion::SourceList& nsr } try { - nsrcs.push_back (new FileSource (path, session.frame_rate())); + 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 +77,10 @@ AudioFilter::finish (AudioRegion& region, AudioRegion::SourceList& nsrcs) now = localtime (&xnow); for (AudioRegion::SourceList::iterator si = nsrcs.begin(); si != nsrcs.end(); ++si) { - dynamic_cast((*si))->update_header (region.position(), *now, xnow); + AudioFileSource* afs = dynamic_cast(*si); + if (afs) { + afs->update_header (region.position(), *now, xnow); + } } /* create a new region */