summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-12-20 17:26:07 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-12-20 17:26:07 +0000
commit99e92a1172d73f829c088ca1a15bb71a5de3fb4b (patch)
tree36201955e0fae77624d0bb97586116dded8d5432 /gtk2_ardour/gain_meter.cc
parent9062d7c731472bd9455bea829653653681ce4f17 (diff)
reconstruct and use global state commands (mute/solo/rec-enable/meter point)
git-svn-id: svn://localhost/ardour2/trunk@1235 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index bcd5bd0344..9c222b62c8 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -678,7 +678,13 @@ GainMeter::meter_press(GdkEventButton* ev)
/* ctrl-shift-click applies change to all routes */
+ _session.begin_reversible_command (_("meter point change"));
+ Session::GlobalMeteringStateCommand *cmd = new Session::GlobalMeteringStateCommand (_session, this);
_session.foreach_route (this, &GainMeter::set_meter_point, next_meter_point (_route->meter_point()));
+ cmd->mark();
+ _session.add_command (cmd);
+ _session.commit_reversible_command ();
+
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::Control)) {
@@ -687,12 +693,19 @@ GainMeter::meter_press(GdkEventButton* ev)
*/
if (ev->button == 1) {
+ _session.begin_reversible_command (_("meter point change"));
+ Session::GlobalMeteringStateCommand *cmd = new Session::GlobalMeteringStateCommand (_session, this);
set_mix_group_meter_point (*_route, next_meter_point (_route->meter_point()));
+ cmd->mark();
+ _session.add_command (cmd);
+ _session.commit_reversible_command ();
}
} else {
- /* click: solo this route */
+ /* click: change just this route */
+
+ // XXX no undo yet
_route->set_meter_point (next_meter_point (_route->meter_point()), this);
}