summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/processor.h6
-rw-r--r--libs/ardour/ardour/route.h6
-rw-r--r--libs/ardour/ardour/session.h14
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;