mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-31 02:47:43 +01:00
r205@gandalf: fugalh | 2006-07-26 18:11:47 -0600
More Command conversions git-svn-id: svn://localhost/ardour2/branches/undo@697 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ed31a9a262
commit
656d56b12d
5 changed files with 24 additions and 13 deletions
|
|
@ -906,10 +906,11 @@ Editor::new_transport_marker_menu_set_punch ()
|
|||
XMLNode &after = session->locations()->get_state();
|
||||
session->add_command (MementoCommand<Locations>(*(session->locations()), before, after));
|
||||
} else {
|
||||
session->add_undo (retype_return<void>(bind (mem_fun (*tpl, &Location::set), tpl->start(), tpl->end())));
|
||||
session->add_redo (retype_return<void>(bind (mem_fun (*tpl, &Location::set), temp_location->start(), temp_location->end())));
|
||||
XMLNode &before = tpl->get_state();
|
||||
tpl->set_hidden(false, this);
|
||||
tpl->set(temp_location->start(), temp_location->end());
|
||||
XMLNode &after = tpl->get_state();
|
||||
session->add_command (MementoCommand<Location>(*tpl, before, after));
|
||||
}
|
||||
|
||||
commit_reversible_command ();
|
||||
|
|
|
|||
|
|
@ -47,7 +47,8 @@ AudioRegionGainLine::start_drag (ControlPoint* cp, float fraction)
|
|||
{
|
||||
AutomationLine::start_drag(cp,fraction);
|
||||
if (!rv.region.envelope_active()) {
|
||||
trackview.session().add_undo( bind( mem_fun(rv.region, &AudioRegion::set_envelope_active), false) );
|
||||
trackview.session().add_command(MementoUndoCommand<AudioRegion>(rv.region, rv.region.get_state()));
|
||||
rv.region.set_envelope_active(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -63,9 +64,10 @@ AudioRegionGainLine::remove_point (ControlPoint& cp)
|
|||
XMLNode &before = get_state();
|
||||
|
||||
if (!rv.region.envelope_active()) {
|
||||
trackview.session().add_undo( bind( mem_fun(rv.region, &AudioRegion::set_envelope_active), false) );
|
||||
trackview.session().add_redo( bind( mem_fun(rv.region, &AudioRegion::set_envelope_active), true) );
|
||||
XMLNode &before = rv.region.get_state();
|
||||
rv.region.set_envelope_active(true);
|
||||
XMLNode &after = rv.region.get_state();
|
||||
trackview.session().add_command(MementoCommand<AudioRegion>(rv.region, before, after));
|
||||
}
|
||||
|
||||
alist.erase (mr.start, mr.end);
|
||||
|
|
|
|||
|
|
@ -1148,9 +1148,11 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev)
|
|||
|
||||
|
||||
if (!region.envelope_active()) {
|
||||
trackview.session().add_undo( bind( mem_fun(region, &AudioRegion::set_envelope_active), false) );
|
||||
XMLNode &before, &after;
|
||||
before = region.get_state();
|
||||
region.set_envelope_active(true);
|
||||
trackview.session().add_redo( bind( mem_fun(region, &AudioRegion::set_envelope_active), true) );
|
||||
after = region.get_state();
|
||||
trackview.session().add_command(MementoCommand<AudioRegion>(region, before, after));
|
||||
}
|
||||
|
||||
region.envelope().add (fx, y);
|
||||
|
|
|
|||
|
|
@ -570,8 +570,10 @@ void
|
|||
RouteUI::reversibly_apply_route_boolean (string name, void (Route::*func)(bool, void *), bool yn, void *arg)
|
||||
{
|
||||
_session.begin_reversible_command (name);
|
||||
_session.add_undo (bind (mem_fun (_route, func), !yn, (void *) arg));
|
||||
_session.add_redo (bind (mem_fun (_route, func), yn, (void *) arg));
|
||||
XMLNode &before = _route.get_state();
|
||||
bind(mem_fun(_route, func), yn, arg)();
|
||||
XMLNode &after = _route.get_state();
|
||||
_session.add_command (MementoCommand<Route>(_route, before, after));
|
||||
_session.commit_reversible_command ();
|
||||
}
|
||||
|
||||
|
|
@ -579,8 +581,10 @@ void
|
|||
RouteUI::reversibly_apply_audio_track_boolean (string name, void (AudioTrack::*func)(bool, void *), bool yn, void *arg)
|
||||
{
|
||||
_session.begin_reversible_command (name);
|
||||
_session.add_undo (bind (mem_fun (*audio_track(), func), !yn, (void *) arg));
|
||||
_session.add_redo (bind (mem_fun (*audio_track(), func), yn, (void *) arg));
|
||||
XMLNode &before = audio_track()->get_state();
|
||||
bind (mem_fun (*audio_track(), func), yn, arg)();
|
||||
XMLNode &after = audio_track()->get_state();
|
||||
_session.add_command (MementoCommand<AudioTrack>(*audio_track(), before, after));
|
||||
_session.commit_reversible_command ();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -320,8 +320,10 @@ Session::non_realtime_stop (bool abort)
|
|||
}
|
||||
|
||||
if (change_end) {
|
||||
add_undo (sigc::retype_return<void>(sigc::bind (mem_fun (*loc, &Location::set_end), loc->end())));
|
||||
add_redo (sigc::retype_return<void>(sigc::bind (mem_fun (*loc, &Location::set_end), _transport_frame)));
|
||||
XMLNode &before = loc->get_state();
|
||||
loc->set_end(_transport_frame);
|
||||
XMLNode &after = loc->get_state();
|
||||
add_command (MementoCommand<Location>(*loc, before, after));
|
||||
}
|
||||
|
||||
_end_location_is_free = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue