diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-12-28 14:00:20 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-12-28 14:00:20 -0500 |
commit | b880a381523b2cfdb7ebd17c27fff1adf90fa028 (patch) | |
tree | c1328784a717c5af8e556ac0414969276b7e6c2c /libs/ardour/ardour/audio_buffer.h | |
parent | 2d389a23d5738b0670ead38c45c99afbdecc4d85 (diff) | |
parent | 5bc8750f73c7b4f4d4fe2c15831862c2bfd8250a (diff) |
Merge branch 'master' into cairocanvas
Diffstat (limited to 'libs/ardour/ardour/audio_buffer.h')
-rw-r--r-- | libs/ardour/ardour/audio_buffer.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/libs/ardour/ardour/audio_buffer.h b/libs/ardour/ardour/audio_buffer.h index 5f72065d63..a32e679b69 100644 --- a/libs/ardour/ardour/audio_buffer.h +++ b/libs/ardour/ardour/audio_buffer.h @@ -33,17 +33,7 @@ public: AudioBuffer(size_t capacity); ~AudioBuffer(); - void silence (framecnt_t len, framecnt_t offset = 0) { - if (!_silent) { - assert(_capacity > 0); - assert(offset + len <= _capacity); - memset(_data + offset, 0, sizeof (Sample) * len); - if (len == _capacity) { - _silent = true; - } - } - _written = true; - } + void silence (framecnt_t len, framecnt_t offset = 0); /** Read @a len frames @a src starting at @a src_offset into self starting at @ dst_offset*/ void read_from (const Sample* src, framecnt_t len, framecnt_t dst_offset = 0, framecnt_t src_offset = 0) { @@ -204,10 +194,11 @@ public: Sample* data (framecnt_t offset = 0) { assert(offset <= _capacity); + _silent = false; return _data + offset; } - bool check_silence (pframes_t, pframes_t&) const; + bool check_silence (pframes_t, bool, pframes_t&) const; void prepare () { _written = false; _silent = false; } bool written() const { return _written; } |