Skip to content

Commit 9e09042

Browse files
committed
updating for projectM 4.0.0
1 parent 8aa52ea commit 9e09042

File tree

3 files changed

+243
-47
lines changed

3 files changed

+243
-47
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[package]
2-
name = "frontend-sdl2-rust"
2+
name = "projectM-SDL"
33
version = "0.1.0"
44
edition = "2021"
55

@@ -8,4 +8,4 @@ edition = "2021"
88
[dependencies]
99
libc = "*"
1010
sdl2 = "0.35.2"
11-
projectm-rs = "*"
11+
projectm-rs = "^1.0.3"

src/main.rs

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use sdl2::event::Event;
22
use sdl2::keyboard::Keycode;
3-
use projectm_rs;
3+
use projectm_rs::core::*;
44

55
fn main() -> Result<(), String> {
66
// setup sdl
@@ -18,39 +18,14 @@ fn main() -> Result<(), String> {
1818
let mut canvas = window.into_canvas().build()
1919
.expect("could not make a canvas");
2020

21-
// projectm::settings
22-
let settings = projectm_rs::projectm_settings {
23-
mesh_x: 96,
24-
mesh_y: 54,
25-
fps: 30,
26-
texture_size: 512,
27-
window_width: 640,
28-
window_height: 360,
29-
preset_duration: 15.0,
30-
soft_cut_duration: 15.0,
31-
hard_cut_duration: 60.0,
32-
hard_cut_enabled: false,
33-
hard_cut_sensitivity: 0.0,
34-
beat_sensitivity: 0.5,
35-
aspect_correction: true,
36-
easter_egg: 0.5,
37-
shuffle_enabled: true,
38-
soft_cut_ratings_enabled: true,
39-
preset_url: "/presets".as_bytes().as_ptr() as *mut i8,
40-
title_font_url: "".as_bytes().as_ptr() as *mut i8,
41-
menu_font_url: "".as_bytes().as_ptr() as *mut i8,
42-
data_dir: "./".as_bytes().as_ptr() as *mut i8,
43-
};
44-
// print_settings(settings);
4521

4622
// projectm::init
4723
let projectm_handle = unsafe {
48-
projectm_rs::projectm_create_settings(&settings, 0)
24+
projectm::create()
4925
};
5026

5127
unsafe {
52-
projectm_rs::projectm_select_random_preset(projectm_handle, true);
53-
projectm_rs::projectm_set_window_size(projectm_handle, 800, 600)
28+
projectm::set_window_size(projectm_handle, canvas.output_size().unwrap().0.try_into().unwrap(), canvas.output_size().unwrap().1.try_into().unwrap())
5429
}
5530
println!("projectm initialized!");
5631

@@ -76,7 +51,7 @@ fn main() -> Result<(), String> {
7651

7752
// projectm::render
7853
unsafe {
79-
projectm_rs::projectm_render_frame(projectm_handle);
54+
projectm::render_frame(projectm_handle);
8055
}
8156

8257
// present/render
@@ -87,7 +62,7 @@ fn main() -> Result<(), String> {
8762
Ok(())
8863
}
8964

90-
fn generate_random_audio_data(projectm_handle: *mut projectm_rs::projectm)
65+
fn generate_random_audio_data(projectm_handle: projectm_handle)
9166
{
9267
let mut pcm_data: [[libc::c_short; 512]; 2] = [[0; 512]; 2];
9368
let mut i: libc::c_int = 0 as libc::c_int;
@@ -104,6 +79,6 @@ fn generate_random_audio_data(projectm_handle: *mut projectm_rs::projectm)
10479
};
10580

10681
unsafe {
107-
projectm_rs::projectm_pcm_add_int16(projectm_handle, &pcm_data[0][0], 512, 2)
82+
projectm::pcm_add_int16(projectm_handle, &pcm_data[0][0], 512, 2)
10883
}
109-
}
84+
}

0 commit comments

Comments
 (0)