/********************************************************************** Audacity: A Digital Audio Editor ImportPlugin.cpp Paul Licameli split from Import.cpp **********************************************************************/ #include "ImportPlugin.h" #include #include "../WaveTrack.h" #include "../widgets/ProgressDialog.h" #include "../prefs/QualityPrefs.h" ImportFileHandle::ImportFileHandle(const FilePath & filename) : mFilename(filename) { } ImportFileHandle::~ImportFileHandle() { } void ImportFileHandle::CreateProgress() { wxFileName ff( mFilename ); auto title = XO("Importing %s").Format( GetFileDescription() ); mProgress = std::make_unique< ProgressDialog >( title, Verbatim( ff.GetFullName() ) ); } sampleFormat ImportFileHandle::ChooseFormat(sampleFormat effectiveFormat) { // Consult user preference auto defaultFormat = QualityPrefs::SampleFormatChoice(); // Don't choose format narrower than effective or default auto format = std::max(effectiveFormat, defaultFormat); // But also always promote 24 bits to float if (format > int16Sample) format = floatSample; return format; } std::shared_ptr ImportFileHandle::NewWaveTrack( WaveTrackFactory &trackFactory, sampleFormat effectiveFormat, double rate) { return trackFactory.NewWaveTrack(ChooseFormat(effectiveFormat), rate); }