# HG changeset patch # User Chris Cannam # Date 1536762450 -3600 # Node ID 2d291eac9f21cb3aafc859ab8b7f931f0323ae07 # Parent 954d0cf29ca70cff94232cbf0db17c5913b2f585 Ignore non-value columns when guessing sample range diff -r 954d0cf29ca7 -r 2d291eac9f21 data/fileio/CSVFormat.cpp --- a/data/fileio/CSVFormat.cpp Wed Sep 12 13:56:56 2018 +0100 +++ b/data/fileio/CSVFormat.cpp Wed Sep 12 15:27:30 2018 +0100 @@ -360,14 +360,24 @@ range = SampleRangeSigned1; bool knownSigned = false; bool knownNonIntegral = false; + + SVDEBUG << "CSVFormat::guessAudioSampleRange: starting with assumption of " + << range << endl; for (int i = 0; i < m_columnCount; ++i) { + if (m_columnPurposes[i] != ColumnValue) { + SVDEBUG << "... column " << i + << " is not apparently a value, ignoring" << endl; + continue; + } if (!(m_columnQualities[i] & ColumnIntegral)) { knownNonIntegral = true; if (range == SampleRangeUnsigned255 || range == SampleRangeSigned32767) { range = SampleRangeOther; } + SVDEBUG << "... column " << i + << " is non-integral, updating range to " << range << endl; } if (m_columnQualities[i] & ColumnLarge) { if (range == SampleRangeSigned1 || @@ -378,12 +388,16 @@ range = SampleRangeSigned32767; } } + SVDEBUG << "... column " << i << " is large, updating range to " + << range << endl; } if (m_columnQualities[i] & ColumnSigned) { knownSigned = true; if (range == SampleRangeUnsigned255) { range = SampleRangeSigned32767; } + SVDEBUG << "... column " << i << " is signed, updating range to " + << range << endl; } if (!(m_columnQualities[i] & ColumnSmall)) { if (range == SampleRangeSigned1) { @@ -395,9 +409,14 @@ range = SampleRangeUnsigned255; } } + SVDEBUG << "... column " << i << " is not small, updating range to " + << range << endl; } } + SVDEBUG << "CSVFormat::guessAudioSampleRange: ended up with range " + << range << endl; + m_audioSampleRange = range; } diff -r 954d0cf29ca7 -r 2d291eac9f21 data/fileio/CSVFormat.h --- a/data/fileio/CSVFormat.h Wed Sep 12 13:56:56 2018 +0100 +++ b/data/fileio/CSVFormat.h Wed Sep 12 15:27:30 2018 +0100 @@ -133,11 +133,6 @@ return m_columnQualities; } - bool isColumnNumeric(int i) const { - return (m_columnQualities.size() > i && - m_columnQualities[i] & ColumnNumeric); - } - // read-only; only valid if format has been guessed: const QList &getExample() const { return m_example;