enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
[ardour.git] / gtk2_ardour / edit_note_dialog.cc
index 3d72e080ed88ba2faf4dd231d34e93e73669f6aa..39a3fa4e789ad354e6f56fe4e20c0ecc5edf0232 100644 (file)
@@ -26,7 +26,7 @@
 #include "midi_region_view.h"
 #include "note_base.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace Gtk;
@@ -93,7 +93,8 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set<NoteBase*> 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<NoteBase*> 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<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
                if ((*i)->note()->channel() != test_channel) {
                        _channel_all.set_sensitive (true);
@@ -140,7 +141,7 @@ EditNoteDialog::EditNoteDialog (MidiRegionView* rv, set<NoteBase*> n)
                        _length_all.set_sensitive (true);
                }
        }
-       
+
        get_vbox()->pack_start (*table);
 
        add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
@@ -193,7 +194,8 @@ EditNoteDialog::done (int r)
                }
        }
 
-       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<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
@@ -204,7 +206,7 @@ EditNoteDialog::done (int r)
                }
        }
 
-       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<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {