summaryrefslogtreecommitdiffstats
path: root/src/server/Buffer.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-10 23:27:30 +0000
committerDavid Robillard <d@drobilla.net>2012-08-10 23:27:30 +0000
commit46eff0830c8894997fb624733fadcea9c6d74812 (patch)
treea804a37965ee6531cd9934d5957ff8c51420ebb0 /src/server/Buffer.cpp
parent2f03ac2d3e83563eacbacd4e17b4059605dc58b4 (diff)
downloadingen-46eff0830c8894997fb624733fadcea9c6d74812.tar.gz
ingen-46eff0830c8894997fb624733fadcea9c6d74812.tar.bz2
ingen-46eff0830c8894997fb624733fadcea9c6d74812.zip
Use the usual semantics for 'end' for Buffer::set_block, which in addition to actually making sense, allows GCC to optimize the loop.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4650 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/Buffer.cpp')
-rw-r--r--src/server/Buffer.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/server/Buffer.cpp b/src/server/Buffer.cpp
index 4de832e9..b10ccfc6 100644
--- a/src/server/Buffer.cpp
+++ b/src/server/Buffer.cpp
@@ -104,7 +104,7 @@ Buffer::clear()
{
if (is_audio() || is_control()) {
_atom->size = _capacity - sizeof(LV2_Atom);
- set_block(0, 0, nframes() - 1);
+ set_block(0, 0, nframes());
} else if (is_sequence()) {
_atom->size = sizeof(LV2_Atom_Sequence_Body);
}
@@ -125,13 +125,12 @@ Buffer::copy(Context& context, const Buffer* src)
}
void
-Buffer::set_block(Sample val, size_t start_offset, size_t end_offset)
+Buffer::set_block(Sample val, const SampleCount start, const SampleCount end)
{
- assert(end_offset >= start_offset);
- assert(end_offset < nframes());
+ assert(end <= nframes());
Sample* const buf = samples();
- for (size_t i = start_offset; i <= end_offset; ++i) {
+ for (SampleCount i = start; i < end; ++i) {
buf[i] = val;
}
}