A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relative MIDI Control Change events.  
 More...
#include <MIDI_Outputs/Bankable/CCRotaryEncoder.hpp>
 | 
|   | CCRotaryEncoder (const OutputBankConfig &config, const EncoderPinList &pins, const MIDICNChannelAddress &address, int8_t speedMultiplier, uint8_t pulsesPerStep, const RelativeCCSender &sender={}) | 
|   | Construct a new Bankable CCRotaryEncoder object with the given pins, controller, channel, speed factor, and number of pulses per step.  More...
  | 
|   | 
| void  | begin () final override | 
|   | Initialize this updatable.  More...
  | 
|   | 
| void  | update () final override | 
|   | Update this updatable.  More...
  | 
|   | 
| RelativeMIDICNChannelAddress  | getAddressOffset () const | 
|   | Get the offset relative to the base address.  More...
  | 
|   | 
| setting_t  | getRawBankSetting () const | 
|   | Get the actual bank setting (no matter whether the element is locked or not).  More...
  | 
|   | 
| setting_t  | getSelection () const | 
|   | Get the bank setting.  More...
  | 
|   | 
| void  | lock () | 
|   | Lock the bank setting.  More...
  | 
|   | 
| void  | unlock () | 
|   | Unlock the bank setting.  More...
  | 
|   | 
| void  | enable () | 
|   | Enable this updatable: insert it into the linked list of instances, so it 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 () | 
|   | Check if this updatable is enabled.  More...
  | 
|   | 
A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relative MIDI Control Change events. 
This version can be banked.
- Note
 - To use this class, include the PJRC Encoder library before the Control-Surface library. 
 
Definition at line 23 of file Bankable/CCRotaryEncoder.hpp.
 
◆ CCRotaryEncoder()
Construct a new Bankable CCRotaryEncoder object with the given pins, controller, channel, speed factor, and number of pulses per step. 
- Parameters
 - 
  
    | config | The bank configuration to use: the bank to add this element to, and whether to change the address, channel or cable number.  | 
    | pins | A list of the two pins connected to the A and B outputs of the encoder.  
 The internal pull-up resistors will be enabled by the Encoder library.  | 
    | address | The MIDI address containing the controller number [0, 119], channel [CHANNEL_1, CHANNEL_16], and optional cable number [0, 15].  | 
    | speedMultiplier | A constant factor to increase the speed of the rotary encoder. The difference in position will just be multiplied by this factor.  | 
    | pulsesPerStep | The number of pulses per physical click of the encoder. For a normal encoder, this is 4. If you want to increase the resolution, for the use of Jog wheels, for example, you can go as 1.  
 Whereas a greater speedMultiplier factor will increase the speed, increasing the number of pulsesPerStep will result in a lower speed.  | 
    | sender | The MIDI sender to use.  | 
  
   
Definition at line 57 of file Bankable/CCRotaryEncoder.hpp.
 
 
◆ begin()
  
  | 
      
   | 
  
inlinefinaloverridevirtualinherited   | 
  
 
 
◆ update()
  
  | 
      
   | 
  
inlinefinaloverridevirtualinherited   | 
  
 
 
◆ getAddressOffset()
◆ getRawBankSetting()
Get the actual bank setting (no matter whether the element is locked or not). 
Definition at line 26 of file BankableMIDIOutput.hpp.
 
 
◆ getSelection()
Get the bank setting. 
If the element is locked, the bank setting from the moment it was locked is returned. 
Definition at line 34 of file BankableMIDIOutput.hpp.
 
 
◆ lock()
Lock the bank setting. 
As long as it's locked, getSelection will return the current setting, independent from the actual bank setting. 
Definition at line 44 of file BankableMIDIOutput.hpp.
 
 
◆ unlock()
Unlock the bank setting. 
After unlocking, getSelection will return the actual bank setting again. 
Definition at line 55 of file BankableMIDIOutput.hpp.
 
 
◆ 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   | 
  
 
 
◆ encoder
◆ address
◆ speedMultiply
  
  
      
        
          | const uint8_t speedMultiply | 
         
       
   | 
  
privateinherited   | 
  
 
 
◆ pulsesPerStep
  
  
      
        
          | const uint8_t pulsesPerStep | 
         
       
   | 
  
privateinherited   | 
  
 
 
◆ previousPosition
◆ sender
◆ type
◆ bank
◆ UNLOCKED
  
  | 
      
   | 
  
staticconstexprprivateinherited   | 
  
 
 
◆ lockedSetting
◆ updatables
◆ next
◆ previous
The documentation for this class was generated from the following file: