MCPcopy Create free account
hub / github.com/LMMS/lmms / writeSwappedAddingMultiplied

Method writeSwappedAddingMultiplied

src/core/RingBuffer.cpp:278–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

276
277
278void RingBuffer::writeSwappedAddingMultiplied( sampleFrame * src, f_cnt_t offset, f_cnt_t length, float level )
279{
280 const f_cnt_t pos = ( m_position + offset ) % m_size;
281 if( length == 0 ) { length = m_fpp; }
282
283 if( pos + length <= m_size ) // we won't go over the edge so we can just memcpy here
284 {
285 MixHelpers::addSwappedMultiplied( & m_buffer [pos], src, level, length );
286 }
287 else
288 {
289 f_cnt_t first = m_size - pos;
290 f_cnt_t second = length - first;
291
292 MixHelpers::addSwappedMultiplied( & m_buffer [pos], src, level, first );
293
294 MixHelpers::addSwappedMultiplied( m_buffer, & src [first], level, second );
295 }
296}
297
298
299void RingBuffer::writeSwappedAddingMultiplied( sampleFrame * src, float offset, f_cnt_t length, float level )

Callers 1

processAudioBufferMethod · 0.80

Calls 1

addSwappedMultipliedFunction · 0.85

Tested by

no test coverage detected