From b653f1ab8a3986d2617cb043e466037da0a24256 Mon Sep 17 00:00:00 2001 From: Benjamin Klum Date: Sun, 19 Jul 2020 18:29:18 +0200 Subject: [PATCH] #2 and #3: Multiple mode changes - Bring feedback transformation to all modes - Let source min/max influence feedback value in toggle mode just like in absolute and relative mode --- main/lib/helgoboss-learn | 2 +- main/src/domain/mode_model.rs | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/main/lib/helgoboss-learn b/main/lib/helgoboss-learn index 1b2e5a000..6591d66e7 160000 --- a/main/lib/helgoboss-learn +++ b/main/lib/helgoboss-learn @@ -1 +1 @@ -Subproject commit 1b2e5a000c9416cf8d3592f5b269d491adc4b417 +Subproject commit 6591d66e73893034d14e3ae50f060595ecc94075 diff --git a/main/src/domain/mode_model.rs b/main/src/domain/mode_model.rs index 980ec9920..993cf4ac8 100644 --- a/main/src/domain/mode_model.rs +++ b/main/src/domain/mode_model.rs @@ -57,8 +57,8 @@ pub struct ModeModel { #[derive(Clone, Debug)] pub enum Mode { Absolute(AbsoluteMode), - Relative(RelativeMode), - Toggle(ToggleMode), + Relative(RelativeMode), + Toggle(ToggleMode), } impl Mode { @@ -217,12 +217,23 @@ impl ModeModel { reverse: self.reverse.get(), rotate: self.rotate.get(), increment_counter: 0, + feedback_transformation: EelTransformation::compile( + self.eel_feedback_transformation.get_ref(), + ResultVariable::X, + ) + .ok(), }), Toggle => Mode::Toggle(ToggleMode { + source_value_interval: self.source_value_interval.get(), target_value_interval: self.target_value_interval.get(), press_duration_processor: PressDurationProcessor::new( self.press_duration_interval.get(), ), + feedback_transformation: EelTransformation::compile( + self.eel_feedback_transformation.get_ref(), + ResultVariable::X, + ) + .ok(), }), } } @@ -250,7 +261,7 @@ impl ModeModel { } pub fn supports_eel_feedback_transformation(&self) -> bool { - self.r#type.get() == ModeType::Absolute + true } pub fn supports_round_target_value(&self) -> bool {