A struct that is both a TrueMIDI_Sink and a TrueMIDI_Source. More...
#include <MIDI_Interfaces/MIDI_Pipes.hpp>
Protected Attributes | |
MIDI_Pipe * | sourcePipe = nullptr |
MIDI_Pipe * | sinkPipe = nullptr |
Private Member Functions | |
virtual void | lockDownstream (cn_t cn, bool lock) |
Base case for recursive lock function. More... | |
virtual MIDI_Sink * | getFinalSink () |
Base case for recursive function. More... | |
void | disconnectSourcePipesShallow () |
Disconnect only the first pipe connected to this sink. More... | |
virtual MIDI_Source * | getInitialSource () |
Base case for recursive function. More... | |
void | disconnectSinkPipesShallow () |
Disconnect only the first pipe connected to this source. 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... | |
Sending data over a MIDI Pipe | |
void | sourceMIDItoPipe (ChannelMessage) |
Send a MIDI Channel Message. More... | |
void | sourceMIDItoPipe (SysExMessage) |
Send a MIDI System Exclusive message. More... | |
void | sourceMIDItoPipe (RealTimeMessage) |
Send a MIDI Real-Time message. More... | |
void | exclusive (cn_t cn, bool exclusive=true) |
Enter or exit exclusive mode for the given cable number. More... | |
bool | canWrite (cn_t cn) const |
Check if this source can write to the sinks it connects to. More... | |
Connecting and disconnecting MIDI Pipes | |
void | connectSinkPipe (MIDI_Pipe *sink) |
Fully connect a sink pipe to this source. More... | |
void | disconnectSinkPipes () |
Disconnect all sink pipes that this source sinks to (recursively). More... | |
bool | disconnect (TrueMIDI_Sink &sink) |
Disconnect the given sink from this source. More... | |
bool | hasSinkPipe () const |
Check if this source is connected to a sink pipe. More... | |
A struct that is both a TrueMIDI_Sink and a TrueMIDI_Source.
Definition at line 501 of file MIDI_Pipes.hpp.
|
pure virtualinherited |
Accept an incoming MIDI Channel message.
Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.
|
pure virtualinherited |
Accept an incoming MIDI System Exclusive message.
Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.
|
pure virtualinherited |
Accept an incoming MIDI Real-Time message.
Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.
|
inherited |
Fully connect a source pipe to this sink.
Definition at line 15 of file MIDI_Pipes.cpp.
|
inherited |
Disconnect all source pipes that sink to this sink (recursively).
Definition at line 24 of file MIDI_Pipes.cpp.
|
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.
|
inlineinherited |
Check if this sink is connected to a source pipe.
Definition at line 94 of file MIDI_Pipes.hpp.
|
inlineprivatevirtualinherited |
Base case for recursive lock function.
Reimplemented in MIDI_Pipe.
Definition at line 105 of file MIDI_Pipes.hpp.
|
inlineprivatevirtualinherited |
Base case for recursive function.
Reimplemented in MIDI_Pipe.
Definition at line 108 of file MIDI_Pipes.hpp.
|
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.
|
inherited |
Send a MIDI Channel Message.
Definition at line 132 of file MIDI_Pipes.cpp.
|
inherited |
Send a MIDI System Exclusive message.
Definition at line 137 of file MIDI_Pipes.cpp.
|
inherited |
Send a MIDI Real-Time message.
Definition at line 142 of file MIDI_Pipes.cpp.
|
inherited |
Enter or exit exclusive mode for the given cable number.
This means that this becomes the only source that can sink to the sinks connected to this source. Other sources have to wait until this source exits exclusive mode until they can send again.
cn | Cable number to set the exclusive mode for [0, 15]. |
exclusive | True to enable exclusive mode, false to disable. |
Definition at line 123 of file MIDI_Pipes.cpp.
|
inherited |
Check if this source can write to the sinks it connects to.
Returns false if any of the sinks have another source that is in exclusive mode.
cn | Cable number to check [0, 15]. |
Definition at line 128 of file MIDI_Pipes.cpp.
|
inherited |
Fully connect a sink pipe to this source.
Definition at line 70 of file MIDI_Pipes.cpp.
|
inherited |
Disconnect all sink pipes that this source sinks to (recursively).
Definition at line 79 of file MIDI_Pipes.cpp.
|
inherited |
Disconnect the given sink from this source.
Leaves other sinks connected. Returns true if the sink was found and disconnected, false if the given sink was not a direct or indirect sink of this source.
Definition at line 94 of file MIDI_Pipes.cpp.
|
inlineinherited |
Check if this source is connected to a sink pipe.
Definition at line 189 of file MIDI_Pipes.hpp.
|
inlineprivatevirtualinherited |
Base case for recursive function.
Reimplemented in MIDI_Pipe.
Definition at line 200 of file MIDI_Pipes.hpp.
|
privateinherited |
Disconnect only the first pipe connected to this source.
Leaves the other pipes connected to the original pipe, which doesn't have a source anymore when this function finishes. Used to disconnect a MIDI_Pipe while preserving the connections of its "through" outputs.
Definition at line 87 of file MIDI_Pipes.cpp.
|
protectedinherited |
Definition at line 117 of file MIDI_Pipes.hpp.
|
protectedinherited |
Definition at line 209 of file MIDI_Pipes.hpp.