Re-exports
pub use crate::monitor::MinMaxMonitorSamples;
Modules
midi 🔒
Structs
This struct holds the frontend node configuration.
Contains global state that all nodes can access.
This is used for instance to implement the MIDI functionality or the external parameters
for the HexoSynth plugin. Can also be used by other components outside HexoDSP on the audio
thread to send MIDI and provide external parameters.
Holds the complete allocation of nodes and
the program. New Nodes or the program is
not newly allocated in the audio backend, but it is
copied from the input ring buffer.
If this turns out to be too slow, we might
have to push buffers of the program around.
A NodeInstance describes the input/output/atom ports of a Node
and holds other important house keeping information for the NodeConfigurator.
Step in a
NodeProg
that stores the to be
executed node and output operations.A node graph execution program. It comes with buffers
for the inputs, outputs and node parameters (knob values).
Enums
DropMsg 🔒
Message from the DSP graph/backend to the frontend. Such as MIDI events
for MIDI learn for instance.
Messages for updating the NodeExecutor thread.
Usually used for shoveling NodeProg and Nodes to and from
the NodeExecutor thread. And also parameter updates of course.
Constants
Traits
This trait needs to be implemented by the caller of the NodeExecutor
if it wants to provide the parameters for the “ExtA” to “ExtL” nodes.
Contains audio driver context informations. Such as the number
of frames of the current buffer period and allows
writing output samples and reading input samples.
Functions
Creates a NodeConfigurator and a NodeExecutor which are interconnected
by ring buffers.