Skip to content

Commit 5c0835a

Browse files
committed
move TCP effects to subpackage, move cassette player to subpackage, fix macros
1 parent b3289ff commit 5c0835a

File tree

21 files changed

+106
-53
lines changed

21 files changed

+106
-53
lines changed

Cargo.lock

Lines changed: 21 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,9 @@ edition = "2024"
77
crate-type = ["dylib"]
88

99
[workspace]
10-
members = ["tester"]
10+
members = ["tester", "tcp_effects", "cassette_player"]
1111

1212
[dependencies]
13-
rand = "0.9.0"
14-
circular-buffer = "1.1.0"
15-
realfft = "3.4.0"
1613
hound = "3.5.1"
1714

1815
[build-dependencies]

cassette_player/Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[package]
2+
name = "cassette_player"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[lib]
7+
crate-type = ["dylib"]
8+
9+
[dependencies]
10+
scamble = { path = ".." }
11+
circular-buffer = "1.1.0"
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use crate::dsp::signal::{Signal, SignalConst, SignalMut};
2-
use crate::dsp::{Dsp, DspType, Parameter, ParameterType};
1+
use scamble::dsp::signal::{Signal, SignalConst, SignalMut};
2+
use scamble::dsp::{Dsp, DspType, Parameter, ParameterType};
3+
use scamble::dsp::decode::decode_into;
34
use circular_buffer::CircularBuffer;
4-
use crate::dsp::decode::decode_into;
55

66
#[derive(Copy, Clone)]
77
struct TrailingNote {

cassette_player/src/lib.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#![feature(macro_metavar_expr)]
2+
#![feature(macro_metavar_expr_concat)]
3+
4+
use crate::cassette_player::CassettePlayer;
5+
6+
use scamble::expose_dsp;
7+
8+
pub mod cassette_player;
9+
10+
expose_dsp!(CassettePlayer);

src/dsp/interop.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::raw_bindings::*;
22
use crate::raw_bindings::FMOD_DSP_PARAMETER_DATA_TYPE::*;
33
use crate::raw_bindings::FMOD_RESULT::{FMOD_ERR_DSP_DONTPROCESS, FMOD_ERR_DSP_SILENCE, FMOD_ERR_INVALID_PARAM, FMOD_ERR_PLUGIN, FMOD_OK};
4-
pub(crate) use crate::dsp::{Dsp, DspType, ParameterType, ProcessResult};
4+
pub use crate::dsp::{Dsp, DspType, ParameterType, ProcessResult};
55
use crate::dsp::signal::{SignalConst, SignalMut};
66
use std::{alloc, panic, ptr};
77
use std::alloc::Layout;
@@ -15,8 +15,8 @@ use std::str::FromStr;
1515
macro_rules! expose_dsp {
1616
($t:tt) => {
1717
const _: () = {
18-
use crate::interop;
19-
use crate::raw_bindings::FMOD_DSP_DESCRIPTION;
18+
use scamble::dsp::interop;
19+
use $crate::raw_bindings::FMOD_DSP_DESCRIPTION;
2020
use core::mem::MaybeUninit;
2121

2222
#[allow(non_snake_case)]
@@ -47,11 +47,11 @@ macro_rules! expose_dsp_list {
4747
const _: () = {
4848
use core::mem::MaybeUninit;
4949
use core::ptr;
50-
use crate::dsp::interop;
51-
use crate::raw_bindings::FMOD_DSP_DESCRIPTION;
52-
use crate::raw_bindings::FMOD_PLUGINLIST;
53-
use crate::raw_bindings::FMOD_PLUGINTYPE::FMOD_PLUGINTYPE_DSP;
54-
use crate::raw_bindings::FMOD_PLUGINTYPE::FMOD_PLUGINTYPE_MAX;
50+
use $crate::dsp::interop;
51+
use $crate::raw_bindings::FMOD_DSP_DESCRIPTION;
52+
use $crate::raw_bindings::FMOD_PLUGINLIST;
53+
use $crate::raw_bindings::FMOD_PLUGINTYPE::FMOD_PLUGINTYPE_DSP;
54+
use $crate::raw_bindings::FMOD_PLUGINTYPE::FMOD_PLUGINTYPE_MAX;
5555

5656
$(
5757
#[allow(non_upper_case_globals)]

src/dsp/signal.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ impl<'a> SignalMut<'a> {
9999
self.data.fill(v);
100100
}
101101

102-
pub(crate) fn samples_mut(&mut self) -> &mut [f32] {
102+
pub fn samples_mut(&mut self) -> &mut [f32] {
103103
self.data
104104
}
105105
}

src/lib.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,13 @@
1-
#![feature(macro_metavar_expr)]
2-
#![feature(portable_simd)]
31
#![feature(panic_payload_as_str)]
2+
#![feature(macro_metavar_expr)]
43
#![feature(macro_metavar_expr_concat)]
54

6-
use effects::fantasy::Fantasy;
7-
use effects::noise_reduction::NoiseReduction;
8-
use effects::vocoder::Vocoder;
9-
use effects::cassette_player::CassettePlayer;
10-
115
#[cfg(feature = "fmod_bindings")]
126
pub mod fmod;
137
#[cfg(all(test, feature = "fmod_bindings"))]
148
pub mod simulate;
159

1610
pub mod dsp;
17-
pub mod effects;
1811
pub mod raw_bindings;
1912
pub mod result;
20-
pub mod data;
21-
22-
expose_dsp_list!(NoiseReduction, Fantasy, Vocoder, CassettePlayer);
13+
pub mod data;

src/simulate.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
/*
12
use crate::dsp::interop;
2-
use crate::effects::{click_simulator_2000, windy};
33
use crate::fmod;
44
use crate::raw_bindings::FMOD_RESULT::FMOD_OK;
55
use crate::raw_bindings::{FMOD_DEBUG_FLAGS, FMOD_DEBUG_MODE, FMOD_Debug_Initialize, FMOD_RESULT};
@@ -64,3 +64,4 @@ extern "C" fn fmod_print_callback(
6464
}
6565
FMOD_OK
6666
}
67+
*/

tcp_effects/Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
name = "tcp_effects"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[lib]
7+
crate-type = ["dylib"]
8+
9+
[dependencies]
10+
scamble = { path = ".." }
11+
rand = "0.9.0"
12+
circular-buffer = "1.1.0"
13+
realfft = "3.4.0"

0 commit comments

Comments
 (0)