3#include <AH/STL/utility>
26template <
class Enc,
class BankAddress,
class Sender>
35 int16_t speedMultiply, uint8_t pulsesPerStep,
64template <
class BankAddress,
class Sender>
68template <
class BankAddress,
class Sender>
#define BEGIN_CS_NAMESPACE
std::enable_if< has_method_begin< T >::value >::type begin_if_possible(T &t)
Calls the begin() method of t if that method exists.
#define AH_DIAGNOSTIC_POP()
#define AH_DIAGNOSTIC_WERROR()
A super class for object that have to be updated regularly.
An abstract class for rotary encoders that send MIDI events and that can be added to a Bank.
int16_t getSpeedMultiply() const
void setSpeedMultiply(int16_t speedMultiply)
void update() override
Update this updatable.
void begin() override
Initialize this updatable.
GenericMIDIRotaryEncoder(BankAddress bankAddress, Enc &&encoder, int16_t speedMultiply, uint8_t pulsesPerStep, const Sender &sender)
Construct a new GenericMIDIRotaryEncoder.
Class to keep track of relative position changes of rotary encoders.
int16_t getSpeedMultiply() const
void setSpeedMultiply(int16_t speedMultiply)
int16_t update(Enc_t encval)
EncoderState< decltype(encoder.read())> encstate
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.