Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
graph_builder.h
1// SPDX-FileCopyrightText: © 2024-2025 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#pragma once
5
6#include "dsp/graph.h"
7
8namespace zrythm::dsp::graph
9{
10
18{
19public:
20 virtual ~IGraphBuilder () = default;
21
27 void build_graph (Graph &graph)
28 {
29 build_graph_impl (graph);
30 graph.finalize_nodes ();
31 };
32
33protected:
37 virtual void build_graph_impl (Graph &graph) = 0;
38};
39
40} // namespace zrythm::dsp::graph
The Graph class represents a graph of DSP nodes.
Definition graph.h:20
Interface for building a graph of nodes.
void build_graph(Graph &graph)
Populates the graph.
virtual void build_graph_impl(Graph &graph)=0
Actual logic to be implemented by subclasses.