fix #4405, by explicitly cancelling solo when a route's inputs drop to zero
[ardour.git] / libs / ardour / audioanalyser.cc
index 3acfc9bce445df28043c85ba44b6309347f041a0..d477026a24df8998be326335c5d710176111ddac 100644 (file)
@@ -7,10 +7,10 @@
 #include <glib/gstdio.h> // for g_remove()
 
 #include "pbd/error.h"
+#include "pbd/failed_constructor.h"
 
 #include "ardour/audioanalyser.h"
 #include "ardour/readable.h"
-#include "ardour/readable.h"
 
 #include <cstring>
 
@@ -88,8 +88,8 @@ AudioAnalyser::analyse (const string& path, Readable* src, uint32_t channel)
        int ret = -1;
        bool done = false;
        Sample* data = 0;
-       nframes64_t len = src->readable_length();
-       nframes64_t pos = 0;
+       framecnt_t len = src->readable_length();
+       framepos_t pos = 0;
        float* bufs[1] = { 0 };
        string tmp_path;
 
@@ -111,11 +111,11 @@ AudioAnalyser::analyse (const string& path, Readable* src, uint32_t channel)
 
        while (!done) {
 
-               nframes64_t to_read;
+               framecnt_t to_read;
 
                /* read from source */
 
-               to_read = min ((len - pos), bufsize);
+               to_read = min ((len - pos), (framecnt_t) bufsize);
 
                if (src->read (data, pos, to_read, channel) != to_read) {
                        goto out;