mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-31 10:57:43 +01:00
Merged with trunk R776
git-svn-id: svn://localhost/ardour2/branches/midi@777 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
38c7d34d8c
commit
ab6f1ed9ba
110 changed files with 7360 additions and 785 deletions
|
|
@ -25,6 +25,7 @@
|
|||
#include <gtkmm2ext/bindable_button.h>
|
||||
|
||||
#include <ardour/route_group.h>
|
||||
#include <pbd/memento_command.h>
|
||||
|
||||
#include "route_ui.h"
|
||||
#include "keyboard.h"
|
||||
|
|
@ -130,9 +131,10 @@ RouteUI::mute_press(GdkEventButton* ev)
|
|||
/* ctrl-shift-click applies change to all routes */
|
||||
|
||||
_session.begin_reversible_command (_("mute change"));
|
||||
_session.add_undo (_session.global_mute_memento(this));
|
||||
Session::GlobalMuteStateCommand *cmd = new Session::GlobalMuteStateCommand(_session, this);
|
||||
_session.set_all_mute (!_route->muted());
|
||||
_session.add_redo_no_execute (_session.global_mute_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command(cmd);
|
||||
_session.commit_reversible_command ();
|
||||
|
||||
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::Control)) {
|
||||
|
|
@ -205,9 +207,10 @@ RouteUI::solo_press(GdkEventButton* ev)
|
|||
/* ctrl-shift-click applies change to all routes */
|
||||
|
||||
_session.begin_reversible_command (_("solo change"));
|
||||
_session.add_undo (_session.global_solo_memento(this));
|
||||
Session::GlobalSoloStateCommand *cmd = new Session::GlobalSoloStateCommand(_session, this);
|
||||
_session.set_all_solo (!_route->soloed());
|
||||
_session.add_redo_no_execute (_session.global_solo_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command (cmd);
|
||||
_session.commit_reversible_command ();
|
||||
|
||||
} else if (Keyboard::modifier_state_contains (ev->state, Keyboard::ModifierMask (Keyboard::Control|Keyboard::Alt))) {
|
||||
|
|
@ -215,10 +218,11 @@ RouteUI::solo_press(GdkEventButton* ev)
|
|||
// ctrl-alt-click: exclusively solo this track, not a toggle */
|
||||
|
||||
_session.begin_reversible_command (_("solo change"));
|
||||
_session.add_undo (_session.global_solo_memento(this));
|
||||
Session::GlobalSoloStateCommand *cmd = new Session::GlobalSoloStateCommand (_session, this);
|
||||
_session.set_all_solo (false);
|
||||
_route->set_solo (true, this);
|
||||
_session.add_redo_no_execute (_session.global_solo_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command(cmd);
|
||||
_session.commit_reversible_command ();
|
||||
|
||||
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::Shift)) {
|
||||
|
|
@ -278,7 +282,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
|
|||
else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ModifierMask (Keyboard::Control|Keyboard::Shift))) {
|
||||
|
||||
_session.begin_reversible_command (_("rec-enable change"));
|
||||
_session.add_undo (_session.global_record_enable_memento(this));
|
||||
Session::GlobalRecordEnableStateCommand *cmd = new Session::GlobalRecordEnableStateCommand(_session, this);
|
||||
|
||||
if (rec_enable_button->get_active()) {
|
||||
_session.record_disenable_all ();
|
||||
|
|
@ -286,7 +290,8 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
|
|||
_session.record_enable_all ();
|
||||
}
|
||||
|
||||
_session.add_redo_no_execute (_session.global_record_enable_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command(cmd);
|
||||
_session.commit_reversible_command ();
|
||||
|
||||
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::Control)) {
|
||||
|
|
@ -555,9 +560,10 @@ RouteUI::set_mix_group_solo(boost::shared_ptr<Route> route, bool yn)
|
|||
|
||||
if((mix_group = route->mix_group()) != 0){
|
||||
_session.begin_reversible_command (_("mix group solo change"));
|
||||
_session.add_undo (_session.global_solo_memento (this));
|
||||
Session::GlobalSoloStateCommand *cmd = new Session::GlobalSoloStateCommand(_session, this);
|
||||
mix_group->apply(&Route::set_solo, yn, this);
|
||||
_session.add_redo_no_execute (_session.global_solo_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command (cmd);
|
||||
_session.commit_reversible_command ();
|
||||
} else {
|
||||
reversibly_apply_route_boolean ("solo change", &Route::set_solo, !route->soloed(), this);
|
||||
|
|
@ -568,8 +574,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 (new MementoCommand<Route>(*_route, before, after));
|
||||
_session.commit_reversible_command ();
|
||||
}
|
||||
|
||||
|
|
@ -577,8 +585,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 (new MementoCommand<AudioTrack>(*audio_track(), before, after));
|
||||
_session.commit_reversible_command ();
|
||||
}
|
||||
|
||||
|
|
@ -589,9 +599,10 @@ RouteUI::set_mix_group_mute(boost::shared_ptr<Route> route, bool yn)
|
|||
|
||||
if((mix_group = route->mix_group()) != 0){
|
||||
_session.begin_reversible_command (_("mix group mute change"));
|
||||
_session.add_undo (_session.global_mute_memento (this));
|
||||
Session::GlobalMuteStateCommand *cmd = new Session::GlobalMuteStateCommand (_session, this);
|
||||
mix_group->apply(&Route::set_mute, yn, this);
|
||||
_session.add_redo_no_execute (_session.global_mute_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command(cmd);
|
||||
_session.commit_reversible_command ();
|
||||
} else {
|
||||
reversibly_apply_route_boolean ("mute change", &Route::set_mute, !route->muted(), this);
|
||||
|
|
@ -605,9 +616,10 @@ RouteUI::set_mix_group_rec_enable(boost::shared_ptr<Route> route, bool yn)
|
|||
|
||||
if((mix_group = route->mix_group()) != 0){
|
||||
_session.begin_reversible_command (_("mix group rec-enable change"));
|
||||
_session.add_undo (_session.global_record_enable_memento (this));
|
||||
Session::GlobalRecordEnableStateCommand *cmd = new Session::GlobalRecordEnableStateCommand(_session, this);
|
||||
mix_group->apply (&Route::set_record_enable, yn, this);
|
||||
_session.add_redo_no_execute (_session.global_record_enable_memento(this));
|
||||
cmd->mark();
|
||||
_session.add_command(cmd);
|
||||
_session.commit_reversible_command ();
|
||||
} else {
|
||||
reversibly_apply_route_boolean ("rec-enable change", &Route::set_record_enable, !_route->record_enabled(), this);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue