black working
This commit is contained in:
parent
21bc0496c2
commit
69b619dbf5
30
src/main.rs
30
src/main.rs
@ -16,7 +16,7 @@ use std::sync::Arc;
|
|||||||
use redis_ctrl::{RedisCtrl, Order};
|
use redis_ctrl::{RedisCtrl, Order};
|
||||||
use conf::Conf;
|
use conf::Conf;
|
||||||
use errors::LJResult;
|
use errors::LJResult;
|
||||||
use point::Point;
|
use point::{Point,Color};
|
||||||
use transformer::Transformers;
|
use transformer::Transformers;
|
||||||
use log::{LevelFilter, info, /* warn, */ error};
|
use log::{LevelFilter, info, /* warn, */ error};
|
||||||
use env_logger::Builder;
|
use env_logger::Builder;
|
||||||
@ -87,9 +87,10 @@ fn run_all() -> LJResult<()> {
|
|||||||
// 6 : Max Intensity Change = reread redis key /intensity
|
// 6 : Max Intensity Change = reread redis key /intensity
|
||||||
// 7 : kpps change = reread redis key /kpps
|
// 7 : kpps change = reread redis key /kpps
|
||||||
// 8 : color balance change = reread redis keys /red /green /blue
|
// 8 : color balance change = reread redis keys /red /green /blue
|
||||||
|
|
||||||
match order {
|
match order {
|
||||||
Order::Draw => {
|
Order::Draw | Order::Black => {
|
||||||
|
world_state.black = order == Order::Black;
|
||||||
|
|
||||||
let frame = get_next_frame(
|
let frame = get_next_frame(
|
||||||
&config,
|
&config,
|
||||||
&transformers,
|
&transformers,
|
||||||
@ -103,8 +104,6 @@ fn run_all() -> LJResult<()> {
|
|||||||
world_state.intensity = rs.get_int("intensity")?
|
world_state.intensity = rs.get_int("intensity")?
|
||||||
.try_into()?;
|
.try_into()?;
|
||||||
},
|
},
|
||||||
Order::Black => {
|
|
||||||
},
|
|
||||||
Order::Edh => {
|
Order::Edh => {
|
||||||
world_state.edh = rs.get_edh()?;
|
world_state.edh = rs.get_edh()?;
|
||||||
},
|
},
|
||||||
@ -158,6 +157,27 @@ fn get_next_frame(
|
|||||||
line = transformer.apply(&line, world_state);
|
line = transformer.apply(&line, world_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info!("-> {}", world_state.black);
|
||||||
|
|
||||||
|
// LIMITER and BLACK
|
||||||
|
line = line.into_iter()
|
||||||
|
.map(| p | {
|
||||||
|
|
||||||
|
let color = if world_state.black {
|
||||||
|
Color { r: 0, g: 0, b: 0 }
|
||||||
|
} else {
|
||||||
|
Color {
|
||||||
|
r: p.color.r.min(world_state.intensity),
|
||||||
|
g: p.color.g.min(world_state.intensity),
|
||||||
|
b: p.color.b.min(world_state.intensity)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Point { color,
|
||||||
|
..p
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
|
||||||
//info!("Line: {:?}", line);
|
//info!("Line: {:?}", line);
|
||||||
Ok(line)
|
Ok(line)
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,9 @@ pub struct Point {
|
|||||||
|
|
||||||
#[derive(Debug,Clone,Copy,Default,PartialEq)]
|
#[derive(Debug,Clone,Copy,Default,PartialEq)]
|
||||||
pub struct Color {
|
pub struct Color {
|
||||||
r: u8,
|
pub r: u8,
|
||||||
g: u8,
|
pub g: u8,
|
||||||
b: u8
|
pub b: u8
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<(f32,f32,u32)> for Point {
|
impl From<(f32,f32,u32)> for Point {
|
||||||
|
@ -43,7 +43,8 @@ pub struct WorldState {
|
|||||||
pub client_key: String, //u8,
|
pub client_key: String, //u8,
|
||||||
pub intensity: u8,
|
pub intensity: u8,
|
||||||
pub kpps: u32,
|
pub kpps: u32,
|
||||||
pub color: Color
|
pub color: Color,
|
||||||
|
pub black: bool
|
||||||
}
|
}
|
||||||
|
|
||||||
impl WorldState {
|
impl WorldState {
|
||||||
|
Loading…
Reference in New Issue
Block a user