Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Audio
AudioVULEDs.hpp
Go to the documentation of this file.
1
/* ✔ */
2
3
#pragma once
4
5
#include <
AH/Hardware/LEDs/DotBarDisplayLEDs.hpp
>
6
#include <
Audio/AudioVU.hpp
>
7
#include <
Def/Def.hpp
>
8
9
BEGIN_CS_NAMESPACE
10
20
template
<u
int
8_t N>
21
class
AudioVULEDs
:
public
AudioVU
,
public
AH::Updatable
<AudioVU> {
22
public
:
35
AudioVULEDs
(
const
AH::DotBarDisplayLEDs<N>
&
vuleds
, AudioAnalyzePeak &
level
,
36
float
gain
= 1.0)
37
:
AudioVU
(
level
,
gain
, N),
vuleds
(
vuleds
) {}
38
42
void
begin
()
override
{
vuleds
.begin(); }
43
47
void
update
()
override
{
48
uint8_t newValue = this->
getValue
();
49
if
(newValue !=
previousValue
) {
50
vuleds
.display(newValue);
51
previousValue
= newValue;
52
}
53
}
54
61
void
setMode
(
AH::DotBarMode
mode) {
vuleds
.setMode(mode); }
62
66
void
dotMode
() {
vuleds
.dotMode(); }
67
71
void
barMode
() {
vuleds
.barMode(); }
72
73
private
:
74
AH::DotBarDisplayLEDs<N>
vuleds
;
75
uint8_t
previousValue
= 0;
76
};
77
78
END_CS_NAMESPACE
AudioVU.hpp
Def.hpp
DotBarDisplayLEDs.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:14
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:11
AH::DotBarDisplayLEDs
A class for LED bars.
Definition
DotBarDisplayLEDs.hpp:26
AH::Updatable
A super class for object that have to be updated regularly.
Definition
Updatable.hpp:169
AudioVULEDs::update
void update() override
Update the LEDs with the latest level.
Definition
AudioVULEDs.hpp:47
AudioVULEDs::vuleds
AH::DotBarDisplayLEDs< N > vuleds
Definition
AudioVULEDs.hpp:74
AudioVULEDs::begin
void begin() override
Initialize.
Definition
AudioVULEDs.hpp:42
AudioVULEDs::previousValue
uint8_t previousValue
Definition
AudioVULEDs.hpp:75
AudioVULEDs::setMode
void setMode(AH::DotBarMode mode)
Set the mode to either dot or bar mode.
Definition
AudioVULEDs.hpp:61
AudioVULEDs::AudioVULEDs
AudioVULEDs(const AH::DotBarDisplayLEDs< N > &vuleds, AudioAnalyzePeak &level, float gain=1.0)
Create a new AudioVULEDs object.
Definition
AudioVULEDs.hpp:35
AudioVULEDs::dotMode
void dotMode()
Set the mode to dot mode.
Definition
AudioVULEDs.hpp:66
AudioVULEDs::barMode
void barMode()
Set the mode to bar mode.
Definition
AudioVULEDs.hpp:71
AudioVU::getValue
uint8_t getValue() override
Get the value of the VU meter.
Definition
AudioVU.hpp:60
AudioVU::level
class AudioVU::Analyzer level
AudioVU::AudioVU
AudioVU(T &level, float gain=1.0, uint8_t max=255)
Create a new AudioVU object.
Definition
AudioVU.hpp:32
AudioVU::gain
float gain
Definition
AudioVU.hpp:135
AH::DotBarMode
DotBarMode
An enumeration type to set an LED display to either bar or dot mode.
Definition
DotBarDisplayLEDs.hpp:12
Generated by
1.17.0