Audacity
3.2.0
src
tracks
playabletrack
wavetrack
ui
WaveformCache.h
Go to the documentation of this file.
1
/**********************************************************************
2
3
Audacity: A Digital Audio Editor
4
5
WaveformCache.h
6
7
Paul Licameli split from WaveClip.h
8
9
*******************************************************************/
10
11
#ifndef __AUDACITY_WAVEFORM_CACHE__
12
#define __AUDACITY_WAVEFORM_CACHE__
13
14
#include "
WaveClip.h
"
15
16
class
WaveCache
;
17
18
struct
WaveClipWaveformCache
final :
WaveClipListener
19
{
20
WaveClipWaveformCache
();
21
~WaveClipWaveformCache
()
override
;
22
23
// Cache of values for drawing the waveform
24
std::unique_ptr<WaveCache>
mWaveCache
;
25
int
mDirty
{ 0 };
26
27
static
WaveClipWaveformCache
&
Get
(
const
WaveClip
&clip );
28
29
void
MarkChanged
()
override
;
// NOFAIL-GUARANTEE
30
void
Invalidate
()
override
;
// NOFAIL-GUARANTEE
31
33
void
Clear
();
34
36
bool
GetWaveDisplay
(
const
WaveClip
&clip,
WaveDisplay
&display,
37
double
t0,
double
pixelsPerSecond);
38
};
39
40
#endif
WaveClip.h
WaveCache
Definition:
WaveformCache.cpp:18
WaveClip
This allows multiple clips to be a part of one WaveTrack.
Definition:
WaveClip.h:101
WaveDisplay
Definition:
WaveClip.h:48
WaveClipListener
Definition:
WaveClip.h:93
WaveClipWaveformCache
Definition:
WaveformCache.h:19
WaveClipWaveformCache::GetWaveDisplay
bool GetWaveDisplay(const WaveClip &clip, WaveDisplay &display, double t0, double pixelsPerSecond)
Definition:
WaveformCache.cpp:68
WaveClipWaveformCache::mWaveCache
std::unique_ptr< WaveCache > mWaveCache
Definition:
WaveformCache.h:24
WaveClipWaveformCache::~WaveClipWaveformCache
~WaveClipWaveformCache() override
Definition:
WaveformCache.cpp:285
WaveClipWaveformCache::Get
static WaveClipWaveformCache & Get(const WaveClip &clip)
Definition:
WaveformCache.cpp:293
WaveClipWaveformCache::WaveClipWaveformCache
WaveClipWaveformCache()
Definition:
WaveformCache.cpp:280
WaveClipWaveformCache::Clear
void Clear()
Delete the wave cache - force redraw. Thread-safe.
WaveClipWaveformCache::mDirty
int mDirty
Definition:
WaveformCache.h:25
WaveClipWaveformCache::Invalidate
void Invalidate() override
Definition:
WaveformCache.cpp:304
WaveClipWaveformCache::MarkChanged
void MarkChanged() override
Definition:
WaveformCache.cpp:299
Generated by
1.9.3