Control Surface  1.2.0
MIDI Control Surface library for Arduino
Protected Attributes | Private Member Functions | List of all members
TrueMIDI_Sink Struct Referenceabstract

A MIDI_Sink that is not a MIDI_Pipe. More...

#include <MIDI_Interfaces/MIDI_Pipes.hpp>

+ Inheritance diagram for TrueMIDI_Sink:
+ Collaboration diagram for TrueMIDI_Sink:

Protected Attributes

MIDI_PipesourcePipe = nullptr
 

Private Member Functions

virtual void lockDownstream (cn_t cn, bool lock)
 Base case for recursive lock function. More...
 
virtual MIDI_SinkgetFinalSink ()
 Base case for recursive function. More...
 
void disconnectSourcePipesShallow ()
 Disconnect only the first pipe connected to this sink. More...
 

Sending data over a MIDI Pipe

virtual void sinkMIDIfromPipe (ChannelMessage)=0
 Accept an incoming MIDI Channel message. More...
 
virtual void sinkMIDIfromPipe (SysExMessage)=0
 Accept an incoming MIDI System Exclusive message. More...
 
virtual void sinkMIDIfromPipe (RealTimeMessage)=0
 Accept an incoming MIDI Real-Time message. More...
 

Connecting and disconnecting MIDI Pipes

void connectSourcePipe (MIDI_Pipe *source)
 Fully connect a source pipe to this sink. More...
 
void disconnectSourcePipes ()
 Disconnect all source pipes that sink to this sink (recursively). More...
 
bool disconnect (TrueMIDI_Source &source)
 Disconnect the given source from this sink. More...
 
bool hasSourcePipe () const
 Check if this sink is connected to a source pipe. More...
 

Detailed Description

A MIDI_Sink that is not a MIDI_Pipe.

Definition at line 217 of file MIDI_Pipes.hpp.

Member Function Documentation

◆ sinkMIDIfromPipe() [1/3]

virtual void sinkMIDIfromPipe ( ChannelMessage  )
pure virtualinherited

Accept an incoming MIDI Channel message.

Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.

◆ sinkMIDIfromPipe() [2/3]

virtual void sinkMIDIfromPipe ( SysExMessage  )
pure virtualinherited

Accept an incoming MIDI System Exclusive message.

Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.

◆ sinkMIDIfromPipe() [3/3]

virtual void sinkMIDIfromPipe ( RealTimeMessage  )
pure virtualinherited

Accept an incoming MIDI Real-Time message.

Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.

◆ connectSourcePipe()

void connectSourcePipe ( MIDI_Pipe source)
inherited

Fully connect a source pipe to this sink.

Definition at line 15 of file MIDI_Pipes.cpp.

◆ disconnectSourcePipes()

void disconnectSourcePipes ( )
inherited

Disconnect all source pipes that sink to this sink (recursively).

Definition at line 24 of file MIDI_Pipes.cpp.

◆ disconnect()

bool disconnect ( TrueMIDI_Source source)
inherited

Disconnect the given source from this sink.

Leaves other sources connected. Returns true if the source was found and disconnected, false if the given source was not a direct or indirect source to this sink.

Definition at line 39 of file MIDI_Pipes.cpp.

◆ hasSourcePipe()

bool hasSourcePipe ( ) const
inlineinherited

Check if this sink is connected to a source pipe.

Definition at line 94 of file MIDI_Pipes.hpp.

◆ lockDownstream()

virtual void lockDownstream ( cn_t  cn,
bool  lock 
)
inlineprivatevirtualinherited

Base case for recursive lock function.

See also
MIDI_Pipe::lockDownstream

Reimplemented in MIDI_Pipe.

Definition at line 105 of file MIDI_Pipes.hpp.

◆ getFinalSink()

virtual MIDI_Sink* getFinalSink ( )
inlineprivatevirtualinherited

Base case for recursive function.

See also
MIDI_Pipe::getFinalSink

Reimplemented in MIDI_Pipe.

Definition at line 108 of file MIDI_Pipes.hpp.

◆ disconnectSourcePipesShallow()

void disconnectSourcePipesShallow ( )
privateinherited

Disconnect only the first pipe connected to this sink.

Leaves the other pipes connected to the original pipe, which doesn't have a sink anymore when this function finishes. Used to disconnect a MIDI_Pipe while preserving the connections of its "through" inputs.

Definition at line 32 of file MIDI_Pipes.cpp.

Member Data Documentation

◆ sourcePipe

MIDI_Pipe* sourcePipe = nullptr
protectedinherited

Definition at line 117 of file MIDI_Pipes.hpp.


The documentation for this struct was generated from the following file: