#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>
#include "i18n.h"
using namespace ARDOUR;
+using namespace PBD;
int
AudioFilter::make_new_sources (AudioRegion& region, AudioRegion::SourceList& nsrcs)
string path = session.path_from_region_name (PBD::basename_nosuffix (names[i]), string (""));
if (path.length() == 0) {
- error << compose (_("audiofilter: error creating name for new audio file based on %1"), region.name())
+ error << string_compose (_("audiofilter: error creating name for new audio file based on %1"), region.name())
<< endmsg;
return -1;
}
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) {
- error << compose (_("audiofilter: error creating new audio file %1 (%2)"), path, strerror (errno)) << endmsg;
+ error << string_compose (_("audiofilter: error creating new audio file %1 (%2)"), path, strerror (errno)) << endmsg;
return -1;
}
}
now = localtime (&xnow);
for (AudioRegion::SourceList::iterator si = nsrcs.begin(); si != nsrcs.end(); ++si) {
- dynamic_cast<FileSource*>((*si))->update_header (session.transport_frame(), *now, xnow);
+ AudioFileSource* afs = dynamic_cast<AudioFileSource*>(*si);
+ if (afs) {
+ afs->update_header (region.position(), *now, xnow);
+ }
}
/* create a new region */