summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-02-15 14:03:19 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-02-15 14:03:19 +0000
commitb02e95f201a6c665e7f1d529b558dca2f4a6924e (patch)
tree4bbdea4bc5433724c664227028ff07d26f693d2c /gtk2_ardour/editor_ops.cc
parent020e4a89dc6806a6fc3dd7ffe0dd7cc52ef91c8b (diff)
make region gain line visibility global, not per-region
git-svn-id: svn://localhost/ardour2/branches/3.0@11492 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc29
1 files changed, 13 insertions, 16 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 2109b54ad2..cdad586125 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -4723,30 +4723,27 @@ Editor::reset_region_gain_envelopes ()
}
void
-Editor::toggle_gain_envelope_visibility ()
+Editor::set_region_gain_visibility (RegionView* rv, bool yn)
{
- if (_ignore_region_action) {
- return;
+ AudioRegionView* arv = dynamic_cast<AudioRegionView*> (rv);
+ if (arv) {
+ arv->set_envelope_visible (yn);
}
+}
- RegionSelection rs = get_regions_from_selection_and_entered ();
-
- if (!_session || rs.empty()) {
+void
+Editor::set_gain_envelope_visibility (bool yn)
+{
+ if (!_session) {
return;
}
- _session->begin_reversible_command (_("region gain envelope visible"));
-
- for (RegionSelection::iterator i = rs.begin(); i != rs.end(); ++i) {
- AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
- if (arv) {
- arv->region()->clear_changes ();
- arv->set_envelope_visible (!arv->envelope_visible());
- _session->add_command (new StatefulDiffCommand (arv->region()));
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ AudioTimeAxisView* v = dynamic_cast<AudioTimeAxisView*>(*i);
+ if (v) {
+ v->audio_view()->foreach_regionview (sigc::bind (sigc::mem_fun (this, &Editor::set_region_gain_visibility), yn));
}
}
-
- _session->commit_reversible_command ();
}
void