/*
- Copyright (C) 2007 Paul Davis
+ Copyright (C) 2007 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
-#ifndef __ardour_silentfilesource_h__
+#ifndef __ardour_silentfilesource_h__
#define __ardour_silentfilesource_h__
-#include <ardour/audiofilesource.h>
+#include <cstring>
+#include "ardour/audiofilesource.h"
namespace ARDOUR {
class SilentFileSource : public AudioFileSource {
- public:
- virtual ~SilentFileSource ();
-
- int update_header (nframes_t when, struct tm&, time_t) { return 0; }
+public:
+ int update_header (framepos_t /*when*/, struct tm&, time_t) { return 0; }
int flush_header () { return 0; }
float sample_rate () const { return _sample_rate; }
- void set_length (nframes_t len);
-
- bool destructive() const { return false; }
- bool can_be_analysed() const { return false; }
-
- protected:
+ void set_length (framecnt_t len) { _length = len; }
- float _sample_rate;
+ bool destructive() const { return false; }
+ bool can_be_analysed() const { return false; }
- SilentFileSource (Session&, const XMLNode&, nframes_t nframes, float sample_rate);
+ bool clamped_at_unity() const { return false; }
+protected:
friend class SourceFactory;
- nframes_t read_unlocked (Sample *dst, nframes_t start, nframes_t cnt) const {
+ SilentFileSource (Session& s, const XMLNode& x, framecnt_t len, float srate)
+ : Source (s, x)
+ , AudioFileSource (s, x, false)
+ , _sample_rate(srate)
+ {
+ _length = len;
+ }
+
+ framecnt_t read_unlocked (Sample *dst, framepos_t /*start*/, framecnt_t cnt) const {
memset (dst, 0, sizeof (Sample) * cnt);
return cnt;
}
- nframes_t write_unlocked (Sample *dst, nframes_t cnt) { return 0; }
+ framecnt_t write_unlocked (Sample */*dst*/, framecnt_t /*cnt*/) { return 0; }
void set_header_timeline_position () {}
- int read_peaks_with_fpp (PeakData *peaks, nframes_t npeaks, nframes_t start, nframes_t cnt, double samples_per_unit, nframes_t fpp) const {
+ int read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t /*start*/, framecnt_t /*cnt*/,
+ double /*samples_per_unit*/, framecnt_t /*fpp*/) const {
memset (peaks, 0, sizeof (PeakData) * npeaks);
return 0;
}
+ float _sample_rate;
};
} // namespace ARDOUR