Control Surface
2.1.2
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Outputs
ManyAddresses
ManyAddresses/PBAbsoluteEncoder.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
AH/Containers/ArrayHelpers.hpp
>
4
#include <
Banks/BankAddresses.hpp
>
5
#include <
MIDI_Outputs/Bankable/Abstract/MIDIAbsoluteEncoder.hpp
>
6
#include <
MIDI_Senders/PitchBendSender.hpp
>
7
8
BEGIN_CS_NAMESPACE
9
10
namespace
Bankable
{
11
namespace
ManyAddresses
{
12
26
template
<
size_t
NumBanks>
27
class
PBAbsoluteEncoder
28
:
public
MIDIAbsoluteEncoder
<NumBanks, ManyAddresses<NumBanks>,
29
PitchBendSender<14>> {
30
public
:
59
PBAbsoluteEncoder
(
const
Bank<NumBanks>
&bank,
AHEncoder
&&
encoder
,
60
const
Array<MIDIChannelCable, NumBanks>
&addresses,
61
int16_t speedMultiply = 1, uint8_t pulsesPerStep = 4)
62
:
MIDIAbsoluteEncoder
<NumBanks,
ManyAddresses
<NumBanks>,
63
PitchBendSender
<14>>(
64
{bank,
AH::copyAs<MIDIAddress>
(addresses)}, std::move(
encoder
),
65
speedMultiply, pulsesPerStep, {}) {}
66
};
67
68
}
// namespace ManyAddresses
69
}
// namespace Bankable
70
71
END_CS_NAMESPACE
ArrayHelpers.hpp
BankAddresses.hpp
MIDIAbsoluteEncoder.hpp
PitchBendSender.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:14
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:11
AHEncoder
Class for reading quadrature encoders, heavily influenced by http://www.pjrc.com/teensy/td_libs_Encod...
Definition
AHEncoder.hpp:24
Bank
A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements,...
Definition
Bank.hpp:94
Bankable::GenericMIDIAbsoluteEncoder< AHEncoder, NumBanks, BankAddress, Sender >::encoder
AHEncoder encoder
Definition
Bankable/Abstract/MIDIAbsoluteEncoder.hpp:91
Bankable::ManyAddresses::ManyAddresses
Definition
BankAddresses.hpp:106
Bankable::ManyAddresses::PBAbsoluteEncoder::PBAbsoluteEncoder
PBAbsoluteEncoder(const Bank< NumBanks > &bank, AHEncoder &&encoder, const Array< MIDIChannelCable, NumBanks > &addresses, int16_t speedMultiply=1, uint8_t pulsesPerStep=4)
Construct a new Bankable PBAbsoluteEncoder object with the given pins, channel, speed factor,...
Definition
ManyAddresses/PBAbsoluteEncoder.hpp:59
PitchBendSender
Class that sends continuous MIDI pitch bend messages with a resolution of 14 bits.
Definition
PitchBendSender.hpp:20
AH::copyAs
Array< T, N > copyAs(const Array< U, N > &src)
Copy an Array to an Array of a different type.
Definition
ArrayHelpers.hpp:105
Bankable::ManyAddresses
Definition
BankAddresses.hpp:99
Bankable
A namespace for MIDI elements that can be added to a Bank, to change their address or channel.
Definition
BankAddresses.hpp:7
Bankable::MIDIAbsoluteEncoder
GenericMIDIAbsoluteEncoder< AHEncoder, NumBanks, BankAddress, Sender > MIDIAbsoluteEncoder
Definition
Bankable/Abstract/MIDIAbsoluteEncoder.hpp:103
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition
Array.hpp:32
Generated by
1.17.0