A class for controlling the volume of AudioMixer4 objects using a potentiometer.
More...
#include <Audio/VolumeControl.hpp>
|
static void | applyToAll (const LockGuard &, void(Derived::*method)(Args &&...), Args &&... args) |
|
static void | applyToAll (void(Derived::*method)(Args &&...), Args &&... args) |
|
|
void | enable (const LockGuard &lock) |
| Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More...
|
|
void | enable () |
| Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More...
|
|
void | disable (const LockGuard &lock) |
| Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More...
|
|
void | disable () |
| Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More...
|
|
bool | isEnabled (const LockGuard &) const |
| Check if this updatable is enabled. More...
|
|
bool | isEnabled () |
| Check if this updatable is enabled. More...
|
|
void | moveDown (const LockGuard &) |
| Move down this element in the list. More...
|
|
void | moveDown () |
| Move down this element in the list. More...
|
|
static void | enable (UpdatableCRTP *element) |
| Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More...
|
|
static void | enable (UpdatableCRTP &element) |
| Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More...
|
|
static void | enable (U(&array)[N]) |
| Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. More...
|
|
static void | disable (UpdatableCRTP *element) |
| Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More...
|
|
static void | disable (UpdatableCRTP &element) |
| Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More...
|
|
static void | disable (U(&array)[N]) |
| Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. More...
|
|
template<uint8_t N>
class VolumeControl< N >
A class for controlling the volume of AudioMixer4 objects using a potentiometer.
- Template Parameters
-
- Examples
- 1.Volume-Controlled-USB-DAC.ino, and 2.VU-Meter-OLED-USB-DAC.ino.
Definition at line 23 of file VolumeControl.hpp.
◆ Mutex
◆ LockGuard
◆ VolumeControl()
VolumeControl |
( |
const Array< AudioMixer4 *, N > & |
mixers, |
|
|
pin_t |
analogPin, |
|
|
float |
maxGain = 1.0 |
|
) |
| |
|
inline |
Create a new VolumeControl object.
- Parameters
-
mixers | An array of pointers to audio mixers.
Only the pointers are saved, so the mixers should outlive this object. |
analogPin | The analog pin with the potentiometer connected. |
maxGain | The maximum gain for the mixers. |
Definition at line 37 of file VolumeControl.hpp.
◆ update()
◆ begin()
◆ map()
Specify a mapping function that is applied to the raw analog value before setting the volume.
- Parameters
-
fn | A function pointer to the mapping function. This function should take the filtered analog value of \( 16 - \mathrm{ANALOG\_FILTER\_SHIFT\_FACTOR} \) bits as a parameter, and should return a value in the same range. |
- See also
- FilteredAnalog::map
Definition at line 70 of file VolumeControl.hpp.
◆ invert()
◆ beginAll()
◆ updateAll()
◆ getMutex()
◆ applyToAll() [1/2]
static void applyToAll |
( |
const LockGuard & |
, |
|
|
void(Derived::*)(Args &&...) |
method, |
|
|
Args &&... |
args |
|
) |
| |
|
inlinestaticinherited |
◆ applyToAll() [2/2]
static void applyToAll |
( |
void(Derived::*)(Args &&...) |
method, |
|
|
Args &&... |
args |
|
) |
| |
|
inlinestaticinherited |
◆ enable() [1/5]
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 106 of file Updatable.hpp.
◆ enable() [2/5]
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 115 of file Updatable.hpp.
◆ enable() [3/5]
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 144 of file Updatable.hpp.
◆ enable() [4/5]
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 146 of file Updatable.hpp.
◆ enable() [5/5]
static void enable |
( |
U(&) |
array[N] | ) |
|
|
inlinestaticinherited |
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 149 of file Updatable.hpp.
◆ disable() [1/5]
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 119 of file Updatable.hpp.
◆ disable() [2/5]
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 128 of file Updatable.hpp.
◆ disable() [3/5]
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 155 of file Updatable.hpp.
◆ disable() [4/5]
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 157 of file Updatable.hpp.
◆ disable() [5/5]
static void disable |
( |
U(&) |
array[N] | ) |
|
|
inlinestaticinherited |
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically.
Definition at line 160 of file Updatable.hpp.
◆ isEnabled() [1/2]
Check if this updatable is enabled.
- Note
- Assumes that the updatable is not added to a different linked list by the user.
Definition at line 136 of file Updatable.hpp.
◆ isEnabled() [2/2]
Check if this updatable is enabled.
- Note
- Assumes that the updatable is not added to a different linked list by the user.
Definition at line 141 of file Updatable.hpp.
◆ moveDown() [1/2]
Move down this element in the list.
Definition at line 166 of file Updatable.hpp.
◆ moveDown() [2/2]
Move down this element in the list.
Definition at line 168 of file Updatable.hpp.
◆ mixers
Array<AudioMixer4 *, N> mixers |
|
private |
◆ filteredAnalog
◆ maxGain
◆ updatables
◆ mutex
◆ next
◆ previous
The documentation for this class was generated from the following file: