tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_HostedMidiInputDeviceNode.h
Go to the documentation of this file.
1 /*
2 ,--. ,--. ,--. ,--.
3 ,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4 '-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5 | | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6 `---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8 Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9*/
10
11namespace tracktion { inline namespace engine
12{
13
20{
21public:
23 MidiInputDevice&, MidiMessageArray::MPESourceID,
27
30 bool isReadyToProcess() override;
31 void process (ProcessContext&) override;
32
33 void handleIncomingMidiMessage (const juce::MidiMessage&) override;
34
35private:
36 //==============================================================================
37 InputDeviceInstance& instance;
38 const MidiMessageArray::MPESourceID midiSourceID = MidiMessageArray::notMPE;
39
41 MidiMessageArray incomingMessages;
42 double sampleRate = 44100.0;
43};
44
45}} // namespace tracktion { inline namespace engine
A Node that intercepts MIDI from a plugin callback and inserts it in to the playback graph.
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
void process(ProcessContext &) override
Called when the node is to be processed.
void handleIncomingMidiMessage(const juce::MidiMessage &) override
Override this to receive MIDI input from the device if it has any.
An instance of an InputDevice that's available to an Edit.
Base class for Nodes that provides information about the current process call.
Main graph Node processor class.
Struct to describe a single iteration of a process call.
Determines how this block releates to other previous render blocks and if the play head has jumped in...
A basic spin lock that uses an atomic_flag to store the locked state so should never result in a syst...
Base class for classes that want to listen to an InputDevice and get a callback for each block of inp...
Holds the state of a process call.
Holds some really basic properties of a node.
Passed into Nodes when they are being initialised, to give them useful contextual information that th...