void
AutomationController::end_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);
- } else {
- _controllable->stop_touch (false, _controllable->session().transport_frame());
- }
+ _controllable->stop_touch (_controllable->session().transport_frame());
}
bool
void
GainMeterBase::amp_stop_touch ()
{
- _control->stop_touch (false, _control->session().transport_frame());
+ _control->stop_touch (_control->session().transport_frame());
effective_gain_display ();
}
if (grabbed) {
control->start_touch(control->session().transport_frame());
} else {
- control->stop_touch(false, control->session().transport_frame());
+ control->stop_touch(control->session().transport_frame());
}
}
if (!ac) {
return;
}
- ac->stop_touch (false, ac->session().transport_frame());
+ ac->stop_touch (ac->session().transport_frame());
}
bool
if (!c) {
return;
}
- c->stop_touch (true, c->session().transport_frame());
+ c->stop_touch (c->session().transport_frame());
}
void
_mute_release = 0;
}
- _route->mute_control()->stop_touch (false, _session->audible_frame ());
+ _route->mute_control()->stop_touch (_session->audible_frame ());
return false;
}
void set_automation_state(AutoState as);
void start_touch(double when);
- void stop_touch(bool mark, double when);
+ void stop_touch(double when);
/* inherited from PBD::Controllable. */
virtual double get_value () const;
void write_pass_finished (double when, double thinning_factor=0.0);
void start_touch (double when);
- void stop_touch (bool mark, double when);
+ void stop_touch (double when);
bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); }
bool writing() const { return _state == Write; }
bool touch_enabled() const { return _state == Touch; }
std::string value_as_string (boost::shared_ptr<const AutomationControl>) const;
void start_touch (double when);
- void stop_touch (bool mark, double when);
+ void stop_touch (double when);
bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); }
bool writing() const { return _auto_state == Write; }
bool touch_enabled() const { return _auto_state == Touch; }
*/
const bool list_did_write = !l->in_new_write_pass ();
- l->stop_touch (true, now);
+ l->stop_touch (now);
c->commit_transaction (list_did_write);
}
void
-AutomationControl::stop_touch(bool mark, double when)
+AutomationControl::stop_touch(double when)
{
if (!_list) return;
if (touching()) {
set_touching (false);
if (alist()->automation_state() == Touch) {
- alist()->stop_touch (mark, when);
+ alist()->stop_touch (when);
if (!_desc.toggled) {
AutomationWatch::instance().remove_automation_watch (shared_from_this());
-
}
}
}
}
void
-AutomationList::stop_touch (bool mark, double)
+AutomationList::stop_touch (double)
{
if (g_atomic_int_get (&_touching) == 0) {
/* this touch has already been stopped (probably by Automatable::transport_stopped),
}
g_atomic_int_set (&_touching, 0);
-
- if (_state == Touch) {
-
- if (mark) {
-
- /* XXX need to mark the last added point with the
- * current time
- */
- }
- }
}
/* _before may be owned by the undo stack,
}
for (AutomationWatches::iterator i = tmp.begin(); i != tmp.end(); ++i) {
- (*i)->stop_touch (true, when);
+ (*i)->stop_touch (when);
}
}
AutomationCtrlPtr c = get_automation_control (p);
DEBUG_TRACE(DEBUG::LV2Automate, string_compose ("End Touch p: %1\n", p));
if (c) {
- c->ac->stop_touch (true, std::max ((framepos_t)0, start - _current_latency));
+ c->ac->stop_touch (std::max ((framepos_t)0, start - _current_latency));
}
}
}
}
void
-Pannable::stop_touch (bool mark, double when)
+Pannable::stop_touch (double when)
{
const Controls& c (controls());
for (Controls::const_iterator ci = c.begin(); ci != c.end(); ++ci) {
boost::shared_ptr<AutomationControl> ac = boost::dynamic_pointer_cast<AutomationControl>(ci->second);
if (ac) {
- ac->alist()->stop_touch (mark, when);
+ ac->alist()->stop_touch (when);
}
}
g_atomic_int_set (&_touching, 0);
boost::shared_ptr<AutomationControl> ac = automation_control (Evoral::Parameter (PluginAutomation, 0, param_id));
if (ac) {
// ToDo subtract _plugin_signal_latency from audible_frame() when rolling, assert > 0
- ac->stop_touch (true, session().audible_frame());
+ ac->stop_touch (session().audible_frame());
}
}
boost::shared_ptr<AutomationControl> gain = _current_stripable->gain_control ();
if (gain) {
framepos_t now = session->engine().sample_time();
- gain->stop_touch (true, now);
+ gain->stop_touch (now);
}
}
break;
if (tb->value) {
gain->start_touch (now);
} else {
- gain->stop_touch (true, now);
+ gain->stop_touch (now);
}
}
}
ac->start_touch (ac->session().transport_frame());
}
} else {
- ac->stop_touch (true, ac->session().transport_frame());
+ ac->stop_touch (ac->session().transport_frame());
}
return true;
}
}
void
-Control::stop_touch (bool mark, double when)
+Control::stop_touch (double when)
{
if (normal_ac) {
- return normal_ac->stop_touch (mark, when);
+ return normal_ac->stop_touch (when);
}
}
void set_value (float val, PBD::Controllable::GroupControlDisposition gcd = PBD::Controllable::UseGroup);
virtual void start_touch (double when);
- virtual void stop_touch (bool mark, double when);
+ virtual void stop_touch (double when);
protected:
boost::shared_ptr<ARDOUR::AutomationControl> normal_ac;
Fader* master_fader = _master_surface->master_fader();
master_fader->set_in_use (false);
- master_fader->stop_touch (transport_frame(), true);
+ master_fader->stop_touch (transport_frame());
return none;
}
} else {
_fader->set_in_use (false);
- _fader->stop_touch (_surface->mcp().transport_frame(), true);
+ _fader->stop_touch (_surface->mcp().transport_frame());
}
}
if (touch_on) {
fader.start_touch (_surface->mcp().transport_frame());
} else {
- fader.stop_touch (_surface->mcp().transport_frame(), false);
+ fader.stop_touch (_surface->mcp().transport_frame());
}
}
ret = 0;
} else {
// end touch
- control->stop_touch (true, control->session().transport_frame());
+ control->stop_touch (control->session().transport_frame());
ret = 0;
}
// just in case some crazy surface starts sending control values before touch
if (!(*x).second) {
boost::shared_ptr<ARDOUR::AutomationControl> ctrl = (*x).first;
// turn touch off
- ctrl->stop_touch (true, ctrl->session().transport_frame());
+ ctrl->stop_touch (ctrl->session().transport_frame());
_touch_timeout.erase (x++);
} else {
x++;
if (touching) {
ac->start_touch (session.audible_frame());
} else {
- ac->stop_touch (true, session.audible_frame());
+ ac->stop_touch (session.audible_frame());
}
}
}
if (touching) {
ac->start_touch (session->audible_frame());
} else {
- ac->stop_touch (true, session->audible_frame());
+ ac->stop_touch (session->audible_frame());
}
}
}
if (touching) {
ac->start_touch (session.audible_frame());
} else {
- ac->stop_touch (true, session.audible_frame());
+ ac->stop_touch (session.audible_frame());
}
}
}