scamble

Crates.ioscamble
lib.rsscamble
version0.1.0
created_at2025-04-24 21:27:15.194071+00
updated_at2025-04-24 21:27:15.194071+00
descriptionLibrary for building FMOD DSPs
homepage
repositoryhttps://github.com/l-Luna/scamble
max_upload_size
id1648129
size221,350
Luna (l-Luna)

documentation

README

a rust library for writing FMOD DSPs

a simple example:

#![feature(macro_metavar_expr)]
#![feature(macro_metavar_expr_concat)]

use scamble::expose_dsp;
use scamble::dsp::*;
use scamble::dsp::signal::*;

pub struct Invert;

impl Dsp for Invert{
    fn name() -> &'static str { "Invert" }
    fn version() -> u32 { 1 }
    fn ty() -> DspType { DspType::Effect }
    fn create() -> Self { Invert }
    
    fn read(&mut self, input: SignalConst, mut output: SignalMut) {
        let in_data = input.samples();
        let out_data = output.samples_mut();
        for i in 0..in_data.len() {
            out_data[i] = -in_data[i];
        }
    }
}

expose_dsp!(Invert);
Commit count: 62

cargo fmt