Skip to content

carterisonline/dagrid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DaGrid

THIS IS NOT A FINISHED PROJECT. GO ELSEWHERE! GRAAAAAAAH

Features :)

It can turn this code:

let mut cg = glicol::std_cg();

// Create 440hz and 220hz oscillators
let sine_osc_1 = cg.connect_const_new(440.0, Sine);
let sine_osc_2 = cg.connect_const_new(220.0, Sine);

// Subtract oscillator 1 from oscillator 2
let (sub_in, sub_out) = cg.insert_container(Sub);
cg.connect_ex_ex(sine_osc_1, sub_in[0]);
cg.connect_ex_ex(sine_osc_2, sub_in[1]);

// Audio out must be in range (-1 < x < 1)
// divide by 2 to avoid exceeding that
let (div_in, div_out) = cg.insert_container(Div);
cg.connect_ex_ex(sub_out[0], div_in[0]);
cg.connect_const_ex(2.0, div_in[1]);

// Connect product to audio output
cg.connect_existing_aout(div_out[0]);

Into this graph:

graph

And into this audio (warning - loud):

audio preview

Building

With Nix installed, all the hard work is reliably done for you. Run nix build .#dagrid-plugin to build and output dagrid.clap to the result directory. nix flake check runs checks and tests. nix develop [--run <editor>] puts you into a development shell. Other build commands are listed below:

Command Action
cargo dgbundle Compiles and bundles dagrid-plugin-export.clap
cargo dgplug Compiles the DaGrid plugin without bundling
cargo build Compiles the standalone DaGrid binary
cargo dgtest Runs tests
cargo dgbench Runs benchmarks
cargo dgflamegraph Runs and profiles benchmarks

Credits

About

Experimental composable graph-backed synthesizer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors