Control Surface  1.2.0
MIDI Control Surface library for Arduino
Bankable/CCRotaryEncoder.hpp
Go to the documentation of this file.
1 #pragma once
2 
6 
8 
9 namespace Bankable {
10 
25  : public MIDIRotaryEncoder<SingleAddress, RelativeCCSender> {
26  public:
58  MIDIAddress address, int8_t speedMultiply = 1,
59  uint8_t pulsesPerStep = 4)
60  : MIDIRotaryEncoder({config, address}, pins, speedMultiply,
61  pulsesPerStep, {}) {}
62 
63 // For tests only (PJRC Encoder library's copy constructor doesn't work)
64 #ifndef ARDUINO
65  CCRotaryEncoder(OutputBankConfig<> config, const Encoder &encoder,
66  MIDIAddress address, int8_t speedMultiply = 1,
67  uint8_t pulsesPerStep = 4)
69  pulsesPerStep, {}) {}
70 #endif
71 };
72 
73 } // namespace Bankable
74 
MIDIAddress
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Definition: MIDIAddress.hpp:91
MIDIRotaryEncoder
An abstract class for rotary encoders that send MIDI events.
Definition: Abstract/MIDIRotaryEncoder.hpp:19
MIDIRotaryEncoder.hpp
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition: BankAddresses.hpp:7
Bankable::MIDIRotaryEncoder< SingleAddress, RelativeCCSender >::speedMultiply
const uint8_t speedMultiply
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:63
Bankable::MIDIRotaryEncoder< SingleAddress, RelativeCCSender >::encoder
Encoder encoder
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:62
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:9
BankAddresses.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:10
Bankable::MIDIRotaryEncoder< SingleAddress, RelativeCCSender >::pulsesPerStep
const uint8_t pulsesPerStep
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:64
Bankable::MIDIRotaryEncoder
An abstract class for rotary encoders that send MIDI events and that can be added to a Bank.
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:23
EncoderPinList
A struct for the pins of a rotary (quadrature) encoder without a switch.
Definition: Def.hpp:44
RelativeCCSender.hpp
Bankable::MIDIRotaryEncoder< SingleAddress, RelativeCCSender >::address
SingleAddress address
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:61
Bankable::CCRotaryEncoder
A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relat...
Definition: Bankable/CCRotaryEncoder.hpp:25
OutputBankConfig
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
Definition: BankConfig.hpp:76
Bankable::CCRotaryEncoder::CCRotaryEncoder
CCRotaryEncoder(OutputBankConfig<> config, EncoderPinList pins, MIDIAddress address, int8_t speedMultiply=1, uint8_t pulsesPerStep=4)
Construct a new Bankable CCRotaryEncoder object with the given pins, controller, channel,...
Definition: Bankable/CCRotaryEncoder.hpp:57