summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_regions.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-04-28 14:51:17 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-04-28 14:51:17 +0000
commit9c5155358833c09652bcfaf50b724583cc5bc139 (patch)
tree64b1fe59ceec19f495a7c4fce6227d1f052f5804 /gtk2_ardour/editor_regions.cc
parent27dfb74bda74239944922b392613bc7e54e569de (diff)
remove "ardourBuffering" file creation (it was useless, sadly); editor region list now responds to bounds changes; tweak opton in RC config editor
git-svn-id: svn://localhost/ardour2/branches/3.0@7013 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_regions.cc')
-rw-r--r--gtk2_ardour/editor_regions.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc
index 6704fce7d8..9d00015b8d 100644
--- a/gtk2_ardour/editor_regions.cc
+++ b/gtk2_ardour/editor_regions.cc
@@ -304,8 +304,12 @@ EditorRegions::add_region (boost::shared_ptr<Region> region)
void
EditorRegions::region_changed (boost::shared_ptr<Region> r, const PropertyChange& what_changed)
{
- if (what_changed.contains (ARDOUR::Properties::name)) {
- /* find the region in our model and change its name */
+ if (what_changed.contains (ARDOUR::Properties::name) ||
+ what_changed.contains (ARDOUR::Properties::start) ||
+ what_changed.contains (ARDOUR::Properties::position) ||
+ what_changed.contains (ARDOUR::Properties::length)) {
+
+ /* find the region in our model and update its row */
TreeModel::Children rows = _model->children ();
TreeModel::iterator i = rows.begin ();
while (i != rows.end ()) {
@@ -320,8 +324,7 @@ EditorRegions::region_changed (boost::shared_ptr<Region> r, const PropertyChange
}
if (j != children.end()) {
- (*j)[_columns.name] = r->name ();
- break;
+ populate_row (r, *j);
}
++i;
@@ -718,7 +721,7 @@ EditorRegions::populate_row (boost::shared_ptr<Region> region, TreeModel::Row co
case AudioClock::Frames:
snprintf (start_str, sizeof (start_str), "%" PRId64, region->position());
- snprintf (end_str, sizeof (end_str), "%" PRId64, (region->position() + region->length() - 1));
+ snprintf (end_str, sizeof (end_str), "%" PRId64, (region->last_frame()));
snprintf (length_str, sizeof (length_str), "%" PRId64, region->length());
snprintf (sync_str, sizeof (sync_str), "%" PRId64, region->sync_position() + region->position());