Control Surface  1.2.0
MIDI Control Surface library for Arduino
Classes | Typedefs | Functions
MIDI_Pipes.hpp File Reference
#include <AH/Containers/BitArray.hpp>
#include <AH/STL/utility>
#include <AH/Settings/Warnings.hpp>
#include <MIDI_Parsers/MIDI_MessageTypes.hpp>
#include <Settings/NamespaceSettings.hpp>
+ Include dependency graph for MIDI_Pipes.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MIDI_Sink
 Class that can receive MIDI messages from a MIDI pipe. More...
 
class  MIDI_Source
 Class that can send MIDI messages to a MIDI pipe. More...
 
struct  TrueMIDI_Sink
 A MIDI_Sink that is not a MIDI_Pipe. More...
 
struct  TrueMIDI_Source
 A MIDI_Source that is not a MIDI_Pipe. More...
 
class  MIDI_Pipe
 Class that routes MIDI messages from a MIDI_Source to a MIDI_Sink. More...
 
struct  TrueMIDI_SinkSource
 A struct that is both a TrueMIDI_Sink and a TrueMIDI_Source. More...
 
struct  MIDI_PipeFactory< N, Pipe >
 Class that produces multiple MIDI_Pipes. More...
 

Typedefs

using cn_t = uint8_t
 Data type for cable numbers. More...
 
using BidirectionalMIDI_Pipe = std::pair< MIDI_Pipe, MIDI_Pipe >
 A bidirectional pipe consists of two unidirectional pipes. More...
 
template<size_t N>
using BidirectionalMIDI_PipeFactory = MIDI_PipeFactory< N, BidirectionalMIDI_Pipe >
 

Functions

MIDI_Pipeoperator>> (TrueMIDI_Source &source, MIDI_Pipe &pipe)
 Connect a source to a pipe (source >> pipe). More...
 
TrueMIDI_Sinkoperator>> (MIDI_Pipe &pipe, TrueMIDI_Sink &sink)
 Connect a pipe to a sink (pipe >> sink). More...
 
MIDI_Pipeoperator<< (TrueMIDI_Sink &sink, MIDI_Pipe &pipe)
 Connect a sink to a pipe (sink << pipe). More...
 
TrueMIDI_Sourceoperator<< (MIDI_Pipe &pipe, TrueMIDI_Source &source)
 Connect a pipe to a source (pipe << source). More...
 
TrueMIDI_SinkSourceoperator| (BidirectionalMIDI_Pipe &pipe, TrueMIDI_SinkSource &sinksource)
 Connect a pipe to a sink+source (pipe | source+sink). More...
 
BidirectionalMIDI_Pipeoperator| (TrueMIDI_SinkSource &sinksource, BidirectionalMIDI_Pipe &pipe)
 Connect a sink+source to a pipe (source+sink | pipe). More...
 
template<size_t N, class Pipe >
MIDI_Pipeoperator>> (TrueMIDI_Source &source, MIDI_PipeFactory< N, Pipe > &pipe_fact)
 
template<size_t N, class Pipe >
TrueMIDI_Sinkoperator>> (MIDI_PipeFactory< N, Pipe > &pipe_fact, TrueMIDI_Sink &sink)
 
template<size_t N, class Pipe >
MIDI_Pipeoperator<< (TrueMIDI_Sink &sink, MIDI_PipeFactory< N, Pipe > &pipe_fact)
 
template<size_t N, class Pipe >
TrueMIDI_Sourceoperator<< (MIDI_PipeFactory< N, Pipe > &pipe_fact, TrueMIDI_Source &source)
 
template<size_t N>
TrueMIDI_SinkSourceoperator| (BidirectionalMIDI_PipeFactory< N > &pipe_fact, TrueMIDI_SinkSource &sinksource)
 
template<size_t N>
BidirectionalMIDI_Pipeoperator| (TrueMIDI_SinkSource &sinksource, BidirectionalMIDI_PipeFactory< N > &pipe_fact)
 

Typedef Documentation

◆ cn_t

using cn_t = uint8_t

Data type for cable numbers.

Definition at line 14 of file MIDI_Pipes.hpp.