tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
playback
graph
tracktion_WaveInputDeviceNode.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
11
namespace
tracktion
{
inline
namespace
engine
12
{
13
17
class
WaveInputDeviceNode
final :
public
tracktion::graph::Node
,
18
public
InputDeviceInstance::Consumer
19
{
20
public
:
21
WaveInputDeviceNode
(
InputDeviceInstance
&,
WaveInputDevice
&,
22
const
juce::AudioChannelSet
& destChannelsToFill);
23
~WaveInputDeviceNode
()
override
;
24
25
tracktion::graph::NodeProperties
getNodeProperties
()
override
;
26
void
prepareToPlay
(
const
tracktion::graph::PlaybackInitialisationInfo
&)
override
;
27
bool
isReadyToProcess
()
override
;
28
void
process
(
ProcessContext
&)
override
;
29
30
void
acceptInputBuffer
(choc::buffer::ChannelArrayView<float>)
override
;
31
32
private
:
33
//==============================================================================
34
InputDeviceInstance
& instance;
35
WaveInputDevice
& waveInputDevice;
36
uint32_t
lastCallbackTime = 0;
37
tracktion::graph::AudioFifo
audioFifo { 1, 32 };
38
const
juce::AudioChannelSet
destChannels;
39
};
40
41
}}
// namespace tracktion { inline namespace engine
juce::AudioChannelSet
tracktion::engine::InputDeviceInstance
An instance of an InputDevice that's available to an Edit.
Definition
tracktion_InputDevice.h:109
tracktion::engine::WaveInputDeviceNode
A Node that intercepts incoming live audio and inserts it in to the playback graph.
Definition
tracktion_WaveInputDeviceNode.h:19
tracktion::engine::WaveInputDeviceNode::prepareToPlay
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
Definition
tracktion_WaveInputDeviceNode.cpp:37
tracktion::engine::WaveInputDeviceNode::getNodeProperties
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
Definition
tracktion_WaveInputDeviceNode.cpp:28
tracktion::engine::WaveInputDeviceNode::process
void process(ProcessContext &) override
Called when the node is to be processed.
Definition
tracktion_WaveInputDeviceNode.cpp:51
tracktion::engine::WaveInputDeviceNode::isReadyToProcess
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
Definition
tracktion_WaveInputDeviceNode.cpp:46
tracktion::engine::WaveInputDeviceNode::acceptInputBuffer
void acceptInputBuffer(choc::buffer::ChannelArrayView< float >) override
Override this to receive audio input from the device if it has any.
Definition
tracktion_WaveInputDeviceNode.cpp:85
tracktion::engine::WaveInputDevice
A (virtual) audio input device.
Definition
tracktion_WaveInputDevice.h:20
tracktion::graph::AudioFifo
Definition
tracktion_AudioFifo.h:18
tracktion::graph::Node
Main graph Node processor class.
Definition
tracktion_Node.h:217
tracktion::graph::Node::ProcessContext
Struct to describe a single iteration of a process call.
Definition
tracktion_Node.h:303
tracktion
Definition
tracktion_AudioReader.h:23
uint32_t
typedef uint32_t
tracktion::engine::InputDeviceInstance::Consumer
Base class for classes that want to listen to an InputDevice and get a callback for each block of inp...
Definition
tracktion_InputDevice.h:371
tracktion::graph::NodeProperties
Holds some really basic properties of a node.
Definition
tracktion_Node.h:152
tracktion::graph::PlaybackInitialisationInfo
Passed into Nodes when they are being initialised, to give them useful contextual information that th...
Definition
tracktion_Node.h:140
« « « Anklang Documentation