Audacity 3.2.0
MeterValueProvider.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 MeterValueProvider.h
7
8 Matthieu Hodgkinson
9
10**********************************************************************/
11#pragma once
12
13#include <memory>
14
15class DYNAMIC_RANGE_PROCESSOR_API MeterValueProvider
16{
17public:
18 enum class Direction
19 {
20 Upwards,
21 Downwards
22 };
23
24 static std::unique_ptr<MeterValueProvider> Create(Direction direction);
25
26 virtual ~MeterValueProvider() = default;
27 virtual void Update(float value, bool alsoFiveSecondMax) = 0;
28 virtual float GetGlobalMax() const = 0;
29 virtual float GetFiveSecMax() const = 0;
30 virtual float GetCurrentMax() const = 0;
31 virtual Direction GetDirection() const = 0;
32 virtual bool IsInvisible() const = 0;
33};
virtual bool IsInvisible() const =0
virtual float GetCurrentMax() const =0
virtual void Update(float value, bool alsoFiveSecondMax)=0
virtual float GetGlobalMax() const =0
virtual float GetFiveSecMax() const =0
virtual Direction GetDirection() const =0
virtual ~MeterValueProvider()=default