Control Surface  1.2.0
MIDI Control Surface library for Arduino
ManyAddresses/PBPotentiometer.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include <AH/Containers/ArrayHelpers.hpp>
10 
12 
13 namespace Bankable {
14 namespace ManyAddresses {
15 
34 template <setting_t NumBanks>
36  : public Bankable::MIDIFilteredAnalog<ManyAddresses<NumBanks>,
37  PitchBendSender<10>> {
38  public:
51  PBPotentiometer(const Bank<NumBanks> &bank, pin_t analogPin,
52  const Array<MIDIChannelCN, NumBanks> &addresses)
54  {bank, AH::copyAs<MIDIAddress>(addresses)}, analogPin, {}} {}
55 };
56 
57 } // namespace ManyAddresses
58 } // namespace Bankable
59 
61 
Bank
A class that groups Bankable BankableMIDIOutputs and BankableMIDIInputs, and allows the user to chang...
Definition: Bank.hpp:75
Warnings.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::ManyAddresses::ManyAddresses
Definition: BankAddresses.hpp:106
Bankable::MIDIFilteredAnalog
A class for potentiometers and faders that send MIDI events (with only a channel, no address) and tha...
Definition: Bankable/Abstract/MIDIFilteredAnalog.hpp:93
AH::pin_t
uint16_t pin_t
The type for Arduino pins (and ExtendedIOElement pins).
Definition: Hardware-Types.hpp:17
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:9
AH_DIAGNOSTIC_POP
#define AH_DIAGNOSTIC_POP()
Definition: Warnings.hpp:36
BankAddresses.hpp
PitchBendSender
Class that sends continuous MIDI pitch bend messages with a resolution of 14 bits.
Definition: PitchBendSender.hpp:20
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:10
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36
PitchBendSender.hpp
MIDIFilteredAnalog.hpp
Bankable::ManyAddresses::PBPotentiometer
A class of MIDIOutputElements that read the analog input from a potentiometer or fader,...
Definition: ManyAddresses/PBPotentiometer.hpp:37
AH_DIAGNOSTIC_WERROR
#define AH_DIAGNOSTIC_WERROR()
Definition: Warnings.hpp:35
Bankable::ManyAddresses::PBPotentiometer::PBPotentiometer
PBPotentiometer(const Bank< NumBanks > &bank, pin_t analogPin, const Array< MIDIChannelCN, NumBanks > &addresses)
Create a new Bankable PBPotentiometer object with the given analog pin and channel.
Definition: ManyAddresses/PBPotentiometer.hpp:51