changeset 834:fcee7e040ab4

Merge
author Chris Cannam
date Tue, 30 Jul 2013 18:15:30 +0100
parents 3cc81dbc31bb (current diff) a1bb2989013d (diff)
children 1d439494604c
files data/fileio/FileSource.cpp
diffstat 3 files changed, 19 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/data/fileio/FileSource.cpp	Fri Jul 19 13:47:11 2013 +0100
+++ b/data/fileio/FileSource.cpp	Tue Jul 30 18:15:30 2013 +0100
@@ -72,6 +72,7 @@
 
 FileSource::FileSource(QString fileOrUrl, ProgressReporter *reporter,
                        QString preferredContentType) :
+    m_rawFileOrUrl(fileOrUrl),
     m_url(fileOrUrl, QUrl::StrictMode),
     m_localFile(0),
     m_reply(0),
@@ -112,6 +113,9 @@
         std::cerr << "FileSource::FileSource: Failed to open local file with URL \"" << m_url.toString() << "\"; trying again assuming filename was encoded" << std::endl;
 #endif
         m_url = QUrl::fromEncoded(fileOrUrl.toLatin1());
+#ifdef DEBUG_FILE_SOURCE
+        std::cerr << "FileSource::FileSource: URL is now \"" << m_url.toString() << "\"" << std::endl;
+#endif
         init();
     }
 
@@ -290,15 +294,20 @@
 #endif
         bool literal = false;
         m_localFilename = m_url.toLocalFile();
+
         if (m_localFilename == "") {
             // QUrl may have mishandled the scheme (e.g. in a DOS path)
-            m_localFilename = m_url.toString();
+            m_localFilename = m_rawFileOrUrl;
+#ifdef DEBUG_FILE_SOURCE
+            std::cerr << "FileSource::init: Trying literal local filename \""
+                      << m_localFilename << "\"" << std::endl;
+#endif
             literal = true;
         }
         m_localFilename = QFileInfo(m_localFilename).absoluteFilePath();
 
 #ifdef DEBUG_FILE_SOURCE
-        std::cerr << "FileSource::init: URL translates to local filename \""
+        std::cerr << "FileSource::init: URL translates to absolute filename \""
                   << m_localFilename << "\" (with literal=" << literal << ")"
                   << std::endl;
 #endif
@@ -314,7 +323,7 @@
 #endif
                 // Again, QUrl may have been mistreating us --
                 // e.g. dropping a part that looks like query data
-                m_localFilename = m_url.toString();
+                m_localFilename = m_rawFileOrUrl;
                 literal = true;
                 if (!QFileInfo(m_localFilename).exists()) {
                     m_lastStatus = 404;
--- a/data/fileio/FileSource.h	Fri Jul 19 13:47:11 2013 +0100
+++ b/data/fileio/FileSource.h	Tue Jul 30 18:15:30 2013 +0100
@@ -218,6 +218,7 @@
 protected:
     FileSource &operator=(const FileSource &); // not provided
 
+    QString m_rawFileOrUrl;
     QUrl m_url;
     QFile *m_localFile;
     QNetworkReply *m_reply;
--- a/data/model/Labeller.h	Fri Jul 19 13:47:11 2013 +0100
+++ b/data/model/Labeller.h	Tue Jul 30 18:15:30 2013 +0100
@@ -134,6 +134,12 @@
 
     void setSampleRate(float rate) { m_rate = rate; }
 
+    void resetCounters() {
+        m_counter = 1;
+        m_counter2 = 1;
+        m_cycle = 4;
+    }
+
     void incrementCounter() {
         m_counter++;
         if (m_type == ValueFromCyclicalCounter ||