Mercurial > hg > svapp
diff framework/SVFileReader.cpp @ 482:01669adb0956 tony-2.0-integration
Merge through to branch for Tony 2.0
author | Chris Cannam |
---|---|
date | Thu, 20 Aug 2015 14:54:21 +0100 |
parents | 6f475df6f833 |
children | aecd5bdfc71f |
line wrap: on
line diff
--- a/framework/SVFileReader.cpp Mon Apr 13 13:52:05 2015 +0100 +++ b/framework/SVFileReader.cpp Thu Aug 20 14:54:21 2015 +0100 @@ -26,7 +26,7 @@ #include "data/fileio/FileFinder.h" -#include "data/model/WaveFileModel.h" +#include "data/model/ReadOnlyWaveFileModel.h" #include "data/model/EditableDenseThreeDimensionalModel.h" #include "data/model/SparseOneDimensionalModel.h" #include "data/model/SparseTimeValueModel.h" @@ -489,7 +489,7 @@ if (mm) rate = mm->getSampleRate(); } - model = new WaveFileModel(file, rate); + model = new ReadOnlyWaveFileModel(file, rate); if (!model->isOK()) { delete model; model = 0; @@ -886,12 +886,14 @@ } else { cerr << "WARNING: SV-XML: Unknown model id " << modelId << " in layer definition" << endl; - - // Don't add a layer with an unknown model id - m_document->deleteLayer(layer); - m_layers[id] = layer = 0; - return false; - } + if (!layer->canExistWithoutModel()) { + // Don't add a layer with an unknown model id + // unless it explicitly supports this state + m_document->deleteLayer(layer); + m_layers[id] = layer = 0; + return false; + } + } } if (layer) layer->setProperties(attributes);