Feedback
Its input one block late: the one way a loop closes. It runs first each block, reading what its producer left in the last one.
input
out
- Type name
audio:Feedback- Plane
audio- Tags
transform- Language
rust- Tier
native- Bundle
audio- Source
node-bundles/audio/Feedback.rs- Availability
- available
Slots
| Slot | Direction | Type | |
|---|---|---|---|
input | input | AUDIO | |
out | output | AUDIO |
Parameters
This node declares no parameters of its own.
Source
The current source of this node, as it stands in the goofi repository at node-bundles/audio/Feedback.rs.
use goofi_audio_sdk::goofi_core::SlotType;
use goofi_audio_sdk::{AudioNode, Block, Manifest, OutputDecl, SlotDecl, Tag};
static INS: &[SlotDecl] =
&[SlotDecl { name: "input", kind: SlotType::Audio, trigger_process: false, multi: false, required: false }];
static OUTS: &[OutputDecl] = &[OutputDecl { name: "out", kind: SlotType::Audio }];
static MANIFEST: Manifest = Manifest {
tags: &[Tag::Transform],
doc: "Its input one block late: the one way a loop closes. It runs first each block, reading \
what its producer left in the last one.",
inputs: INS,
outputs: OUTS,
params: &[],
};
#[derive(Default)]
struct Feedback;
impl AudioNode for Feedback {
fn prepare(&mut self, _rate: f64) {}
fn process(&mut self, b: &mut Block<'_>) {
let input = &b.ins[0];
let out = &mut b.outs[0];
for c in 0..out.channels() as usize {
out.chan_mut(c).copy_from_slice(input.chan(c));
}
}
fn feedback(&self) -> bool {
true
}
}
goofi_audio_sdk::export!(Feedback, MANIFEST);This reference describes goofi 3.1.0(537cd394), generated from a running instance on 2026-09-06.