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

« « « Anklang Documentation
Loading...
Searching...
No Matches
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//==============================================================================
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//==============================================================================
96
99
110
112
114
116
121
125
127
128#ifdef __GNUC__
129 #pragma GCC diagnostic pop
130#endif
Declarations from this namespaces are inlined into tracktion.