Audacity
3.0.3
|
A short-lived object, during whose lifetime, the contents of the WaveTrack are assumed not to change. More...
#include <WaveTrack.h>
Classes | |
struct | Buffer |
Public Member Functions | |
WaveTrackCache () | |
WaveTrackCache (const std::shared_ptr< const WaveTrack > &pTrack) | |
~WaveTrackCache () | |
const std::shared_ptr< const WaveTrack > & | GetTrack () const |
void | SetTrack (const std::shared_ptr< const WaveTrack > &pTrack) |
const float * | GetFloats (sampleCount start, size_t len, bool mayThrow) |
Retrieve samples as floats from the track or from the memory cache. More... | |
Private Member Functions | |
void | Free () |
Private Attributes | |
std::shared_ptr< const WaveTrack > | mPTrack |
size_t | mBufferSize |
Buffer | mBuffers [2] |
GrowableSampleBuffer | mOverlapBuffer |
int | mNValidBuffers |
A short-lived object, during whose lifetime, the contents of the WaveTrack are assumed not to change.
It can replace repeated calls to WaveTrack::Get() (each of which opens and closes at least one block).
Definition at line 641 of file WaveTrack.h.
|
inline |
Definition at line 643 of file WaveTrack.h.
|
inlineexplicit |
Definition at line 650 of file WaveTrack.h.
WaveTrackCache::~WaveTrackCache | ( | ) |
Definition at line 2738 of file WaveTrack.cpp.
|
private |
Definition at line 2941 of file WaveTrack.cpp.
References GrowableSampleBuffer::Free(), WaveTrackCache::Buffer::Free(), mBuffers, mNValidBuffers, and mOverlapBuffer.
Referenced by SetTrack().
const float * WaveTrackCache::GetFloats | ( | sampleCount | start, |
size_t | len, | ||
bool | mayThrow | ||
) |
Retrieve samples as floats from the track or from the memory cache.
Uses fillZero always
Definition at line 2761 of file WaveTrack.cpp.
References WaveTrackCache::Buffer::data, WaveTrackCache::Buffer::end(), fillZero, floatSample, format, WaveTrackCache::Buffer::len, mBuffers, mBufferSize, min(), mNValidBuffers, mOverlapBuffer, mPTrack, GrowableSampleBuffer::ptr(), GrowableSampleBuffer::Resize(), SAMPLE_SIZE, size, WaveTrackCache::Buffer::start, and WaveTrackCache::Buffer::swap().
Referenced by SpecCache::CalculateOneSpectrum(), Mixer::MixSameRate(), and Mixer::MixVariableRates().
|
inline |
Definition at line 659 of file WaveTrack.h.
Referenced by anonymous_namespace{SpectrumView.cpp}::DrawClipSpectrum(), WaveClip::GetSpectrogram(), Mixer::MixSameRate(), Mixer::MixVariableRates(), and SpecCache::Populate().
void WaveTrackCache::SetTrack | ( | const std::shared_ptr< const WaveTrack > & | pTrack | ) |
Definition at line 2742 of file WaveTrack.cpp.
References WaveTrackCache::Buffer::data, Free(), WaveTrack::GetMaxBlockSize(), mBuffers, mBufferSize, mNValidBuffers, and mPTrack.
|
private |
Definition at line 690 of file WaveTrack.h.
Referenced by Free(), GetFloats(), and SetTrack().
|
private |
Definition at line 689 of file WaveTrack.h.
Referenced by GetFloats(), and SetTrack().
|
private |
Definition at line 692 of file WaveTrack.h.
Referenced by Free(), GetFloats(), and SetTrack().
|
private |
Definition at line 691 of file WaveTrack.h.
Referenced by Free(), and GetFloats().
|
private |
Definition at line 688 of file WaveTrack.h.
Referenced by GetFloats(), and SetTrack().