Ardour::IO is not latent by itself

This commit is contained in:
Robin Gareus 2019-09-29 18:24:54 +02:00
parent c5b6b232a6
commit 0daee87803
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
4 changed files with 2 additions and 23 deletions

View File

@ -68,7 +68,7 @@ class UserBundle;
* An IO can contain ports of varying types, making routes/inserts/etc with
* varied combinations of types (eg MIDI and audio) possible.
*/
class LIBARDOUR_API IO : public SessionObject, public Latent
class LIBARDOUR_API IO : public SessionObject
{
public:
static const std::string state_node_name;
@ -119,8 +119,6 @@ public:
bool connected () const;
bool physically_connected () const;
samplecnt_t signal_latency () const { return 0; }
samplecnt_t latency () const;
samplecnt_t public_latency () const;
samplecnt_t connected_latency (bool for_playback) const;

View File

@ -353,7 +353,6 @@ public:
samplecnt_t set_private_port_latencies (bool playback) const;
void set_public_port_latencies (samplecnt_t, bool playback) const;
void set_user_latency (samplecnt_t);
samplecnt_t signal_latency() const { return _signal_latency; }
samplecnt_t playback_latency (bool incl_downstream = false) const;

View File

@ -563,8 +563,6 @@ IO::state ()
node->add_child_nocopy (*pnode);
}
Latent::add_state (node);
return *node;
}
@ -639,8 +637,6 @@ IO::set_state (const XMLNode& node, int version)
ConnectingLegal.connect_same_thread (connection_legal_c, boost::bind (&IO::connecting_became_legal, this));
}
Latent::set_state (node, version);
return 0;
}

View File

@ -1164,8 +1164,6 @@ Route::add_processors (const ProcessorList& others, boost::shared_ptr<Processor>
}
}
}
_output->unset_user_latency ();
}
reset_instrument_info ();
@ -1488,8 +1486,6 @@ Route::remove_processor (boost::shared_ptr<Processor> processor, ProcessorStream
} else {
++i;
}
_output->unset_user_latency ();
}
if (!removed) {
@ -1617,7 +1613,6 @@ Route::replace_processor (boost::shared_ptr<Processor> old, boost::shared_ptr<Pr
}
sub->ActiveChanged.connect_same_thread (*this, boost::bind (&Session::update_latency_compensation, &_session, false));
_output->unset_user_latency ();
}
reset_instrument_info ();
@ -1689,8 +1684,6 @@ Route::remove_processors (const ProcessorList& to_be_deleted, ProcessorStreams*
return 0;
}
_output->unset_user_latency ();
if (configure_processors_unlocked (err, &lm)) {
pstate.restore ();
/* we know this will work, because it worked before :) */
@ -4113,7 +4106,7 @@ Route::update_signal_latency (bool apply_to_delayline)
Glib::Threads::RWLock::ReaderLock lm (_processor_lock);
samplecnt_t l_in = 0;
samplecnt_t l_out = _output->effective_latency ();
samplecnt_t l_out = 0;
for (ProcessorList::reverse_iterator i = _processors.rbegin(); i != _processors.rend(); ++i) {
if (boost::shared_ptr<LatentSend> snd = boost::dynamic_pointer_cast<LatentSend> (*i)) {
snd->set_delay_in (l_out + _output->latency());
@ -4181,13 +4174,6 @@ Route::update_signal_latency (bool apply_to_delayline)
return _signal_latency;
}
void
Route::set_user_latency (samplecnt_t nframes)
{
_output->set_user_latency (nframes);
_session.update_latency_compensation ();
}
void
Route::apply_latency_compensation ()
{