forward port automation handling changes from 2.x, upto and including about rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording

git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2010-08-19 21:09:40 +00:00
parent b6642d14ca
commit 7b6b75f38f
37 changed files with 429 additions and 281 deletions

View file

@ -19,12 +19,16 @@
*/
#include <iomanip>
#include "pbd/error.h"
#include "ardour/automation_list.h"
#include "ardour/automation_control.h"
#include "ardour/event_type_map.h"
#include "ardour/automatable.h"
#include "ardour/panner.h"
#include "ardour/session.h"
#include "ardour_ui.h"
#include "utils.h"
#include "automation_controller.h"
@ -121,13 +125,24 @@ AutomationController::value_adjusted()
void
AutomationController::start_touch()
{
_controllable->start_touch();
_controllable->start_touch (_controllable->session().transport_frame());
}
void
AutomationController::end_touch()
AutomationController::end_touch ()
{
_controllable->stop_touch();
if (_controllable->automation_state() == Touch) {
bool mark = false;
double when = 0;
if (_controllable->session().transport_rolling()) {
mark = true;
when = _controllable->session().transport_frame();
}
_controllable->stop_touch (mark, when);
}
}
void