diff --git a/libs/surfaces/control_protocol/basic_ui.cc b/libs/surfaces/control_protocol/basic_ui.cc index 737809aba5..7ec5bf7b00 100644 --- a/libs/surfaces/control_protocol/basic_ui.cc +++ b/libs/surfaces/control_protocol/basic_ui.cc @@ -883,6 +883,12 @@ BasicUI::click_gain () return _session->click_gain (); } +samplepos_t +BasicUI::audible_sample (bool* const latent_locate) const +{ + return _session->audible_sample (latent_locate); +} + const Locations* BasicUI::locations () const { diff --git a/libs/surfaces/control_protocol/control_protocol/basic_ui.h b/libs/surfaces/control_protocol/control_protocol/basic_ui.h index f395d96cf4..658ac0da7a 100644 --- a/libs/surfaces/control_protocol/control_protocol/basic_ui.h +++ b/libs/surfaces/control_protocol/control_protocol/basic_ui.h @@ -211,6 +211,10 @@ public: boost::shared_ptr click_gain(); + /* Time */ + + samplepos_t audible_sample (bool* latent_locate = NULL) const; + /* Locations */ const Locations* locations () const; diff --git a/libs/surfaces/faderport8/actions.cc b/libs/surfaces/faderport8/actions.cc index 6083924a5e..209778cc98 100644 --- a/libs/surfaces/faderport8/actions.cc +++ b/libs/surfaces/faderport8/actions.cc @@ -570,7 +570,7 @@ FaderPort8::button_encoder () /* Don't add another mark if one exists within 1/100th of a second of * the current position and we're not rolling. */ - samplepos_t where = _session->audible_sample(); + samplepos_t where = audible_sample(); if (transport_stopped_or_stopping() && locations()->mark_at (timepos_t (where), timecnt_t (_session->sample_rate() / 100.0))) { return; } diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc index b6c59e7987..f26726569b 100644 --- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc +++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc @@ -1611,7 +1611,7 @@ GenericMidiControlProtocol::maybe_start_touch (boost::shared_ptr c { boost::shared_ptr actl = boost::dynamic_pointer_cast (controllable); if (actl) { - actl->start_touch (timepos_t (_session->audible_sample ())); + actl->start_touch (timepos_t (audible_sample ())); } } diff --git a/libs/surfaces/mackie/mcp_buttons.cc b/libs/surfaces/mackie/mcp_buttons.cc index 7bd090ecc4..88f36c746a 100644 --- a/libs/surfaces/mackie/mcp_buttons.cc +++ b/libs/surfaces/mackie/mcp_buttons.cc @@ -483,7 +483,7 @@ MackieControlProtocol::marker_release (Button &) * the current position and we're not rolling. */ - samplepos_t where = _session->audible_sample(); + samplepos_t where = audible_sample(); if (transport_stopped_or_stopping() && locations()->mark_at (timepos_t (where), timecnt_t (_session->sample_rate() / 100.0))) { return off; diff --git a/libs/surfaces/push2/mix.cc b/libs/surfaces/push2/mix.cc index 59d32cdc04..46be85394f 100644 --- a/libs/surfaces/push2/mix.cc +++ b/libs/surfaces/push2/mix.cc @@ -438,7 +438,7 @@ MixLayout::strip_vpot_touch (int n, bool touching) if (stripable[n]) { boost::shared_ptr ac = stripable[n]->gain_control(); if (ac) { - const timepos_t now (session.audible_sample()); + const timepos_t now (p2.audible_sample()); if (touching) { ac->start_touch (now); } else { diff --git a/libs/surfaces/push2/push2.cc b/libs/surfaces/push2/push2.cc index 468565697c..263f1aa401 100644 --- a/libs/surfaces/push2/push2.cc +++ b/libs/surfaces/push2/push2.cc @@ -37,10 +37,12 @@ #include "ardour/async_midi_port.h" #include "ardour/audioengine.h" #include "ardour/debug.h" -#include "ardour/midiport_manager.h" -#include "ardour/midi_track.h" #include "ardour/midi_port.h" -#include "ardour/session.h" +#include "ardour/midi_track.h" +#include "ardour/midiport_manager.h" +#include "ardour/rc_configuration.h" +#include "ardour/session_configuration.h" +#include "ardour/session_event.h" #include "ardour/tempo.h" #include "ardour/types_convert.h" @@ -1077,7 +1079,7 @@ Push2::other_vpot_touch (int n, bool touching) if (master) { boost::shared_ptr ac = master->gain_control(); if (ac) { - const timepos_t now (_session->audible_sample()); + const timepos_t now (audible_sample()); if (touching) { ac->start_touch (now); } else { diff --git a/libs/surfaces/push2/track_mix.cc b/libs/surfaces/push2/track_mix.cc index f307d758e9..9de7fe895b 100644 --- a/libs/surfaces/push2/track_mix.cc +++ b/libs/surfaces/push2/track_mix.cc @@ -573,7 +573,7 @@ TrackMixLayout::strip_vpot_touch (int n, bool touching) { boost::shared_ptr ac = knobs[n]->controllable(); if (ac) { - const timepos_t now (session.audible_sample()); + const timepos_t now (p2.audible_sample()); if (touching) { ac->start_touch (now); } else { @@ -595,7 +595,7 @@ TrackMixLayout::update_meters () void TrackMixLayout::update_clocks () { - samplepos_t pos = session.audible_sample(); + samplepos_t pos = p2.audible_sample(); bool negative = false; if (pos < 0) { diff --git a/libs/surfaces/us2400/mcp_buttons.cc b/libs/surfaces/us2400/mcp_buttons.cc index a2e9505f39..7c9258e885 100644 --- a/libs/surfaces/us2400/mcp_buttons.cc +++ b/libs/surfaces/us2400/mcp_buttons.cc @@ -456,7 +456,7 @@ US2400Protocol::marker_release (Button &) * the current position and we're not rolling. */ - samplepos_t where = _session->audible_sample(); + samplepos_t where = audible_sample(); if (transport_stopped_or_stopping() && locations()->mark_at (timepos_t (where), timecnt_t (_session->sample_rate() / 100.0))) { return off;