Deluge Firmware
1.3.0
Build date: 2025.06.05
Loading...
Searching...
No Matches
din.h
1
/*
2
* Copyright © 2024 Synthstrom Audible Limited
3
*
4
* This file is part of The Synthstrom Audible Deluge Firmware.
5
*
6
* The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7
* terms of the GNU General Public License as published by the Free Software Foundation,
8
* either version 3 of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
* See the GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along with this program.
15
* If not, see <https://www.gnu.org/licenses/>.
16
*/
17
18
#pragma once
19
20
#include "io/midi/cable_types/din.h"
21
#include "io/midi/midi_root_complex.h"
22
#include <array>
23
24
class
DINRootComplex :
public
MIDIRootComplex {
25
private
:
26
public
:
28
MIDICableDINPorts
cable
;
29
30
DINRootComplex();
31
~DINRootComplex()
override
;
32
33
[[nodiscard]] RootComplexType getType()
const override
{
return
RootComplexType::RC_DIN; };
34
35
[[nodiscard]]
size_t
getNumCables()
const override
{
return
1; }
36
[[nodiscard]] MIDICable* getCable(
size_t
cableIdx)
override
{
return
(cableIdx == 0) ? &
cable
:
nullptr
; }
37
38
void
flush
()
override
;
39
[[nodiscard]] Error
poll
()
override
;
40
};
DINRootComplex::cable
MIDICableDINPorts cable
The one and only DIN cable connection.
Definition
din.h:28
DINRootComplex::flush
void flush() override
Flush as much data as possible from any internal buffers to hardware queues.
Definition
din.cpp:31
DINRootComplex::poll
Error poll() override
Poll the root complex, calling back in to the MIDI engine for any new messages.
Definition
din.cpp:35
MIDICableDINPorts
Definition
din.h:22