Check if audio file is empty before loading
This commit is contained in:
@@ -144,12 +144,12 @@ OscillatorObject::OscillatorObject( Model * _parent, int _idx ) :
|
||||
void OscillatorObject::oscUserDefWaveDblClick()
|
||||
{
|
||||
QString af = gui::SampleLoader::openWaveformFile();
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(af);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_sampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
|
||||
if( af != "" )
|
||||
if (af != "")
|
||||
{
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(af);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_sampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
|
||||
// TODO:
|
||||
//m_usrWaveBtn->setToolTip(m_sampleBuffer->audioFile());
|
||||
}
|
||||
@@ -291,9 +291,12 @@ void TripleOscillator::loadSettings( const QDomElement & _this )
|
||||
m_osc[i]->m_useWaveTableModel.loadSettings( _this,
|
||||
"useWaveTable" + QString::number (i+1 ) );
|
||||
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(_this.attribute("userwavefile" + is));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_osc[i]->m_sampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
if (!_this.attribute("userwavefile" + is).isEmpty())
|
||||
{
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(_this.attribute("userwavefile" + is));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_osc[i]->m_sampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -389,9 +389,13 @@ void EnvelopeAndLfoParameters::loadSettings( const QDomElement & _this )
|
||||
m_sustainModel.setValue( 1.0 - m_sustainModel.value() );
|
||||
}
|
||||
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(_this.attribute("userwavefile"));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_userWave, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
if (!_this.attribute("userwavefile").isEmpty())
|
||||
{
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(_this.attribute("userwavefile"));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_userWave, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
}
|
||||
|
||||
updateSampleVars();
|
||||
}
|
||||
|
||||
|
||||
@@ -213,9 +213,12 @@ void LfoController::loadSettings( const QDomElement & _this )
|
||||
m_waveModel.loadSettings( _this, "wave" );
|
||||
m_multiplierModel.loadSettings( _this, "multiplier" );
|
||||
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(_this.attribute("userwavefile"));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_userDefSampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
if (!_this.attribute("userwavefile").isEmpty())
|
||||
{
|
||||
auto buffer = gui::SampleLoader::createBufferFromFile(_this.attribute("userwavefile"));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_userDefSampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
}
|
||||
|
||||
updateSampleFunction();
|
||||
}
|
||||
|
||||
@@ -213,13 +213,13 @@ void LfoControllerDialog::askUserDefWave()
|
||||
{
|
||||
auto sampleBuffer = dynamic_cast<LfoController*>(this->model())->m_userDefSampleBuffer;
|
||||
QString fileName = SampleLoader::openWaveformFile();
|
||||
|
||||
auto buffer = SampleLoader::createBufferFromFile(fileName);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&sampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
|
||||
if( fileName.isEmpty() == false )
|
||||
|
||||
if (!fileName.isEmpty())
|
||||
{
|
||||
auto buffer = SampleLoader::createBufferFromFile(fileName);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&sampleBuffer, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
|
||||
// TODO:
|
||||
m_userWaveBtn->setToolTip(sampleBuffer->audioFile());
|
||||
}
|
||||
|
||||
@@ -323,9 +323,13 @@ void EnvelopeAndLfoView::dropEvent( QDropEvent * _de )
|
||||
QString value = StringPairDrag::decodeValue( _de );
|
||||
if( type == "samplefile" )
|
||||
{
|
||||
auto buffer = SampleLoader::createBufferFromFile(StringPairDrag::decodeValue(_de));
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_params->m_userWave, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
if (!value.isEmpty())
|
||||
{
|
||||
auto buffer = SampleLoader::createBufferFromFile(value);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_params->m_userWave, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
}
|
||||
|
||||
m_userLfoBtn->model()->setValue( true );
|
||||
m_params->m_lfoWaveModel.setValue(static_cast<int>(EnvelopeAndLfoParameters::LfoShape::UserDefinedWave));
|
||||
_de->accept();
|
||||
@@ -337,9 +341,14 @@ void EnvelopeAndLfoView::dropEvent( QDropEvent * _de )
|
||||
auto file = dataFile.content().
|
||||
firstChildElement().firstChildElement().
|
||||
firstChildElement().attribute("src");
|
||||
auto buffer = SampleLoader::createBufferFromFile(file);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_params->m_userWave, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
|
||||
if (!file.isEmpty())
|
||||
{
|
||||
auto buffer = SampleLoader::createBufferFromFile(file);
|
||||
// TODO C++20: Deprecated, use std::atomic<std::shared_ptr> instead
|
||||
std::atomic_store(&m_params->m_userWave, std::shared_ptr<const SampleBuffer>(std::move(buffer)));
|
||||
}
|
||||
|
||||
m_userLfoBtn->model()->setValue( true );
|
||||
m_params->m_lfoWaveModel.setValue(static_cast<int>(EnvelopeAndLfoParameters::LfoShape::UserDefinedWave));
|
||||
_de->accept();
|
||||
|
||||
Reference in New Issue
Block a user