Class that can receive MIDI messages from a MIDI pipe. More...
#include <MIDI_Interfaces/MIDI_Pipes.hpp>
 Inheritance diagram for MIDI_Sink:
 Collaboration diagram for MIDI_Sink:Public Member Functions | |
| MIDI_Sink ()=default | |
| Default constructor.  More... | |
| MIDI_Sink (const MIDI_Sink &)=delete | |
| Copy constructor (copying not allowed).  More... | |
| MIDI_Sink & | operator= (const MIDI_Sink &)=delete | 
| Copy assignment (copying not allowed).  More... | |
| MIDI_Sink (MIDI_Sink &&other) | |
| Move constructor.  More... | |
| MIDI_Sink & | operator= (MIDI_Sink &&other) | 
| Move assignment.  More... | |
| virtual | ~MIDI_Sink () | 
| Destructor.  More... | |
Protected Attributes | |
| MIDI_Pipe * | sourcePipe = 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... | |
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... | |
Class that can receive MIDI messages from a MIDI pipe.
Definition at line 51 of file MIDI_Pipes.hpp.
      
  | 
  default | 
Default constructor.
Move constructor.
Definition at line 47 of file MIDI_Pipes.cpp.
      
  | 
  virtual | 
Destructor.
Definition at line 45 of file MIDI_Pipes.cpp.
Move assignment.
Definition at line 55 of file MIDI_Pipes.cpp.
      
  | 
  pure virtual | 
Accept an incoming MIDI Channel message.
Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.
      
  | 
  pure virtual | 
Accept an incoming MIDI System Exclusive message.
Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.
      
  | 
  pure virtual | 
Accept an incoming MIDI Real-Time message.
Implemented in MIDI_Interface, MIDI_Pipe, and Control_Surface_.
| void connectSourcePipe | ( | MIDI_Pipe * | source | ) | 
Fully connect a source pipe to this sink.
Definition at line 15 of file MIDI_Pipes.cpp.
| void disconnectSourcePipes | ( | ) | 
Disconnect all source pipes that sink to this sink (recursively).
Definition at line 24 of file MIDI_Pipes.cpp.
| bool disconnect | ( | TrueMIDI_Source & | source | ) | 
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.
      
  | 
  inline | 
Check if this sink is connected to a source pipe.
Definition at line 94 of file MIDI_Pipes.hpp.
      
  | 
  inlineprivatevirtual | 
Base case for recursive lock function.
Reimplemented in MIDI_Pipe.
Definition at line 105 of file MIDI_Pipes.hpp.
      
  | 
  inlineprivatevirtual | 
Base case for recursive function.
Reimplemented in MIDI_Pipe.
Definition at line 108 of file MIDI_Pipes.hpp.
      
  | 
  private | 
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.
      
  | 
  protected | 
Definition at line 117 of file MIDI_Pipes.hpp.