A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relative MIDI Control Change events. More...
#include <CCRotaryEncoder.hpp>
Public Member Functions | |
| CCRotaryEncoder (const OutputBankConfig &config, const EncoderPinList &pins, const MIDICNChannelAddress &address, uint8_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... | |
Static Public Member Functions | |
| static void | enable (Updatable *element) | 
| static void | enable (Updatable &element) | 
| static void | enable (U(&array)[N]) | 
| static void | disable (Updatable< NormalUpdatable > *element) | 
| static void | disable (Updatable< NormalUpdatable > &element) | 
| static void | disable (U(&array)[N]) | 
| static void | beginAll () | 
| Begin all enabled instances of this class.  More... | |
| static void | updateAll () | 
| Update all enabled instances of this class.  More... | |
Public Attributes | |
| RelativeCCSender | sender | 
Protected Attributes | |
| const OutputBank & | bank | 
| Updatable< NormalUpdatable > * | next | 
| Updatable< NormalUpdatable > * | previous | 
Private Attributes | |
| Encoder | encoder | 
| const MIDICNChannelAddress | address | 
| const uint8_t | speedMultiply | 
| const uint8_t | pulsesPerStep | 
| long | previousPosition | 
| const BankType | type | 
| setting_t | lockedSetting = UNLOCKED | 
Static Private Attributes | |
| constexpr static setting_t | UNLOCKED = NO_SETTING | 
| static DoublyLinkedList< Updatable< NormalUpdatable > > | updatables | 
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.
Definition at line 23 of file Bankable/CCRotaryEncoder.hpp.
      
  | 
  inline | 
Construct a new Bankable CCRotaryEncoder object with the given pins, controller, channel, speed factor, and number of pulses per step.
| 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.
      
  | 
  inlinefinaloverridevirtualinherited | 
Initialize this updatable.
Implements AH::Updatable<>.
Definition at line 51 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  inlinefinaloverridevirtualinherited | 
Update this updatable.
Implements AH::Updatable<>.
Definition at line 52 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  inlineinherited | 
Get the offset relative to the base address.
Definition at line 111 of file BankableMIDIOutput.hpp.
      
  | 
  inlineinherited | 
Get the actual bank setting (no matter whether the element is locked or not).
Definition at line 26 of file BankableMIDIOutput.hpp.
      
  | 
  inlineinherited | 
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.
      
  | 
  inlineinherited | 
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.
      
  | 
  inlineinherited | 
Unlock the bank setting.
After unlocking, getSelection will return the actual bank setting again. 
Definition at line 55 of file BankableMIDIOutput.hpp.
      
  | 
  inlineinherited | 
Enable this updatable: insert it into the linked list of instances, so it gets updated automatically.
Definition at line 45 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Definition at line 85 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Definition at line 87 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Definition at line 90 of file Updatable.hpp.
      
  | 
  inlineinherited | 
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.
      
  | 
  inlinestaticinherited | 
Definition at line 95 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Definition at line 97 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Definition at line 100 of file Updatable.hpp.
      
  | 
  inlineinherited | 
Check if this updatable is enabled.
Definition at line 69 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Begin all enabled instances of this class.
Definition at line 73 of file Updatable.hpp.
      
  | 
  inlinestaticinherited | 
Update all enabled instances of this class.
Definition at line 80 of file Updatable.hpp.
      
  | 
  privateinherited | 
Definition at line 64 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  privateinherited | 
Definition at line 65 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  privateinherited | 
Definition at line 66 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  privateinherited | 
Definition at line 67 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  privateinherited | 
Definition at line 68 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  inherited | 
Definition at line 71 of file Bankable/Abstract/MIDIRotaryEncoder.hpp.
      
  | 
  privateinherited | 
Definition at line 122 of file BankableMIDIOutput.hpp.
      
  | 
  protectedinherited | 
Definition at line 58 of file BankableMIDIOutput.hpp.
      
  | 
  staticconstexprprivateinherited | 
Definition at line 61 of file BankableMIDIOutput.hpp.
Definition at line 62 of file BankableMIDIOutput.hpp.
      
  | 
  staticprivateinherited | 
Definition at line 106 of file Updatable.hpp.
      
  | 
  protectedinherited | 
Definition at line 305 of file LinkedList.hpp.
      
  | 
  protectedinherited | 
Definition at line 306 of file LinkedList.hpp.
 1.8.16