Audacity 3.2.0
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
18struct WAVE_TRACK_PAINT_API WaveDisplayColumn final
19{
20 float min;
21 float max;
22 float rms;
23};
24
27class WAVE_TRACK_PAINT_API WaveformDisplay final
28{
29public:
30 int width { 0 };
31
32 WaveDisplayColumn* columns { nullptr };
34
35 void
36 AppendColumns(const WaveDisplayColumn* begin, const WaveDisplayColumn* end);
37
38private:
39 std::vector<WaveDisplayColumn> ownColums;
40
41public:
42 WaveformDisplay(int w);
43
44 // Create "own" arrays.
45 void Allocate();
46
48};
Utility class to calculate sample range for a given column.
PixelSampleMapper mapper
Definition: WaveData.h:33
std::vector< WaveDisplayColumn > ownColums
Definition: WaveData.h:39
const char * end(const char *str) noexcept
Definition: StringUtils.h:106
const char * begin(const char *str) noexcept
Definition: StringUtils.h:101
Data for sample blocks related to the column.
Definition: WaveData.h:19