changes to region popup editor inspired by carlh 3.0, rev 5813
authorBen Loftis <ben@glw.com>
Wed, 21 Oct 2009 15:59:00 +0000 (15:59 +0000)
committerBen Loftis <ben@glw.com>
Wed, 21 Oct 2009 15:59:00 +0000 (15:59 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5840 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/audio_region_editor.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor_ops.cc
libs/ardour/region.cc

index 9204d4b88b247d71a504e7a5f974a5f337c21efd..288f2b45567cff8b9a0a9189002896c084e5725c 100644 (file)
@@ -44,8 +44,8 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion>
        : RegionEditor (s),
          _region (r),
          _region_view (rv),
-         name_label (_("NAME:")),
-         audition_button (_("play")),
+         name_label (_("Name:")),
+         audition_button (_("Audition")),
          time_table (5, 2),
          position_clock (X_("regionposition"), true, X_("AudioRegionEditorClock"), true),
          end_clock (X_("regionend"), true, X_("AudioRegionEditorClock"), true),
@@ -83,15 +83,15 @@ AudioRegionEditor::AudioRegionEditor (Session& s, boost::shared_ptr<AudioRegion>
        top_row_hbox.pack_end (top_row_button_hbox, true, true);
 
        position_label.set_name ("AudioRegionEditorLabel");
-       position_label.set_text (_("POSITION:"));
+       position_label.set_text (_("Position:"));
        end_label.set_name ("AudioRegionEditorLabel");
-       end_label.set_text (_("END:"));
+       end_label.set_text (_("End:"));
        length_label.set_name ("AudioRegionEditorLabel");
-       length_label.set_text (_("LENGTH:"));
+       length_label.set_text (_("Length:"));
        sync_label.set_name ("AudioRegionEditorLabel");
-       sync_label.set_text (_("SYNC POINT:"));
+       sync_label.set_text (_("Sync Point:"));
        start_label.set_name ("AudioRegionEditorLabel");
-       start_label.set_text (_("FILE START:"));
+       start_label.set_text (_("File Start:"));
        
        time_table.set_col_spacings (2);
        time_table.set_row_spacings (5);
@@ -246,7 +246,7 @@ AudioRegionEditor::end_clock_changed ()
 
        _session.commit_reversible_command ();
 
-       end_clock.set (_region->position() + _region->length(), true);
+       end_clock.set (_region->position() + _region->length()-1, true);
 }
 
 void
@@ -260,7 +260,7 @@ AudioRegionEditor::length_clock_changed ()
 
        if (pl) {
                XMLNode &before = pl->get_state();
-               _region->trim_end (_region->position() + frames, this);
+               _region->trim_end (_region->position() + frames -1, this);
                XMLNode &after = pl->get_state();
                _session.add_command(new MementoCommand<Playlist>(*pl, &before, &after));
        }
@@ -293,13 +293,13 @@ AudioRegionEditor::bounds_changed (Change what_changed)
 {
        if ((what_changed & Change (PositionChanged|LengthChanged)) == Change (PositionChanged|LengthChanged)) {
                position_clock.set (_region->position(), true);
-               end_clock.set (_region->position() + _region->length(), true);
+               end_clock.set (_region->position() + _region->length() -1, true);
                length_clock.set (_region->length(), true);
        } else if (what_changed & Change (PositionChanged)) {
                position_clock.set (_region->position(), true);
-               end_clock.set (_region->position() + _region->length(), true);
+               end_clock.set (_region->position() + _region->length() -1, true);
        } else if (what_changed & Change (LengthChanged)) {
-               end_clock.set (_region->position() + _region->length(), true);
+               end_clock.set (_region->position() + _region->length() -1, true);
                length_clock.set (_region->length(), true);
        }
 
index 133e34b8a8bb6dfe65fd0942d8d9806f09d88902..5fd90e10680e1a466fdebd92f665e9f75b09e7ad 100644 (file)
@@ -1843,13 +1843,16 @@ Editor::add_region_context_items (AudioStreamView* sv, boost::shared_ptr<Region>
                );
 
                items.push_back (MenuElem (_("Rename"), mem_fun(*this, &Editor::rename_region)));
-               items.push_back (MenuElem (_("Popup region editor"), mem_fun(*this, &Editor::edit_region)));
+               items.push_back (MenuElem (_("Region Editor"), mem_fun(*this, &Editor::edit_region)));
        }
 
        items.push_back (MenuElem (_("Raise to top layer"), mem_fun(*this, &Editor::raise_region_to_top)));
        items.push_back (MenuElem (_("Lower to bottom layer"), mem_fun  (*this, &Editor::lower_region_to_bottom)));
        items.push_back (SeparatorElem());
        items.push_back (MenuElem (_("Define sync point"), mem_fun(*this, &Editor::set_region_sync_from_edit_point)));
+       if (_edit_point == EditAtMouse) {
+               items.back ().set_sensitive (false);
+       }
        items.push_back (MenuElem (_("Remove sync point"), mem_fun(*this, &Editor::remove_region_sync)));
        items.push_back (SeparatorElem());
 
index c8eef07ea43936d6d7d7501306437f2e1e35c894..4026d546f42d376699749ed339650620e0b549e9 100644 (file)
@@ -3203,7 +3203,7 @@ Editor::set_sync_point (nframes64_t where, const RegionSelection& rs)
                }
 
                XMLNode &before = region->playlist()->get_state();
-               region->set_sync_position (get_preferred_edit_position());
+               region->set_sync_position (where);
                XMLNode &after = region->playlist()->get_state();
                session->add_command(new MementoCommand<Playlist>(*(region->playlist()), &before, &after));
        }
index 37b10d6752e32c231eff081c9c00a8eb7a140eae..6a40a561276c659297518af27d7385484673d17a 100644 (file)
@@ -645,7 +645,7 @@ Region::trim_end (nframes_t new_endpoint, void *src)
        }
 
        if (new_endpoint > _position) {
-               trim_to_internal (_position, new_endpoint - _position, this);
+               trim_to_internal (_position, new_endpoint - _position +1, this);
                if (!_frozen) {
                        recompute_at_end ();
                }
@@ -798,9 +798,7 @@ Region::set_locked (bool yn)
 void
 Region::set_sync_position (nframes_t absolute_pos)
 {
-       nframes_t file_pos;
-
-       file_pos = _start + (absolute_pos - _position);
+       nframes_t const file_pos = _start + (absolute_pos - _position);
 
        if (file_pos != _sync_position) {