diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/processor.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/route.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 14 |
3 files changed, 16 insertions, 10 deletions
diff --git a/libs/ardour/ardour/processor.h b/libs/ardour/ardour/processor.h index fb77943a34..8f617abc19 100644 --- a/libs/ardour/ardour/processor.h +++ b/libs/ardour/ardour/processor.h @@ -70,9 +70,12 @@ class LIBARDOUR_API Processor : public SessionObject, public Automatable, public virtual samplecnt_t signal_latency() const { return 0; } - virtual void set_input_latency (samplecnt_t); + virtual void set_input_latency (samplecnt_t cnt) { _input_latency = cnt; } samplecnt_t input_latency () const { return _input_latency; } + virtual void set_output_latency (samplecnt_t cnt) { _output_latency = cnt; } + samplecnt_t output_latency () const { return _output_latency; } + virtual int set_block_size (pframes_t /*nframes*/) { return 0; } virtual bool requires_fixed_sized_buffers() const { return false; } @@ -153,6 +156,7 @@ protected: PluginPinWindowProxy *_pinmgr_proxy; SessionObject* _owner; samplecnt_t _input_latency; + samplecnt_t _output_latency; }; } // namespace ARDOUR diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h index 829ebd435b..1ecf36d445 100644 --- a/libs/ardour/ardour/route.h +++ b/libs/ardour/ardour/route.h @@ -339,11 +339,11 @@ public: samplecnt_t set_private_port_latencies (bool playback) const; void set_public_port_latencies (samplecnt_t, bool playback) const; - samplecnt_t update_signal_latency(); + samplecnt_t update_signal_latency (bool set_initial_delay = false); virtual void set_latency_compensation (samplecnt_t); void set_user_latency (samplecnt_t); - samplecnt_t initial_delay() const { return _initial_delay; } + samplecnt_t initial_delay() const { return _initial_delay; } samplecnt_t signal_latency() const { return _signal_latency; } PBD::Signal0<void> active_changed; @@ -628,8 +628,6 @@ public: bool _active; samplecnt_t _signal_latency; - samplecnt_t _signal_latency_at_amp_position; - samplecnt_t _signal_latency_at_trim_position; samplecnt_t _initial_delay; samplecnt_t _roll_delay; diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index b052ba5b69..8af452cc88 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -473,11 +473,13 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop void set_end_is_free (bool); int location_name(std::string& result, std::string base = std::string("")); - pframes_t get_block_size() const { return current_block_size; } - samplecnt_t worst_output_latency () const { return _worst_output_latency; } - samplecnt_t worst_input_latency () const { return _worst_input_latency; } - samplecnt_t worst_track_latency () const { return _worst_track_latency; } - samplecnt_t worst_playback_latency () const { return _worst_output_latency + _worst_track_latency; } + pframes_t get_block_size () const { return current_block_size; } + samplecnt_t worst_output_latency ()const { return _worst_output_latency; } + samplecnt_t worst_input_latency () const { return _worst_input_latency; } + samplecnt_t worst_track_latency () const { return _worst_track_latency; } + samplecnt_t worst_track_roll_delay () const { return _worst_track_roll_delay; } + samplecnt_t worst_track_out_latency () const { return _worst_track_out_latency; } + samplecnt_t worst_playback_latency () const { return _worst_output_latency + _worst_track_latency; } struct SaveAs { std::string new_parent_folder; /* parent folder where new session folder will be created */ @@ -1264,6 +1266,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop samplecnt_t _worst_output_latency; samplecnt_t _worst_input_latency; samplecnt_t _worst_track_latency; + samplecnt_t _worst_track_out_latency; + samplecnt_t _worst_track_roll_delay; bool _have_captured; bool _non_soloed_outs_muted; bool _listening; |