Audacity
3.2.0
libraries
lib-wave-track-paint
waveform
WaveData.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
/*!********************************************************************
3
4
Audacity: A Digital Audio Editor
5
6
WaveData.h
7
8
Dmitry Vedenko
9
10
**********************************************************************/
11
#pragma once
12
13
#include <vector>
14
15
#include "
PixelSampleMapper.h
"
16
18
struct
WAVE_TRACK_PAINT_API
WaveDisplayColumn
final
19
{
20
float
min
;
21
float
max
;
22
float
rms
;
23
};
24
27
class
WAVE_TRACK_PAINT_API
WaveformDisplay
final
28
{
29
public
:
30
int
width { 0 };
31
32
WaveDisplayColumn
* columns {
nullptr
};
33
PixelSampleMapper
mapper
;
34
35
void
36
AppendColumns(
const
WaveDisplayColumn
*
begin
,
const
WaveDisplayColumn
*
end
);
37
38
private
:
39
std::vector<WaveDisplayColumn>
ownColums
;
40
41
public
:
42
WaveformDisplay
(
int
w);
43
44
// Create "own" arrays.
45
void
Allocate();
46
47
~WaveformDisplay
();
48
};
PixelSampleMapper.h
PixelSampleMapper
Utility class to calculate sample range for a given column.
Definition:
PixelSampleMapper.h:23
WaveformDisplay
Definition:
WaveData.h:28
WaveformDisplay::mapper
PixelSampleMapper mapper
Definition:
WaveData.h:33
WaveformDisplay::ownColums
std::vector< WaveDisplayColumn > ownColums
Definition:
WaveData.h:39
WaveformDisplay::~WaveformDisplay
~WaveformDisplay()
details::end
const char * end(const char *str) noexcept
Definition:
StringUtils.h:106
details::begin
const char * begin(const char *str) noexcept
Definition:
StringUtils.h:101
WaveDisplayColumn
Data for sample blocks related to the column.
Definition:
WaveData.h:19
WaveDisplayColumn::min
float min
Definition:
WaveData.h:20
WaveDisplayColumn::rms
float rms
Definition:
WaveData.h:22
WaveDisplayColumn::max
float max
Definition:
WaveData.h:21
Generated by
1.9.3