Audacity 3.2.0
WavPackCompressor.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 WavPackCompressor.h
7
8 Dmitry Vedenko
9
10**********************************************************************/
11#pragma once
12
13#include <cstdint>
14#include <limits>
15#include <optional>
16#include <vector>
17
18#include "CloudSyncDTO.h"
19
20class AudacityProject;
21
23{
24std::vector<uint8_t> CompressBlock(const LockedBlock& block);
25
26struct MinMaxRMS final
27{
28 float Min { std::numeric_limits<float>::max() };
29 float Max { -std::numeric_limits<float>::max() };
30 float RMS { 0.0 };
31};
32
34{
35 int64_t BlockId;
37
39 std::vector<MinMaxRMS> Summary256;
40 std::vector<MinMaxRMS> Summary64k;
41 std::vector<uint8_t> Data;
42}; // struct DecompressedBlock
43
44std::optional<DecompressedBlock> DecompressBlock(
45 const void* data, const std::size_t size);
46
47} // namespace audacity::cloud::audiocom::sync
sampleFormat
The ordering of these values with operator < agrees with the order of increasing bit width.
Definition: SampleFormat.h:30
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
std::optional< DecompressedBlock > DecompressBlock(const void *data, const std::size_t size)
std::vector< uint8_t > CompressBlock(const LockedBlock &block)