From 0db43948f5c1b2f66c81577c37807bc80de8f922 Mon Sep 17 00:00:00 2001 From: Jacob Lee Date: Thu, 28 Oct 2021 08:54:01 -0400 Subject: Rename MonoBuffer to SineWave and clean up rust code a little bit --- klangfarb/MonoBuffer.gdns | 8 -------- klangfarb/SineWave.gdns | 8 ++++++++ klangfarb/libklangfarbrs.so | Bin 20147240 -> 20146328 bytes klangfarb/main.gd | 4 ++-- klangfarbrs/src/lib.rs | 14 ++++++++------ 5 files changed, 18 insertions(+), 16 deletions(-) delete mode 100644 klangfarb/MonoBuffer.gdns create mode 100644 klangfarb/SineWave.gdns diff --git a/klangfarb/MonoBuffer.gdns b/klangfarb/MonoBuffer.gdns deleted file mode 100644 index e551128..0000000 --- a/klangfarb/MonoBuffer.gdns +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="NativeScript" load_steps=2 format=2] - -[ext_resource path="res://klangfarbrs.gdnlib" type="GDNativeLibrary" id=1] - -[resource] -resource_name = "MonoBuffer" -class_name = "MonoBuffer" -library = ExtResource( 1 ) diff --git a/klangfarb/SineWave.gdns b/klangfarb/SineWave.gdns new file mode 100644 index 0000000..e220a2e --- /dev/null +++ b/klangfarb/SineWave.gdns @@ -0,0 +1,8 @@ +[gd_resource type="NativeScript" load_steps=2 format=2] + +[ext_resource path="res://klangfarbrs.gdnlib" type="GDNativeLibrary" id=1] + +[resource] +resource_name = "SineWave" +class_name = "SineWave" +library = ExtResource( 1 ) diff --git a/klangfarb/libklangfarbrs.so b/klangfarb/libklangfarbrs.so index 280cd61..5dfe32e 100755 Binary files a/klangfarb/libklangfarbrs.so and b/klangfarb/libklangfarbrs.so differ diff --git a/klangfarb/main.gd b/klangfarb/main.gd index 806850d..568af36 100644 --- a/klangfarb/main.gd +++ b/klangfarb/main.gd @@ -1,8 +1,8 @@ extends AudioStreamPlayer var playback: AudioStreamPlayback = null -var MonoBuffer = preload("res://MonoBuffer.gdns") -var buffer = MonoBuffer.new() +var SineWave = preload("res://SineWave.gdns") +var buffer = SineWave.new() var duration = 3 var samples = buffer.frames(440.0, 44100.0, duration) var sample_count = samples.size() 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::(); + // Register the `Sine` type we declared. + handle.add_class::(); } // Macro that creates the entry-points of the dynamic library. -- cgit v1.2.3