X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fedit_note_dialog.cc;h=08cfbadec2cf7cf602244c48149224257d21a51a;hb=d43d220f1f32b623e9ee9e49839cf2703306ca1a;hp=2782122dbf0693f89c36ed296586280b1ffb05fb;hpb=6ae4f104371ed433a79c8845de97428d964edd8b;p=ardour.git diff --git a/gtk2_ardour/edit_note_dialog.cc b/gtk2_ardour/edit_note_dialog.cc index 2782122dbf..08cfbadec2 100644 --- a/gtk2_ardour/edit_note_dialog.cc +++ b/gtk2_ardour/edit_note_dialog.cc @@ -93,7 +93,8 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set n) _time_clock.set_session (_region_view->get_time_axis_view().session ()); _time_clock.set_mode (AudioClock::BBT); - _time_clock.set (_region_view->source_relative_time_converter().to ((*_events.begin())->note()->time ()), true); + _time_clock.set (_region_view->source_relative_time_converter().to + ((*_events.begin())->note()->time()) + (_region_view->region()->position() - _region_view->region()->start()), true); l = manage (left_aligned_label (_("Length"))); table->attach (*l, 0, 1, r, r + 1); @@ -112,13 +113,13 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set n) _velocity_all.set_sensitive (false); _time_all.set_sensitive (false); _length_all.set_sensitive (false); - + int test_channel = (*_events.begin())->note()->channel (); int test_pitch = (*_events.begin())->note()->note (); int test_velocity = (*_events.begin())->note()->velocity (); - double test_time = (*_events.begin())->note()->time (); - double test_length = (*_events.begin())->note()->length (); - + Evoral::Beats test_time = (*_events.begin())->note()->time (); + Evoral::Beats test_length = (*_events.begin())->note()->length (); + for (set::iterator i = _events.begin(); i != _events.end(); ++i) { if ((*i)->note()->channel() != test_channel) { _channel_all.set_sensitive (true); @@ -140,22 +141,19 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set n) _length_all.set_sensitive (true); } } - + get_vbox()->pack_start (*table); add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); add_button (Gtk::Stock::APPLY, Gtk::RESPONSE_ACCEPT); set_default_response (Gtk::RESPONSE_ACCEPT); - - show_all (); } -int -EditNoteDialog::run () +void +EditNoteDialog::done (int r) { - int const r = Dialog::run (); if (r != RESPONSE_ACCEPT) { - return r; + return; } /* These calls mean that if a value is entered using the keyboard @@ -196,7 +194,8 @@ EditNoteDialog::run () } } - double const t = _region_view->source_relative_time_converter().from (_time_clock.current_time ()); + Evoral::Beats const t = _region_view->source_relative_time_converter().from + (_time_clock.current_time() - (_region_view->region()->position() - _region_view->region()->start())); if (!_time_all.get_sensitive() || _time_all.get_active ()) { for (set::iterator i = _events.begin(); i != _events.end(); ++i) { @@ -207,7 +206,7 @@ EditNoteDialog::run () } } - double const d = _region_view->region_relative_time_converter().from (_length_clock.current_duration ()); + Evoral::Beats const d = _region_view->region_relative_time_converter().from (_length_clock.current_duration ()); if (!_length_all.get_sensitive() || _length_all.get_active ()) { for (set::iterator i = _events.begin(); i != _events.end(); ++i) { @@ -227,6 +226,4 @@ EditNoteDialog::run () for (set::iterator i = _events.begin(); i != _events.end(); ++i) { (*i)->set_selected ((*i)->selected()); // change color } - - return r; }