DummyBackend: fix midi event mux+sorting
[ardour.git] / libs / ardour / audiosource.cc
index e224186bd29890ac825df14cb3288ff11ac9ceef..c08cea962b284d2d0265326015a8f6d36834afd2 100644 (file)
 
 */
 
-#include <sys/stat.h>
+#ifdef COMPILER_MSVC
+#include <sys/utime.h>
+#else
 #include <unistd.h>
+#include <utime.h>
+#endif
+#include <sys/stat.h>
 #include <fcntl.h>
 #include <float.h>
-#include <utime.h>
 #include <cerrno>
 #include <ctime>
 #include <cmath>
@@ -180,7 +184,7 @@ AudioSource::peaks_ready (boost::function<void()> doThisWhenReady, ScopedConnect
 void
 AudioSource::touch_peakfile ()
 {
-       struct stat statbuf;
+       GStatBuf statbuf;
 
        if (g_stat (peakpath.c_str(), &statbuf) != 0 || statbuf.st_size == 0) {
                return;
@@ -189,7 +193,7 @@ AudioSource::touch_peakfile ()
        struct utimbuf tbuf;
 
        tbuf.actime = statbuf.st_atime;
-       tbuf.modtime = time ((time_t) 0);
+       tbuf.modtime = time ((time_t*) 0);
 
        g_utime (peakpath.c_str(), &tbuf);
 }
@@ -216,7 +220,7 @@ AudioSource::rename_peakfile (string newpath)
 int
 AudioSource::initialize_peakfile (string audio_path)
 {
-       struct stat statbuf;
+       GStatBuf statbuf;
 
        peakpath = peak_path (audio_path);
 
@@ -299,7 +303,7 @@ framecnt_t
 AudioSource::write (Sample *dst, framecnt_t cnt)
 {
        Glib::Threads::Mutex::Lock lm (_lock);
-       /* any write makes the fill not removable */
+       /* any write makes the file not removable */
        _flags = Flag (_flags & ~Removable);
        return write_unlocked (dst, cnt);
 }
@@ -339,7 +343,7 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
        /* fix for near-end-of-file conditions */
 
        if (cnt > _length - start) {
-               // cerr << "too close to end @ " << _length << " given " << start << " + " << cnt << endl;
+               // cerr << "too close to end @ " << _length << " given " << start << " + " << cnt << " (" << _length - start << ")" << endl;
                cnt = _length - start;
                framecnt_t old = npeaks;
                npeaks = min ((framecnt_t) floor (cnt / samples_per_visual_peak), npeaks);
@@ -505,6 +509,7 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
                }
 
                if (zero_fill) {
+                       cerr << "Zero fill end of peaks (@ " << npeaks << " with " << zero_fill << endl;
                        memset (&peaks[npeaks], 0, sizeof (PeakData) * zero_fill);
                }