Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
SampleTrackCache::Buffer Struct Reference
Collaboration diagram for SampleTrackCache::Buffer:
[legend]

Public Member Functions

 Buffer ()
 
void Free ()
 
sampleCount end () const
 
void swap (Buffer &other)
 
auto GetBuffers () const
 
std::pair< const float *, const float * > GetResults (size_t nChannels, size_t offset) const
 

Public Attributes

FloatBuffers areas
 
sampleCount start
 
sampleCount len
 

Detailed Description

Definition at line 68 of file SampleTrackCache.h.

Constructor & Destructor Documentation

◆ Buffer()

SampleTrackCache::Buffer::Buffer ( )
inline

Definition at line 73 of file SampleTrackCache.h.

73: start(0), len(0) {}

Member Function Documentation

◆ end()

sampleCount SampleTrackCache::Buffer::end ( ) const
inline

Definition at line 75 of file SampleTrackCache.h.

75{ return start + len; }

Referenced by SampleTrackCache::GetFloatsWide().

Here is the caller graph for this function:

◆ Free()

void SampleTrackCache::Buffer::Free ( )
inline

Definition at line 74 of file SampleTrackCache.h.

74{ areas.reset(); start = 0; len = 0; }

Referenced by SampleTrackCache::Free().

Here is the caller graph for this function:

◆ GetBuffers()

auto SampleTrackCache::Buffer::GetBuffers ( ) const
inline

Definition at line 84 of file SampleTrackCache.h.

84 {
85 return reinterpret_cast<float **>(areas.get()); }

Referenced by SampleTrackCache::GetFloatsWide().

Here is the caller graph for this function:

◆ GetResults()

std::pair< const float *, const float * > SampleTrackCache::Buffer::GetResults ( size_t  nChannels,
size_t  offset 
) const
inline

Definition at line 88 of file SampleTrackCache.h.

88 {
89 const auto buffers = GetBuffers();
90 const auto buffer0 = buffers[0],
91 buffer1 = buffers[1];
92 return {
93 (buffer0 ? buffer0 + offset : nullptr),
94 (nChannels > 1 && buffer1 ? buffer1 + offset : nullptr)
95 };
96 }

Referenced by SampleTrackCache::GetFloatsWide().

Here is the caller graph for this function:

◆ swap()

void SampleTrackCache::Buffer::swap ( Buffer other)
inline

Definition at line 77 of file SampleTrackCache.h.

78 {
79 areas .swap ( other.areas );
80 std::swap( start, other.start );
81 std::swap( len, other.len );
82 }
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)
Definition: NoteTrack.cpp:752

References areas, len, start, and anonymous_namespace{NoteTrack.cpp}::swap().

Referenced by SampleTrackCache::GetFloatsWide().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ areas

FloatBuffers SampleTrackCache::Buffer::areas

Definition at line 69 of file SampleTrackCache.h.

Referenced by SampleTrackCache::SetSequence(), and swap().

◆ len

sampleCount SampleTrackCache::Buffer::len

Definition at line 71 of file SampleTrackCache.h.

Referenced by SampleTrackCache::GetFloatsWide(), and swap().

◆ start

sampleCount SampleTrackCache::Buffer::start

Definition at line 70 of file SampleTrackCache.h.

Referenced by SampleTrackCache::GetFloatsWide(), and swap().


The documentation for this struct was generated from the following file: