Skip to content

Commit 2d02628

Browse files
authored
update to Bevy 0.16.0-rc.3 (#6)
1 parent b49055e commit 2d02628

File tree

2 files changed

+44
-56
lines changed

2 files changed

+44
-56
lines changed

Cargo.toml

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bevy_streamdeck"
3-
version = "0.5.0"
3+
version = "0.6.0-rc.1"
44
edition = "2021"
55
authors = ["François Mockers <francois.mockers@vleue.com>"]
66
description = "Elgato Stream Deck plugin for Bevy"
@@ -12,24 +12,40 @@ license = "MIT OR Apache-2.0"
1212
readme = "README.md"
1313

1414
[features]
15-
default = ["color_compatibility", "image_compatibility", "assets"]
16-
color_compatibility = ["bevy/bevy_color"]
17-
image_compatibility = ["bevy/bevy_render", "bevy/png", "images"]
18-
images = ["image"]
19-
assets = ["bevy/bevy_asset"]
15+
default = ["image_compatibility", "assets"]
16+
image_compatibility = [
17+
"dep:bevy_render",
18+
"dep:bevy_image",
19+
"bevy_image/png",
20+
"images",
21+
]
22+
images = ["dep:image"]
23+
assets = ["dep:bevy_asset"]
2024

21-
[dependencies.bevy]
22-
version = "0.15.0"
23-
default-features = false
24-
features = ["multi_threaded"]
25+
# [dependencies.bevy]
26+
# version = "0.15.0"
27+
# default-features = false
28+
# features = ["multi_threaded"]
2529

2630
[dependencies]
31+
bevy_ecs = { version = "0.16.0-rc.3", default-features = false }
32+
bevy_app = { version = "0.16.0-rc.3", default-features = false }
33+
bevy_input = { version = "0.16.0-rc.3", default-features = false }
34+
bevy_tasks = { version = "0.16.0-rc.3", default-features = false }
35+
bevy_color = { version = "0.16.0-rc.3", default-features = false }
36+
bevy_math = { version = "0.16.0-rc.3" }
37+
bevy_render = { version = "0.16.0-rc.3", default-features = false, optional = true }
38+
bevy_asset = { version = "0.16.0-rc.3", default-features = false, optional = true }
39+
bevy_image = { version = "0.16.0-rc.3", default-features = false, optional = true }
2740
streamdeck = { version = "0.9", default-features = false }
2841
crossbeam-channel = "0.5"
2942
image = { version = "0.25", optional = true }
43+
log = "0.4"
44+
glam = { version = "0.29" }
3045

3146
[dev-dependencies]
3247
rand = "0.8"
48+
bevy = { version = "0.16.0-rc.3" }
3349

3450
[[example]]
3551
name = "image"

src/lib.rs

Lines changed: 18 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
use std::time::Duration;
22

3-
#[cfg(feature = "color_compatibility")]
4-
pub use bevy::color::{Color, LinearRgba};
5-
#[cfg(feature = "image_compatibility")]
6-
use bevy::image::Image;
7-
use bevy::{
8-
app::{App, AppExit, Plugin},
9-
color::ColorToComponents,
10-
ecs::{
11-
event::{EventReader, EventWriter},
12-
system::{Commands, Res, ResMut},
13-
},
14-
input::ButtonInput,
15-
log::debug,
16-
prelude::{Event, Last, PreStartup, PreUpdate, Resource},
17-
tasks::IoTaskPool,
3+
use bevy_app::{App, AppExit, Last, Plugin, PreStartup, PreUpdate};
4+
pub use bevy_color::{Color, ColorToComponents, LinearRgba};
5+
use bevy_ecs::{
6+
event::{Event, EventReader, EventWriter},
7+
resource::Resource,
8+
system::{Commands, Res, ResMut},
189
};
10+
#[cfg(feature = "image_compatibility")]
11+
use bevy_image::Image;
12+
use bevy_input::ButtonInput;
13+
use bevy_tasks::IoTaskPool;
1914
use crossbeam_channel::{bounded, Receiver, Sender};
2015
#[cfg(feature = "images")]
2116
use image::{imageops::FilterType, DynamicImage, ImageBuffer, Pixel, Rgba};
17+
use log::debug;
2218
pub use streamdeck::Kind;
2319
use streamdeck::{Colour, Error};
2420

@@ -52,30 +48,6 @@ enum StreamDeckEvent {
5248
KeyPressed(Vec<u8>),
5349
}
5450

55-
#[cfg(not(feature = "color_compatibility"))]
56-
#[derive(Default)]
57-
pub struct Color {
58-
pub r: f32,
59-
pub g: f32,
60-
pub b: f32,
61-
}
62-
#[cfg(not(feature = "color_compatibility"))]
63-
impl Color {
64-
const BLACK: Color = Color {
65-
r: 0.0,
66-
g: 0.0,
67-
b: 0.0,
68-
};
69-
70-
pub const fn rgb(r: f32, g: f32, b: f32) -> Color {
71-
Color { r, g, b }
72-
}
73-
74-
fn as_rgba_f32(&self) -> [f32; 4] {
75-
[self.r, self.g, self.b, 1.0]
76-
}
77-
}
78-
7951
enum StreamDeckOrder {
8052
Reset,
8153
Color(u8, Color),
@@ -177,22 +149,22 @@ fn receiver(
177149
match from_stream {
178150
StreamDeckEvent::LostConnection => {
179151
streamdeck.kind = None;
180-
input_events.send(StreamDeckInput::Disconnected);
152+
input_events.write(StreamDeckInput::Disconnected);
181153
}
182154
StreamDeckEvent::Connected(kind) => {
183155
streamdeck.kind = Some(kind);
184-
input_events.send(StreamDeckInput::Connected(kind));
156+
input_events.write(StreamDeckInput::Connected(kind));
185157
}
186158
StreamDeckEvent::KeyPressed(keys) => {
187159
for (k, s) in keys.iter().enumerate() {
188160
if *s == 1 && !inputs.pressed(StreamDeckKey(k as u8)) {
189161
inputs.press(StreamDeckKey(k as u8));
190-
input_events.send(StreamDeckInput::Press(k as u8));
162+
input_events.write(StreamDeckInput::Press(k as u8));
191163
}
192164

193165
if *s == 0 && inputs.pressed(StreamDeckKey(k as u8)) {
194166
inputs.release(StreamDeckKey(k as u8));
195-
input_events.send(StreamDeckInput::Release(k as u8));
167+
input_events.write(StreamDeckInput::Release(k as u8));
196168
}
197169
}
198170
}
@@ -230,11 +202,11 @@ impl StreamDeck {
230202
if let Some(kind) = self.kind {
231203
// Convert the texture to an image
232204
let mut dynamic_image = match image.texture_descriptor.format {
233-
bevy::render::render_resource::TextureFormat::Rgba8UnormSrgb => {
205+
bevy_render::render_resource::TextureFormat::Rgba8UnormSrgb => {
234206
ImageBuffer::from_raw(
235207
image.texture_descriptor.size.width,
236208
image.texture_descriptor.size.height,
237-
image.data.clone(),
209+
image.data.as_ref().unwrap().clone(),
238210
)
239211
.map(DynamicImage::ImageRgba8)
240212
}
@@ -258,7 +230,7 @@ impl StreamDeck {
258230

259231
// Apply a background
260232
if let Some(background) = image_mode.background {
261-
let LinearRgba {
233+
let bevy_color::LinearRgba {
262234
red, green, blue, ..
263235
} = background.to_linear();
264236

0 commit comments

Comments
 (0)