X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Ftrack.cc;h=6d959ed88d227e20ba36b8a6b81aea59f2864737;hb=ffdf5ada616d285fafb58f45c2e3d37b212a328a;hp=1efd18ae228c8a9494a4f1fbc0d9c02bda060bcf;hpb=1a03f9440d11d74d291737d5b98e5624023860ac;p=ardour.git diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 1efd18ae22..6d959ed88d 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -41,7 +41,6 @@ using namespace PBD; Track::Track (Session& sess, string name, Route::Flag flag, TrackMode mode, DataType default_type) : Route (sess, name, 1, -1, -1, -1, flag, default_type) - , _diskstream (0) , _rec_enable_control (*this) { _declickable = true; @@ -52,7 +51,6 @@ Track::Track (Session& sess, string name, Route::Flag flag, TrackMode mode, Data Track::Track (Session& sess, const XMLNode& node, DataType default_type) : Route (sess, "to be renamed", 0, 0, -1, -1, Route::Flag(0), default_type) - , _diskstream (0) , _rec_enable_control (*this) { _freeze_record.state = NoFreeze; @@ -62,9 +60,6 @@ Track::Track (Session& sess, const XMLNode& node, DataType default_type) Track::~Track () { - if (_diskstream) { - _diskstream->unref(); - } } void @@ -89,11 +84,11 @@ void Track::toggle_monitor_input () { for (vector::iterator i = _inputs.begin(); i != _inputs.end(); ++i) { - (*i)->request_monitor_input(!(*i)->monitoring_input()); + (*i)->ensure_monitor_input(!(*i)->monitoring_input()); } } -jack_nframes_t +nframes_t Track::update_total_latency () { _own_latency = 0; @@ -124,7 +119,7 @@ Track::freeze_state() const } Track::RecEnableControllable::RecEnableControllable (Track& s) - : track (s) + : Controllable (X_("recenable")), track (s) { } @@ -172,12 +167,6 @@ Track::set_record_enable (bool yn, void *src) return; } - // Do not set rec enabled if the track can't record. - if (yn && !can_record()) { - error << string_compose( _("Can not arm track '%1'. Check the input connections"), name() ) << endmsg; - return; - } - /* keep track of the meter point as it was before we rec-enabled */ if (!_diskstream->record_enabled()) { _saved_meter_point = _meter_point; @@ -224,13 +213,12 @@ Track::set_name (string str, void *src) if ((ret = IO::set_name (str, src)) == 0) { _session.save_state (""); - _session.save_history (""); } return ret; } void -Track::set_latency_delay (jack_nframes_t longest_session_latency) +Track::set_latency_delay (nframes_t longest_session_latency) { Route::set_latency_delay (longest_session_latency); _diskstream->set_roll_delay (_roll_delay);