A class for MIDI input elements that represent Mackie Control Universal V-Pots. More...
#include <VPotRing.hpp>
Public Member Functions | |
| VPotRing (uint8_t track, const MIDICNChannel &channelCN=CHANNEL_1) | |
| void | begin () override | 
| Initialize.  More... | |
| void | reset () override | 
| Reset all values to zero.  More... | |
| virtual void | update () | 
| Update the value of the input element. Used for decaying VU meters etc.  More... | |
| bool | updateWith (const ChannelMessageMatcher &midimsg) | 
| Receive a new MIDI message and update the internal state.  More... | |
| uint8_t | getPosition () const | 
| Return the position of the V-Pot ring. [0, 11].  More... | |
| bool | getCenterLed () const | 
| Return the status of the center LED of the V-Pot ring.  More... | |
| uint8_t | getMode () const | 
| Return the mode of the V-Pot ring: 0 = single dot, 1 = boost/cut, 2 = wrap, 3 = spread.  More... | |
| uint8_t | getStartOn () const | 
| Get the first segment that should be on.  More... | |
| uint8_t | getStartOff () const | 
| Get the first segment that should be off.  More... | |
Static Public Member Functions | |
| static void | beginAll () | 
| Initialize all MIDIInputElementCC elements.  More... | |
| static void | updateAll () | 
| Update all MIDIInputElementCC elements.  More... | |
| static void | resetAll () | 
| Reset all MIDIInputElementCC elements to their initial state.  More... | |
| static void | updateAllWith (const ChannelMessageMatcher &midimsg) | 
| Update all MIDIInputElementCC elements with a new MIDI message.  More... | |
Public Attributes | |
| VPotEmptyCallback | callback | 
Static Protected Member Functions | |
| static uint8_t | sanitizeValue (uint8_t value) | 
| Make sure that the received value is valid and will not result in array out of bounds conditions.  More... | |
Protected Attributes | |
| const MIDICNChannelAddress | address | 
| MIDIInputElementCC * | next | 
| MIDIInputElementCC * | previous | 
Private Member Functions | |
| bool | updateImpl (const ChannelMessageMatcher &midimsg, const MIDICNChannelAddress &target) override | 
| Update the internal state with the new MIDI message.  More... | |
| uint8_t | getValue () const override | 
| virtual uint8_t | getSelection () const | 
| Get the active bank selection.  More... | |
| virtual setting_t | getBankIndex (const MIDICNChannelAddress &target) const | 
| Get the bank index from a MIDI address.  More... | |
| void | moveDown () | 
| Move down this element in the linked list of elements.  More... | |
| virtual MIDICNChannelAddress | getTarget (const ChannelMessageMatcher &midimsg) const | 
| Extract the target address from a MIDI message.  More... | |
| virtual bool | match (const MIDICNChannelAddress &target) const | 
| Check if the address of the incoming MIDI message matches an address of this element.  More... | |
Static Private Member Functions | |
| static uint8_t | getPosition (uint8_t value) | 
| Extract the position from the raw value.  More... | |
| static bool | getCenterLed (uint8_t value) | 
| Extract the center LED state from the raw value.  More... | |
| static uint8_t | getMode (uint8_t value) | 
| Extract the mode from the raw value.  More... | |
Private Attributes | |
| Array< uint8_t, NumValues > | values | 
Static Private Attributes | |
| static DoublyLinkedList< MIDIInputElementCC > | elements | 
A class for MIDI input elements that represent Mackie Control Universal V-Pots.
 This version cannot be banked. 
Definition at line 157 of file VPotRing.hpp.
      
  | 
  inline | 
Definition at line 159 of file VPotRing.hpp.
      
  | 
  inlineoverridevirtualinherited | 
      
  | 
  inlineoverridevirtualinherited | 
Reset all values to zero.
Reimplemented from MIDIInputElement.
Definition at line 95 of file VPotRing.hpp.
      
  | 
  inlinestaticprotectedinherited | 
Make sure that the received value is valid and will not result in array out of bounds conditions.
Definition at line 105 of file VPotRing.hpp.
      
  | 
  inlineoverrideprivatevirtualinherited | 
Update the internal state with the new MIDI message.
Implements MIDIInputElement.
Definition at line 110 of file VPotRing.hpp.
      
  | 
  inlineoverrideprivatevirtualinherited | 
Implements MCU::IVPotRing.
Definition at line 118 of file VPotRing.hpp.
      
  | 
  inlineprivatevirtualinherited | 
Get the active bank selection.
Definition at line 121 of file VPotRing.hpp.
      
  | 
  inlineprivatevirtualinherited | 
Get the bank index from a MIDI address.
Definition at line 124 of file VPotRing.hpp.
      
  | 
  inlinestaticinherited | 
Initialize all MIDIInputElementCC elements.
Definition at line 50 of file MIDIInputElementCC.hpp.
      
  | 
  inlinestaticinherited | 
Update all MIDIInputElementCC elements.
Definition at line 58 of file MIDIInputElementCC.hpp.
      
  | 
  inlinestaticinherited | 
Reset all MIDIInputElementCC elements to their initial state.
Definition at line 66 of file MIDIInputElementCC.hpp.
      
  | 
  inlinestaticinherited | 
Update all MIDIInputElementCC elements with a new MIDI message.
Definition at line 74 of file MIDIInputElementCC.hpp.
      
  | 
  inlineprivateinherited | 
Move down this element in the linked list of elements.
This means that the element will be checked earlier on the next iteration.
Definition at line 92 of file MIDIInputElementCC.hpp.
      
  | 
  inlinevirtualinherited | 
Update the value of the input element. Used for decaying VU meters etc.
Reimplemented in MCU::VU_Base< NumValues, Callback >, MCU::VU_Base< NumBanks, Callback >, MCU::VU_Base< NumBanks, VULEDsCallback< NumLEDs > >, MCU::VU_Base< NumBanks, VUEmptyCallback >, MCU::VU_Base< 1, VUEmptyCallback >, MCU::VU_Base< 1, VULEDsCallback< NumLEDs > >, and MCU::VU_Base< 1, Callback >.
Definition at line 36 of file MIDIInputElement.hpp.
      
  | 
  inlineinherited | 
Receive a new MIDI message and update the internal state.
Definition at line 39 of file MIDIInputElement.hpp.
      
  | 
  inlineprivatevirtualinherited | 
Extract the target address from a MIDI message.
Reimplemented in MCU::VU_Base< NumValues, Callback >, MCU::VU_Base< NumBanks, Callback >, MCU::VU_Base< NumBanks, VULEDsCallback< NumLEDs > >, MCU::VU_Base< NumBanks, VUEmptyCallback >, MCU::VU_Base< 1, VUEmptyCallback >, MCU::VU_Base< 1, VULEDsCallback< NumLEDs > >, MCU::VU_Base< 1, Callback >, MIDIInputElementChannelPressure, and MIDIInputElementPC.
Definition at line 64 of file MIDIInputElement.hpp.
      
  | 
  inlineprivatevirtualinherited | 
Check if the address of the incoming MIDI message matches an address of this element.
Reimplemented in MCU::Bankable::GenericVU< NumBanks, Callback >, MCU::Bankable::GenericVU< NumBanks >, MCU::Bankable::GenericVU< NumBanks, VULEDsCallback< NumLEDs > >, MCU::Bankable::GenericVPotRing< NumBanks, Callback >, MCU::Bankable::GenericVPotRing< NumBanks >, MCU::Bankable::GenericVPotRing< NumBanks, VPotRingLEDsCallback >, Bankable::GenericNoteCCRange< MIDIInputElementNote, 1, BankSize, NoteCCFastLED< ColorMapper > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, 1, NumBanks >, Bankable::GenericNoteCCRange< MIDIInputElementNote, RangeLen, BankSize, NoteCCFastLED< ColorMapper > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, RangeLen, BankSize, NoteCCFastLED< ColorMapper > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, 1, BankSize, NoteCCLED< 1 > >, Bankable::GenericNoteCCRange< MIDIInputElementNote, RangeLen, BankSize, NoteCCLED< RangeLen > >, Bankable::GenericNoteCCRange< MIDIInputElementNote, RangeLen, NumBanks >, Bankable::GenericNoteCCRange< MIDIInputElementNote, 1, NumBanks >, Bankable::GenericNoteCCRange< MIDIInputElementNote, 1, BankSize, NoteCCLEDBarCallback< NumLEDs > >, Bankable::GenericNoteCCRange< MIDIInputElementNote, 1, BankSize, NoteCCLED< 1 > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, 1, BankSize, NoteCCFastLED< ColorMapper > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, 1, BankSize, NoteCCLEDBarCallback< NumLEDs > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, RangeLen, BankSize, NoteCCLED< RangeLen > >, Bankable::GenericNoteCCRange< MIDIInputElementCC, RangeLen, NumBanks >, GenericNoteCCRange< MIDIInputElementCC, RangeLen, NoteCCFastLED< ColorMapper > >, GenericNoteCCRange< MIDIInputElementCC, 1, NoteCCLED< 1 > >, GenericNoteCCRange< MIDIInputElementNote, RangeLen >, GenericNoteCCRange< MIDIInputElementNote, 1, NoteCCLED< 1 > >, GenericNoteCCRange< MIDIInputElementNote, 1, NoteCCFastLED< ColorMapper > >, GenericNoteCCRange< MIDIInputElementNote, RangeLen, NoteCCLED< RangeLen > >, GenericNoteCCRange< MIDIInputElementNote, RangeLen, NoteCCFastLED< ColorMapper > >, GenericNoteCCRange< MIDIInputElementCC, 1 >, GenericNoteCCRange< MIDIInputElementCC, 1, NoteCCLEDBarCallback< NumLEDs > >, GenericNoteCCRange< MIDIInputElementCC, RangeLen, NoteCCLED< RangeLen > >, GenericNoteCCRange< MIDIInputElementNote, 1, NoteCCLEDBarCallback< NumLEDs > >, GenericNoteCCRange< MIDIInputElementNote, 1 >, GenericNoteCCRange< MIDIInputElementCC, RangeLen >, GenericNoteCCRange< MIDIInputElementCC, 1, NoteCCFastLED< ColorMapper > >, MCU::SevenSegmentDisplay< LENGTH >, MCU::SevenSegmentDisplay< AssignmentDisplayLength >, and MCU::SevenSegmentDisplay< TimeDisplayLength >.
Definition at line 75 of file MIDIInputElement.hpp.
      
  | 
  inlineinherited | 
Return the position of the V-Pot ring. [0, 11].
Definition at line 32 of file VPotRing.hpp.
      
  | 
  inlinestaticprivateinherited | 
Extract the position from the raw value.
Definition at line 72 of file VPotRing.hpp.
      
  | 
  inlineinherited | 
Return the status of the center LED of the V-Pot ring.
Definition at line 34 of file VPotRing.hpp.
      
  | 
  inlinestaticprivateinherited | 
Extract the center LED state from the raw value.
Definition at line 77 of file VPotRing.hpp.
      
  | 
  inlineinherited | 
Return the mode of the V-Pot ring: 0 = single dot, 1 = boost/cut, 2 = wrap, 3 = spread.
Definition at line 37 of file VPotRing.hpp.
      
  | 
  inlinestaticprivateinherited | 
Extract the mode from the raw value.
Definition at line 79 of file VPotRing.hpp.
      
  | 
  inlineinherited | 
Get the first segment that should be on.
Definition at line 40 of file VPotRing.hpp.
      
  | 
  inlineinherited | 
Get the first segment that should be off.
Definition at line 56 of file VPotRing.hpp.
      
  | 
  privateinherited | 
Definition at line 129 of file VPotRing.hpp.
      
  | 
  inherited | 
Definition at line 132 of file VPotRing.hpp.
      
  | 
  staticprivateinherited | 
Definition at line 97 of file MIDIInputElementCC.hpp.
      
  | 
  protectedinherited | 
Definition at line 80 of file MIDIInputElement.hpp.
      
  | 
  protectedinherited | 
Definition at line 305 of file LinkedList.hpp.
      
  | 
  protectedinherited | 
Definition at line 306 of file LinkedList.hpp.
 1.8.16