StepEditor::step_editor_hidden (GdkEventAny*)
{
step_editor_hide ();
- return true;
+ return true; // XXX remember position ?!
}
void
assert (step_edit_region);
assert (step_edit_region_view);
- if (beat_duration == 0.0) {
+ if (beat_duration == 0.0 && step_editor) {
+ beat_duration = step_editor->note_length();
+ } else if (beat_duration == 0.0) {
bool success;
beat_duration = _editor.get_grid_type_as_beats (success, step_edit_insert_position);
framepos_t fpos = step_edit_region_view->region_beats_to_absolute_frames (step_edit_beat_pos + beat_duration);
- if (fpos >= (_editor.leftmost_position() + _editor.current_page_frames())) {
- _editor.reset_x_origin (fpos - (_editor.current_page_frames()/4));
+ if (fpos >= (_editor.leftmost_sample() + _editor.current_page_samples())) {
+ _editor.reset_x_origin (fpos - (_editor.current_page_samples()/4));
}
Evoral::MusicalTime at = step_edit_beat_pos;