This is an old version of the documentation. View the latest version here.
Control Surface  1.0.0
MIDI Control Surface library for Arduino
Bankable/CCRotaryEncoder.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
7 
8 namespace Bankable {
9 
23 class CCRotaryEncoder : public MIDIRotaryEncoder<RelativeCCSender> {
24  public:
57  CCRotaryEncoder(const OutputBankConfig &config, const EncoderPinList &pins,
59  uint8_t speedMultiplier, uint8_t pulsesPerStep,
60  const RelativeCCSender &sender = {})
61  : MIDIRotaryEncoder(config, pins, address, speedMultiplier,
63 
64 // For tests only (PJRC Encoder library's copy constructor doesn't work)
65 #ifndef ARDUINO
66  CCRotaryEncoder(const OutputBankConfig &config, const Encoder &encoder,
68  uint8_t speedMultiplier = 1, uint8_t pulsesPerStep = 4,
69  const RelativeCCSender &sender = {})
70  : MIDIRotaryEncoder(config, encoder, address, speedMultiplier,
72 #endif
73 };
74 
75 } // namespace Bankable
76 
Bankable::MIDIRotaryEncoder< RelativeCCSender >::encoder
Encoder encoder
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:65
MIDIRotaryEncoder.hpp
Bankable::MIDIRotaryEncoder< RelativeCCSender >::MIDIRotaryEncoder
MIDIRotaryEncoder(const OutputBankConfig &config, const EncoderPinList &pins, const MIDICNChannelAddress &address, uint8_t speedMultiply, uint8_t pulsesPerStep, const RelativeCCSender &sender)
Construct a new MIDIRotaryEncoder.
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:31
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< RelativeCCSender >::sender
RelativeCCSender sender
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:72
Bankable::MIDIRotaryEncoder< RelativeCCSender >::pulsesPerStep
const uint8_t pulsesPerStep
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:68
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: NamespaceSettings.hpp:9
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:24
MIDICNChannelAddress
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
Definition: MIDICNChannelAddress.hpp:82
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: NamespaceSettings.hpp:10
Bankable::CCRotaryEncoder::CCRotaryEncoder
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,...
Definition: Bankable/CCRotaryEncoder.hpp:57
RelativeCCSender.hpp
EncoderPinList
A struct for the pins of a rotary (quadrature) encoder without a switch.
Definition: Def.hpp:57
RelativeCCSender
Definition: RelativeCCSender.hpp:65
Bankable::MIDIRotaryEncoder< RelativeCCSender >::address
const MIDICNChannelAddress address
Definition: Bankable/Abstract/MIDIRotaryEncoder.hpp:66
Bankable::CCRotaryEncoder
A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out relat...
Definition: Bankable/CCRotaryEncoder.hpp:23
OutputBankConfig
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
Definition: BankConfig.hpp:50