Fix clamping bug,

This commit is contained in:
Thomas Wilshaw
2021-04-09 11:57:49 +01:00
parent 4d8233e7ac
commit cb0cfebf40
3 changed files with 4 additions and 9 deletions
+1
View File
@@ -42,6 +42,7 @@ Block::Block() :
out_transition_(nullptr) out_transition_(nullptr)
{ {
AddInput(kLengthInput, NodeValue::kRational, InputFlags(kInputFlagNotConnectable | kInputFlagNotKeyframable)); AddInput(kLengthInput, NodeValue::kRational, InputFlags(kInputFlagNotConnectable | kInputFlagNotKeyframable));
SetInputProperty(kLengthInput, "min", QVariant::fromValue(rational(0, 1)));
IgnoreInvalidationsFrom(kLengthInput); IgnoreInvalidationsFrom(kLengthInput);
IgnoreHashingFrom(kLengthInput); IgnoreHashingFrom(kLengthInput);
-2
View File
@@ -190,8 +190,6 @@ void RationalSlider::ConvertValue(QVariant v)
void RationalSlider::changeDisplayType() void RationalSlider::changeDisplayType()
{ {
if (!LockDisplayType()) { if (!LockDisplayType()) {
// Loop through the display types
//SetDisplayType(static_cast<RationalSlider::DisplayType>(((int)(display_type_) + 1) % 4));
Menu m(this); Menu m(this);
MenuShared::instance()->AddItemsForTimeRulerMenu(&m, timebase_); MenuShared::instance()->AddItemsForTimeRulerMenu(&m, timebase_);
MenuShared::instance()->AboutToShowTimeRulerActions(); MenuShared::instance()->AboutToShowTimeRulerActions();
+3 -7
View File
@@ -335,21 +335,17 @@ void SliderBase::LadderDragged(int value, double multiplier)
d_v = rational::fromDouble(drag_val); d_v = rational::fromDouble(drag_val);
temp_dragged_value_.setValue(d_v); temp_dragged_value_.setValue(d_v);
QVariant clamped = ClampValue(temp_dragged_value_); clamped_temp_dragged_value_ = ClampValue(temp_dragged_value_);
if (clamped.value<rational>() != temp_dragged_value_.value<rational>()) {
temp_dragged_value_ = clamped;
dragged_diff_ = (temp_dragged_value_.value<rational>() - value_.value<rational>()).toDouble();
}
UpdateLabel(temp_dragged_value_); UpdateLabel(temp_dragged_value_);
drag_ladder_->SetValue(ValueToString(temp_dragged_value_)); drag_ladder_->SetValue(ValueToString(clamped_temp_dragged_value_));
if (!Config::Current()[QStringLiteral("UseSliderLadders")].toBool()) { if (!Config::Current()[QStringLiteral("UseSliderLadders")].toBool()) {
RepositionLadder(); RepositionLadder();
} }
emit ValueChanged(temp_dragged_value_); emit ValueChanged(clamped_temp_dragged_value_);
break; break;
} }
} }