tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_graph
tracktion_graph.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
/*******************************************************************************
12
The block below describes the properties of this module, and is read by
13
the Projucer to automatically generate project code that uses it.
14
For details about the syntax and how to create or use a module, see the
15
JUCE Module Format.txt file.
16
17
18
BEGIN_JUCE_MODULE_DECLARATION
19
20
ID: tracktion_graph
21
vendor: Tracktion Corporation
22
version: 3.0.0
23
name: The Tracktion graph audio engine
24
description: Classes for creating and processing audio graphs
25
website: http://www.tracktion.com
26
license: Proprietary
27
28
dependencies: juce_audio_formats
29
30
END_JUCE_MODULE_DECLARATION
31
32
*******************************************************************************/
33
34
35
/*******************************************************************************
36
PLEASE READ!
37
38
tracktion_graph is an experimental module. It is currently in an early stage of
39
development so the API or functionality it contains is in no way stable. It
40
will change so if you do want to use this in your own code please be aware of
41
this and prepare yourself for a lot of updating.
42
43
*******************************************************************************/
44
45
46
#pragma once
47
#define TRACKTION_GRAPH_H_INCLUDED
48
49
50
//==============================================================================
57
#ifndef GRAPH_UNIT_TESTS_QUICK_VALIDATE
58
#define GRAPH_UNIT_TESTS_QUICK_VALIDATE 0
59
#endif
60
61
//==============================================================================
62
//==============================================================================
63
#include <
cassert
>
64
#include <
thread
>
65
#include <
optional
>
66
#include <
any
>
67
68
//==============================================================================
69
#if __has_include(<choc/audio/choc_SampleBuffers.h>)
70
#include <choc/audio/choc_SampleBuffers.h>
71
#include <choc/audio/choc_MIDISequence.h>
72
#include <choc/containers/choc_MultipleReaderMultipleWriterFIFO.h>
73
#include <choc/containers/choc_NonAllocatingStableSort.h>
74
#else
75
#include "../3rd_party/choc/audio/choc_SampleBuffers.h"
76
#include "../3rd_party/choc/audio/choc_MIDISequence.h"
77
#include "../3rd_party/choc/containers/choc_MultipleReaderMultipleWriterFIFO.h"
78
#include "../3rd_party/choc/containers/choc_NonAllocatingStableSort.h"
79
#endif
80
81
#include "../3rd_party/rigtorp/tracktion_rigtorp.hpp"
82
83
84
//==============================================================================
85
#include <
juce_audio_basics/juce_audio_basics.h
>
86
#include "../tracktion_core/tracktion_core.h"
87
88
#ifdef __GNUC__
89
#pragma GCC diagnostic push
90
#pragma GCC diagnostic ignored "-Wfloat-equal"
91
#endif
92
93
//==============================================================================
94
#include "
utilities/tracktion_MidiMessageArray.h
"
95
namespace
tracktion_engine
=
tracktion::engine
;
96
97
#include "
tracktion_graph/tracktion_Node.h
"
98
#include "
tracktion_graph/tracktion_Utility.h
"
99
100
#include "
utilities/tracktion_AudioBufferPool.h
"
101
#include "
utilities/tracktion_AudioBufferStack.h
"
102
#include "
utilities/tracktion_GlueCode.h
"
103
#include "
utilities/tracktion_AudioFifo.h
"
104
#include "
utilities/tracktion_PerformanceMeasurement.h
"
105
#include "
utilities/tracktion_RealTimeSpinLock.h
"
106
#include "
utilities/tracktion_Semaphore.h
"
107
#include "
utilities/tracktion_Threads.h
"
108
#include "
utilities/tracktion_LatencyProcessor.h
"
109
#include "
utilities/tracktion_LockFreeObject.h
"
110
111
#include "
tracktion_graph/tracktion_PlayHead.h
"
112
113
#include "
tracktion_graph/tracktion_PlayHeadState.h
"
114
115
#include "
tracktion_graph/players/tracktion_NodePlayerUtilities.h
"
116
117
#include "
tracktion_graph/tracktion_NodePlayer.h
"
118
#include "
tracktion_graph/tracktion_MultiThreadedNodePlayer.h
"
119
#include "
tracktion_graph/tracktion_LockFreeMultiThreadedNodePlayer.h
"
120
#include "
tracktion_graph/tracktion_NodePlayerThreadPools.h
"
121
122
#include "
tracktion_graph/nodes/tracktion_ConnectedNode.h
"
123
#include "
tracktion_graph/nodes/tracktion_LatencyNode.h
"
124
#include "
tracktion_graph/nodes/tracktion_SummingNode.h
"
125
126
#include "
tracktion_graph/players/tracktion_SimpleNodePlayer.h
"
127
128
#ifdef __GNUC__
129
#pragma GCC diagnostic pop
130
#endif
any
cassert
juce_audio_basics.h
tracktion::engine
Declarations from this namespaces are inlined into tracktion.
Definition
tracktion_Benchmark.h:16
optional
thread
tracktion_AudioBufferPool.h
tracktion_AudioBufferStack.h
tracktion_ConnectedNode.h
tracktion_GlueCode.h
tracktion_LatencyNode.h
tracktion_LatencyProcessor.h
tracktion_LockFreeMultiThreadedNodePlayer.h
tracktion_LockFreeObject.h
tracktion_MidiMessageArray.h
tracktion_NodePlayerThreadPools.h
tracktion_NodePlayerUtilities.h
tracktion_NodePlayer.h
tracktion_Node.h
tracktion_PerformanceMeasurement.h
tracktion_PlayHeadState.h
tracktion_RealTimeSpinLock.h
tracktion_Semaphore.h
tracktion_SimpleNodePlayer.h
tracktion_SummingNode.h
tracktion_Threads.h
tracktion_Utility.h
tracktion_MultiThreadedNodePlayer.h
tracktion_PlayHead.h
tracktion_AudioFifo.h
« « « Anklang Documentation