Skip to content

Commit

Permalink
#2 and #3: Multiple mode changes
Browse files Browse the repository at this point in the history
- Bring feedback transformation to all modes
- Let source min/max influence feedback value in
  toggle mode just like in absolute and relative mode
  • Loading branch information
helgoboss committed Jul 19, 2020
1 parent 204af92 commit b653f1a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
17 changes: 14 additions & 3 deletions main/src/domain/mode_model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ pub struct ModeModel {
#[derive(Clone, Debug)]
pub enum Mode {
Absolute(AbsoluteMode<EelTransformation>),
Relative(RelativeMode),
Toggle(ToggleMode),
Relative(RelativeMode<EelTransformation>),
Toggle(ToggleMode<EelTransformation>),
}

impl Mode {
Expand Down Expand Up @@ -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(),
}),
}
}
Expand Down Expand Up @@ -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 {
Expand Down

0 comments on commit b653f1a

Please sign in to comment.