Skip to content

Commit 0116739

Browse files
committed
audio capture working
1 parent b114772 commit 0116739

File tree

10 files changed

+350
-56
lines changed

10 files changed

+350
-56
lines changed

Cargo.lock

+182
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,8 @@ libc = "*"
1010
sdl2 = "0.35.2"
1111
# projectm-rs = "^1.0.4"
1212
projectm-rs = { path = "../projectm-rs" }
13+
clippy = "0.0.302"
1314
# gl = "0.14.0"
15+
16+
[features]
17+
dummy_audio = []

presets/test/reactive.milk

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
[preset00]
2+
fDecay=0.75
3+
fWarpScale=2.853000
4+
fZoomExponent=1.000000
5+
warp=0.000000
6+
wave_a=0
7+
cy=1.0
8+
cx=0.5
9+
sx=1
10+
sy=1
11+
dx=0
12+
dy=0.02
13+
zoom=1.0
14+
ob_size=0
15+
ib_size=0.0
16+
17+
per_pixel_1=cx=x
18+
19+
wavecode_0_enabled=1
20+
wavecode_0_r=1
21+
wavecode_0_g=0
22+
wavecode_0_b=0
23+
wavecode_0_mode=0
24+
wavecode_0_bDrawThick=0
25+
wavecode_0_bAdditive=1
26+
wavecode_0_scaling=1.0
27+
wavecode_0_smoothing=0.0
28+
wavecode_0_r=0.000000
29+
wavecode_0_g=1.000000
30+
wavecode_0_b=1.000000
31+
wavecode_0_a=1.000000
32+
wave_0_per_frame1=t1=if(above(bass,9.5),0.95,bass/10)
33+
wave_0_per_point1=x=0.01666 + 0.3*sample;
34+
wave_0_per_point2=y=t1 + value1/20;
35+
36+
37+
wavecode_1_enabled=1
38+
wavecode_1_r=0
39+
wavecode_1_g=1
40+
wavecode_1_b=0
41+
wavecode_1_mode=0
42+
wavecode_1_bDrawThick=0
43+
wavecode_1_bAdditive=1
44+
wavecode_1_scaling=1.0
45+
wavecode_1_smoothing=0.0
46+
wavecode_1_r=0.000000
47+
wavecode_1_g=1.000000
48+
wavecode_1_b=1.000000
49+
wavecode_1_a=1.000000
50+
wave_1_per_frame1=t1=if(above(mid,9.5),0.95,mid/10)
51+
wave_1_per_point1=x=0.35 + 0.3*sample;
52+
wave_1_per_point2=y=t1 + value2/20;
53+
54+
55+
wavecode_2_enabled=1
56+
wavecode_2_r=0
57+
wavecode_2_g=0
58+
wavecode_2_b=1
59+
wavecode_2_mode=0
60+
wavecode_2_bDrawThick=0
61+
wavecode_2_bAdditive=1
62+
wavecode_2_scaling=1.0
63+
wavecode_2_smoothing=0.0
64+
wavecode_2_r=0.000000
65+
wavecode_2_g=1.000000
66+
wavecode_2_b=1.000000
67+
wavecode_2_a=1.000000
68+
wave_2_per_frame1=t1=if(above(treb,9.5),0.95,treb/10)
69+
wave_2_per_point1=x=0.6833 + 0.3*sample;
70+
wave_2_per_point2=y=t1 + value1/20;

src/app.rs

+6-7
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ pub mod main_loop;
77
pub mod playlist;
88
pub mod video;
99

10+
/// Application state
1011
pub struct App {
1112
pm: projectm_handle,
1213
playlist: projectm_rs::playlist::Playlist,
1314
sdl_context: sdl2::Sdl,
14-
gl_context: sdl2::video::GLContext,
1515
window: sdl2::video::Window,
1616
config: config::Config,
1717
audio: audio::Audio,
18+
_gl_context: sdl2::video::GLContext,
1819
}
1920

2021
pub fn default_config() -> config::Config {
@@ -65,30 +66,28 @@ impl App {
6566
projectm::set_window_size(pm, width.try_into().unwrap(), height.try_into().unwrap());
6667

6768
// initialize audio
68-
let audio = audio::Audio::new(&sdl_context);
69+
let audio = audio::Audio::new(&sdl_context, pm);
6970

7071
Self {
7172
pm,
7273
playlist,
7374
sdl_context,
74-
gl_context,
7575
window,
7676
config: if let Some(config) = config {
7777
config
7878
} else {
7979
default_config()
8080
},
8181
audio,
82+
_gl_context: gl_context, // keep this around to keep the context alive
8283
}
8384
}
8485

85-
pub fn init(&self) {
86+
pub fn init(&mut self) {
8687
// load config
8788
self.load_config(&self.config);
8889

8990
// initialize audio
90-
self.audio.list_devices();
91-
// self.audio
92-
// .begin_audio_capture(projectm::get_frame_rate(self.pm));
91+
self.audio.init(self.get_frame_rate());
9392
}
9493
}

0 commit comments

Comments
 (0)