diff --git a/src-tauri/src/superdough.rs b/src-tauri/src/superdough.rs index 70c56b9c9..86bef3798 100644 --- a/src-tauri/src/superdough.rs +++ b/src-tauri/src/superdough.rs @@ -120,69 +120,6 @@ impl Reverb { } } -pub struct ReverbGen { - pub generated_ir: Option, - pub sample_ir: Option, -} - -pub struct SampleIR { - pub buffer: AudioBuffer, - pub convolver: ConvolverNode, - pub room: Option, - pub roomsize: Option, -} - -pub struct GeneratedIR { - pub buffer: AudioBuffer, - pub convolver: ConvolverNode, - pub room: Option, - pub roomsize: Option, - pub roomfade: Option, - pub roomlp: Option, - pub roomdim: Option, -} - -impl GeneratedIR { - pub fn new(context: &AudioContext, room: Option, roomsize: Option, roomfade: Option, roomlp: Option, roomdim: Option, compressor: &DynamicsCompressorNode) -> Self { - let mut convolver = context.create_convolver(); - let buffer = context.create_buffer(2, 44100, 44100.0); - convolver.set_buffer(buffer.clone()); - convolver.connect(compressor); - Self { buffer, convolver, room, roomsize, roomfade, roomlp, roomdim } - } -} - -pub trait IR { - fn set_ir(&mut self, context: &AudioContext, ir: &AudioBuffer); - - fn set_params(&mut self, room: Option, roomsize: Option, roomfade: Option, roomlp: Option, roomdim: Option); - - fn set_convolver(&mut self, context: &AudioContext, compressor: &DynamicsCompressorNode); - - fn set_convolver_buffer(&mut self, context: &AudioContext, compressor: &DynamicsCompressorNode, ir: &AudioBuffer); -} - -impl IR for SampleIR { - fn set_ir(&mut self, context: &AudioContext, ir: &AudioBuffer) { - self.buffer = ir.clone(); - self.convolver.set_buffer(ir.clone()); - } - - fn set_params(&mut self, room: Option, roomsize: Option, roomfade: Option, roomlp: Option, roomdim: Option) { - self.room = room; - self.roomsize = roomsize; - } - - fn set_convolver(&mut self, context: &AudioContext, compressor: &DynamicsCompressorNode) { - self.convolver.connect(compressor); - } - - fn set_convolver_buffer(&mut self, context: &AudioContext, compressor: &DynamicsCompressorNode, ir: &AudioBuffer) { - self.convolver.set_buffer(ir.clone()); - self.convolver.connect(compressor); - } -} - pub struct Synth { pub oscillator: OscillatorNode, pub envelope: GainNode, diff --git a/src-tauri/src/webaudiobridge.rs b/src-tauri/src/webaudiobridge.rs index 48a924dcd..3ca00d111 100644 --- a/src-tauri/src/webaudiobridge.rs +++ b/src-tauri/src/webaudiobridge.rs @@ -21,11 +21,10 @@ use web_audio_api::{ node::AudioNode, }; use web_audio_api::context::OfflineAudioContext; -use web_audio_api::node::{ConvolverNode, ConvolverOptions, DelayNode, DynamicsCompressorNode}; -use crate::reverbgen::{create_impulse_response, generate_coefficients_lp, write_to_buffer, write_to_wav}; +use web_audio_api::node::{DynamicsCompressorNode}; +use crate::reverbgen::{create_impulse_response, generate_coefficients_lp, write_to_buffer}; use crate::superdough::{ADSRMessage, apply_filter_adsr, BPFMessage, DelayMessage, Delay, FilterADSRMessage, HPFMessage, LoopMessage, LPFMessage, Sampler, Synth, WebAudioInstrument, ReverbMessage, Reverb}; - #[derive(Debug, Clone)] pub struct WebAudioMessage { pub note: f32,