Control Surface main
MIDI Control Surface library for Arduino
Loading...
Searching...
No Matches
BankConfig.hpp
Go to the documentation of this file.
1/* ✔ */
2
3#pragma once
4
5#include <Def/Def.hpp>
6
8
18 CHANGE_ADDRESS CS_DEPREC("Use ChangeAddress instead") = ChangeAddress,
23 CHANGE_CHANNEL CS_DEPREC("Use ChangeChannel instead") = ChangeChannel,
28 CHANGE_CABLENB CS_DEPREC("Use ChangeCable instead") = ChangeCable,
29};
30
31template <setting_t NumBanks>
32class Bank;
33class OutputBank;
34
35template <BankType DefaultBankType>
36struct OutputBankConfig;
37
42template <setting_t N>
44 protected:
46
47 public:
50};
51
53template <setting_t N, BankType DefaultBankType = BankType::ChangeAddress>
55 BankConfig(Bank<N> &bank, BankType type = DefaultBankType)
56 : BaseBankConfig<N>(bank, type) {}
57};
58
64 protected:
67
68 public:
69 template <setting_t N>
71 : bank(config.bank), type(config.type) {}
72
75};
76
78template <BankType DefaultBankType = BankType::ChangeAddress>
83
BankType
An enumeration of the different bank types.
@ ChangeAddress
Change the offset of the address (i.e.
@ CHANGE_CHANNEL
@ CHANGE_CABLENB
@ CHANGE_ADDRESS
@ ChangeCable
Change the offset of the cable number of the element.
@ ChangeChannel
Change the offset of the channel number of the element.
#define CS_DEPREC(...)
#define END_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
A class that groups Bankable MIDI Output Elements and Bankable MIDI Input Elements,...
Definition Bank.hpp:94
A struct for selecting the bank of BankableMIDIInputs and the bank type.
BaseBankConfig(Bank< N > &bank, BankType type)
const BankType type
Bank< N > & bank
A struct for selecting the bank of BankableMIDIOutputs and the bank type.
BaseOutputBankConfig(BaseBankConfig< N > config)
BaseOutputBankConfig(OutputBank &bank, BankType type)
const BankType type
A class for changing the address of BankableMIDIOutputs.
Definition Bank.hpp:16
BankConfig(Bank< N > &bank, BankType type=DefaultBankType)
OutputBankConfig(OutputBank &bank, BankType type=DefaultBankType)