Control Surface master
MIDI Control Surface library for Arduino
ManyAddresses/CCAbsoluteEncoder.hpp
Go to the documentation of this file.
1#pragma once
2
6
8
9namespace Bankable {
10namespace ManyAddresses {
11
25template <size_t NumBanks>
27 : public MIDIAbsoluteEncoder<NumBanks, ManyAddresses<NumBanks>,
28 ContinuousCCSender> {
29 public:
61 const Array<MIDIAddress, NumBanks> &addresses,
62 int16_t speedMultiply = 1, uint8_t pulsesPerStep = 4)
63 : MIDIAbsoluteEncoder<NumBanks, ManyAddresses<NumBanks>,
65 {bank, addresses}, std::move(encoder), speedMultiply,
66 pulsesPerStep, {}) {}
67};
68
69} // namespace ManyAddresses
70} // namespace Bankable
71
#define END_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements,...
Definition: Bank.hpp:91
An abstract class for rotary encoders that send absolute MIDI events.
A class of MIDIOutputElements that read the input of a quadrature (rotary) encoder and send out absol...
CCAbsoluteEncoder(const Bank< NumBanks > &bank, Encoder &&encoder, const Array< MIDIAddress, NumBanks > &addresses, int16_t speedMultiply=1, uint8_t pulsesPerStep=4)
Construct a new Bankable CCAbsoluteEncoder object with the given pins, controller,...
Class that sends continuous MIDI control change messages with a resolution of 7 bits.
Class for reading quadrature encoders, based on http://www.pjrc.com/teensy/td_libs_Encoder....
Definition: Encoder.h:59
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
remove_reference< T >::type && move(T &&t)
Definition: move.h:16
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36