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;
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;
Track::~Track ()
{
- if (_diskstream) {
- _diskstream->unref();
- }
}
void
Track::toggle_monitor_input ()
{
for (PortSet::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
+ARDOUR::nframes_t
Track::update_total_latency ()
{
_own_latency = 0;
}
Track::RecEnableControllable::RecEnableControllable (Track& s)
- : track (s)
+ : Controllable (X_("recenable")), track (s)
{
}
{
bool will_record = true;
for (PortSet::iterator i = _inputs.begin(); i != _inputs.end() && will_record; ++i) {
- if (!(*i)->connected())
+ if (!i->connected())
will_record = false;
}
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;
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);