summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-05-14 16:16:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-05-14 16:16:54 +0000
commit6cf8026ac37cddb9cf84dbdecba9b7f576641fd8 (patch)
tree5a6fa3a9c23837478800192a950f568bc41ef167 /gtk2_ardour/editor_ops.cc
parentb1b02296d48cd9ed9a529c6b05e0297774131cd3 (diff)
add new "lock position" feature for regions
git-svn-id: svn://localhost/ardour2/trunk@1842 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc32
1 files changed, 14 insertions, 18 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 46443c20e9..64884c358b 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -3454,12 +3454,18 @@ void
Editor::set_region_lock (bool yn)
{
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
- AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
- if (arv) {
- if (arv->audio_region()->locked() != yn) {
- arv->audio_region()->set_locked (yn);
- }
- }
+ (*i)->region()->set_locked (yn);
+ }
+}
+
+/** Set the position-locked state of all selected regions to a particular value.
+ * @param yn true to make locked, false to make unlocked.
+ */
+void
+Editor::set_region_position_lock (bool yn)
+{
+ for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
+ (*i)->region()->set_position_locked (yn);
}
}
@@ -3467,12 +3473,7 @@ void
Editor::set_region_mute (bool yn)
{
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
- AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
- if (arv) {
- if (arv->audio_region()->muted() != yn) {
- arv->audio_region()->set_muted (yn);
- }
- }
+ (*i)->region()->set_muted (yn);
}
}
@@ -3480,12 +3481,7 @@ void
Editor::set_region_opaque (bool yn)
{
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
- AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
- if (arv) {
- if (arv->audio_region()->opaque() != yn) {
- arv->audio_region()->set_opaque (yn);
- }
- }
+ (*i)->region()->set_opaque (yn);
}
}