summaryrefslogtreecommitdiff
path: root/klangfarbrs/src/lib.rs
AgeCommit message (Collapse)Author
2021-12-04Remove hacky trick for instrument and update the instrument in the trigger ↵Jacob Lee
method on the synth instead
2021-12-04Add oscillator back and allow toggling between instrument and waveform in ↵Jacob Lee
Godot interface. Still need to work on how we're playing the instrument.
2021-12-03Add: Partial implementation to refactor InstrumentGrant Shangreaux
2021-12-03Additive synthesis works! Clean up neededJacob Lee
2021-12-03Add: partial hooking up Instrument in place of OscGrant Shangreaux
2021-12-03Add: sketch of Instrument implementationGrant Shangreaux
2021-12-02Clean: factor out a utils module and fix some testsGrant Shangreaux
2021-11-24Refactor envelope to use line iteratorJacob Lee
2021-11-13Add: Envelope Iterator implementation and click to trigger noteGrant Shangreaux
2021-11-13Clean: a bit of junk moved around, Add: Osc::sample methodGrant Shangreaux
2021-11-12Add: Osc Iterator refactorGrant Shangreaux
Now the MonoSynth has one main `osc` property, and it holds an Osc struct which contains its own instance of a Phasor. The Phasor has been mostly hidden away from the top level, though we still have our Bender for bending phase. I think we can implement methods on Osc in order to manipulate the Phasor of a particular instance of osc if need be. The outer `frames` function has been partially refactored. However, I think we should/could wrap the Osc's `next` function in something like `next_sample` which returns a Sample (vs an Option). we could also do something like `osc.take(frames_count).map { |s| frames.push(s) }`
2021-11-12Add: phasor iterator implementationGrant Shangreaux
2021-11-11Implement White/Brown noise. Refactor neededJacob Lee
2021-11-11Add: poorly implemented but working amplitude envelopeGrant Shangreaux
2021-11-09Fix: module visibility warnings, Add: MonoSynth::envelope stubGrant Shangreaux
2021-11-09Add: stub of asdr module / Envelope structGrant Shangreaux
2021-11-09Clean: move Osc into a file moduleGrant Shangreaux
2021-11-09Docs: update commentsGrant Shangreaux
2021-11-07Fix: frequency modulation implementation to be correct :|Grant Shangreaux
2021-11-07Feature: frequency modulation MVP implemented :loud-sound:Grant Shangreaux
2021-11-05Refactor completeJacob Lee
2021-11-05Feature: refactored interface to MonoSynth :musical_keyboard:Grant Shangreaux
2021-11-02Bending it like BeckhamJacob Lee
2021-11-01Add: mouse control of frequency based on x coord mouse positionGrant Shangreaux
2021-11-01Add: triangle and sawtooth waveformsGrant Shangreaux
2021-10-30Add: square wave and waveform switch interface in godotGrant Shangreaux
2021-10-30Add: restructured Osc class preparing for more wave formsGrant Shangreaux
2021-10-30Docs: add crate comment and one example block with testGrant Shangreaux
2021-10-30Add: phase based sine wave oscillator and comment GDscriptGrant Shangreaux
2021-10-29Add: pack an Array<Vector2<f32>> of samples and push_bufferGrant Shangreaux
- add a method to set the sample rate of the sine wave
2021-10-28Remove unneeded use statementJacob Lee
2021-10-28Rename MonoBuffer to SineWave and clean up rust code a little bitJacob Lee
2021-10-27Clean upJacob Lee
2021-10-27Fix pitch in rust code and limit to 3 second durationJacob Lee
2021-10-26Add: TypedArray for godot buffer frames propertyGrant Shangreaux
2021-10-26Scorched EarthJacob Lee
2021-10-22WIP: Naive implementation of layering soundsJacob Lee
2021-10-18Clean: fix all compiler warningsGrant Shangreaux
- comment out unused gdnative module use - handle Results returned by the test audio function
2021-10-18Clean: remove hello world example codeGrant Shangreaux
2021-10-18Add: src/main.rs for a binary to test audio with `cargo run`Grant Shangreaux
2021-10-16Add: Node based Synth struct in Rust lib and load class in GodotGrant Shangreaux
2021-10-16WIP: Make sound with rustGrant Shangreaux
2021-10-16Add Godot and Rust filesJacob Lee