X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftransform_dialog.cc;h=0c21de1a43960b049a53ade0d8ad665e38fee5c6;hb=7db39a206e6ab9f43299e6b8ae148d90b2ee6c4d;hp=762f504aa2d2df00e7b86b48ff928e327e94cf7c;hpb=4d202d9157bef5b6325fe54b7874080952f86a37;p=ardour.git diff --git a/gtk2_ardour/transform_dialog.cc b/gtk2_ardour/transform_dialog.cc index 762f504aa2..0c21de1a43 100644 --- a/gtk2_ardour/transform_dialog.cc +++ b/gtk2_ardour/transform_dialog.cc @@ -114,6 +114,7 @@ TransformDialog::TransformDialog() show_all(); _seed_chooser->value_spinner.hide(); + _seed_chooser->source_changed(); } TransformDialog::ValueChooser::ValueChooser(const Model& model) @@ -179,6 +180,9 @@ set_spinner_for(Gtk::SpinButton& spinner, spinner.set_digits(0); break; } + spinner.set_value( + std::min(spinner.get_adjustment()->get_upper(), + std::max(spinner.get_adjustment()->get_lower(), spinner.get_value()))); } void @@ -239,7 +243,7 @@ TransformDialog::ValueChooser::get(std::list& ops) const double max = std::max(a, b); const double range = max - min; - // "rand range * min +" (i.e. (rand * range) + min) + // "rand range * min +" ((rand * range) + min) ops.push_back(Operation(Operation::PUSH, Value(Value::RANDOM))); ops.push_back(Operation(Operation::PUSH, Value(range))); ops.push_back(Operation(Operation::MULT)); @@ -254,11 +258,13 @@ TransformDialog::ValueChooser::get(std::list& ops) const double last = max_spinner.get_value(); const double rise = last - first; - // "index rise * n_notes / first +" (i.e. index * rise / n_notes + first) + // "index rise * n_notes 1 - / first +" (index * rise / (n_notes - 1) + first) ops.push_back(Operation(Operation::PUSH, Value(Value::INDEX))); ops.push_back(Operation(Operation::PUSH, Value(rise))); ops.push_back(Operation(Operation::MULT)); ops.push_back(Operation(Operation::PUSH, Value(Value::N_NOTES))); + ops.push_back(Operation(Operation::PUSH, Value(1))); + ops.push_back(Operation(Operation::SUB)); ops.push_back(Operation(Operation::DIV)); ops.push_back(Operation(Operation::PUSH, Value(first))); ops.push_back(Operation(Operation::ADD)); @@ -303,6 +309,7 @@ TransformDialog::OperationChooser::OperationChooser(const Model& model) show_all(); value_chooser.property_combo.hide(); value_chooser.value_spinner.set_value(1); + value_chooser.source_changed(); } void