A class for controlling the volume of AudioMixer4 objects using a potentiometer.  
 More...
#include <Audio/VolumeControl.hpp>
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.
 
◆ 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()
◆ enable() [1/4]
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically. 
Definition at line 45 of file Updatable.hpp.
 
 
◆ enable() [2/4]
◆ enable() [3/4]
◆ enable() [4/4]
  
  
      
        
          | static void enable  | 
          ( | 
          U(&)  | 
          array[N] | ) | 
           | 
         
       
   | 
  
inlinestaticinherited   | 
  
 
 
◆ disable() [1/4]
Disable this updatable: remove it from the linked list of instances, so it no longer gets updated automatically. 
Definition at line 55 of file Updatable.hpp.
 
 
◆ disable() [2/4]
◆ disable() [3/4]
◆ disable() [4/4]
  
  
      
        
          | static void disable  | 
          ( | 
          U(&)  | 
          array[N] | ) | 
           | 
         
       
   | 
  
inlinestaticinherited   | 
  
 
 
◆ isEnabled()
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 69 of file Updatable.hpp.
 
 
◆ beginAll()
◆ updateAll()
  
  
      
        
          | static void updateAll  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticinherited   | 
  
 
 
◆ mixers
  
  
      
        
          | Array<AudioMixer4 *, N> mixers | 
         
       
   | 
  
private   | 
  
 
 
◆ filteredAnalog
◆ maxGain
◆ updatables
◆ next
◆ previous
The documentation for this class was generated from the following file: