summaryrefslogtreecommitdiff
path: root/klangfarbrs/src
diff options
context:
space:
mode:
Diffstat (limited to 'klangfarbrs/src')
-rw-r--r--klangfarbrs/src/lib.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/klangfarbrs/src/lib.rs b/klangfarbrs/src/lib.rs
index fd67e21..b0267be 100644
--- a/klangfarbrs/src/lib.rs
+++ b/klangfarbrs/src/lib.rs
@@ -1,15 +1,17 @@
// use gdnative::api::Resource;
use gdnative::prelude::*;
use gdnative::core_types::TypedArray;
+use std::f32;
+use std::f32::consts::TAU;
#[derive(NativeClass)]
#[inherit(Node)]
-pub struct MonoBuffer {}
+pub struct SineWave {}
#[methods]
-impl MonoBuffer {
+impl SineWave {
fn new(_owner: &Node) -> Self {
- MonoBuffer {}
+ SineWave {}
}
#[export]
@@ -23,7 +25,7 @@ impl MonoBuffer {
let calculated_duration = sample_rate * duration as f32;
for i in 0..calculated_duration as i32 {
- frames.push(f32::sin(std::f32::consts::TAU * frequency * i as f32/sample_rate));
+ frames.push((TAU * frequency * i as f32/sample_rate).sin());
}
return frames
@@ -32,8 +34,8 @@ impl MonoBuffer {
// Function that registers all exposed classes to Godot
fn init(handle: InitHandle) {
- // Register the `MonoBuffer` type we declared.
- handle.add_class::<MonoBuffer>();
+ // Register the `Sine` type we declared.
+ handle.add_class::<SineWave>();
}
// Macro that creates the entry-points of the dynamic library.