A class of MIDIOutputElements that read the analog input from a potentiometer or fader, and send out 7-bit MIDI Control Change events.  
 More...
#include <MIDI_Outputs/ManyAddresses/CCPotentiometer.hpp>
 | 
|   | CCPotentiometer (const Bank< NumBanks > &bank, pin_t analogPin, const Array< MIDIAddress, NumBanks > &addresses) | 
|   | Create a new CCPotentiometer object with the given analog pin, and address list.  More...
  | 
|   | 
| void  | begin () override | 
|   | Initialize this updatable.  More...
  | 
|   | 
| void  | update () override | 
|   | Update this updatable.  More...
  | 
|   | 
| void  | map (MappingFunction fn) | 
|   | Specify a mapping function that is applied to the raw analog value before sending.  More...
  | 
|   | 
| void  | invert () | 
|   | Invert the analog value.  More...
  | 
|   | 
| analog_t  | getRawValue () const | 
|   | Get the raw value of the analog input (this is the value without applying the filter or the mapping function first).  More...
  | 
|   | 
| analog_t  | getValue () const | 
|   | Get the value of the analog input (this is the value after first applying the mapping function).  More...
  | 
|   | 
 | 
| Updatable< NormalUpdatable, false > *  | next | 
|   | 
| Updatable< NormalUpdatable, false > *  | previous | 
|   | 
 | 
| 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<setting_t NumBanks>
class Bankable::ManyAddresses::CCPotentiometer< NumBanks >
A class of MIDIOutputElements that read the analog input from a potentiometer or fader, and send out 7-bit MIDI Control Change events. 
The analog input is filtered and hysteresis is applied for maximum stability. 
 This version can be banked using an arbitrary list of alternative addresses.
- Template Parameters
 - 
  
    | NumBanks | The number of variants/alternative addresses the element has.  | 
  
   
- Examples
 - One-Pot-Both-PB-and-CC.ino.
 
Definition at line 27 of file ManyAddresses/CCPotentiometer.hpp.
 
◆ Mutex
◆ LockGuard
◆ CCPotentiometer()
Create a new CCPotentiometer object with the given analog pin, and address list. 
- Parameters
 - 
  
    | bank | The bank that selects the address to use.  | 
    | analogPin | The analog input pin to read from.  | 
    | addresses | The list of MIDI addresses containing the controller number [0, 119], channel [CHANNEL_1, CHANNEL_16], and optional cable number [CABLE_1, CABLE_16].  | 
  
   
Definition at line 46 of file ManyAddresses/CCPotentiometer.hpp.
 
 
◆ begin()
  
  | 
      
   | 
  
inlineoverridevirtualinherited   | 
  
 
 
◆ update()
  
  | 
      
   | 
  
inlineoverridevirtualinherited   | 
  
 
 
◆ map()
Specify a mapping function that is applied to the raw analog value before sending. 
- 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 57 of file Bankable/Abstract/MIDIFilteredAnalog.hpp.
 
 
◆ invert()
◆ getRawValue()
◆ getValue()
◆ beginAll()
◆ updateAll()
  
  
      
        
          | static void updateAll  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticinherited   | 
  
 
 
◆ getMutex()
  
  
      
        
          | static Mutex& getMutex  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticinherited   | 
  
 
 
◆ 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.
 
 
◆ address
◆ filteredAnalog
◆ sender
◆ updatables
◆ mutex
◆ next
  
  
      
        
          | Updatable< NormalUpdatable, false > * next | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ previous
  
  
      
        
          | Updatable< NormalUpdatable, false > * previous | 
         
       
   | 
  
protectedinherited   | 
  
 
 
The documentation for this class was generated from the following file: