Route::~Route ()
{
- GoingAway (); /* EMIT SIGNAL */
clear_redirects (this);
if (_control_outs) {
ChanCount
Route::n_process_buffers ()
{
- return max (n_inputs(), redirect_max_outs);
+ //return max (n_inputs(), redirect_max_outs);
+ return n_inputs(); // FIXME?
}
void
#undef meter_stream
}
+void
+Route::passthru_silence (jack_nframes_t start_frame, jack_nframes_t end_frame, jack_nframes_t nframes, jack_nframes_t offset, int declick, bool meter)
+{
+ process_output_buffers (_session.get_silent_buffers (n_process_buffers()), start_frame, end_frame, nframes, offset, true, declick, meter);
+}
+
void
Route::set_solo (bool yn, void *src)
{
boost::shared_ptr<PluginInsert> pi;
boost::shared_ptr<PortInsert> porti;
+ redirect->set_default_type(_default_type);
+
ChanCount potential_max_streams;
if ((pi = boost::dynamic_pointer_cast<PluginInsert>(redirect)) != 0) {
*/
- porti->ensure_io (n_outputs ().get(DataType::AUDIO), n_inputs().get(DataType::AUDIO), false, this);
+ porti->ensure_io (n_outputs (), n_inputs(), false, this);
}
// Ensure peak vector sizes before the plugin is activated
_control_outs = new IO (_session, coutname);
/* our control outs need as many outputs as we
- have outputs. we track the changes in ::output_change_handler().
+ have audio outputs. we track the changes in ::output_change_handler().
*/
- _control_outs->ensure_io (0, n_outputs().get(DataType::AUDIO), true, this);
+ _control_outs->ensure_io (ChanCount::ZERO, ChanCount(DataType::AUDIO, n_outputs().get(DataType::AUDIO)), true, this);
return 0;
}
{
if (change & ConfigurationChanged) {
if (_control_outs) {
- _control_outs->ensure_io (0, n_outputs().get(DataType::AUDIO), true, this);
+ _control_outs->ensure_io (ChanCount::ZERO, ChanCount(DataType::AUDIO, n_outputs().get(DataType::AUDIO)), true, this);
}
reset_plugin_counts (0);
Route::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());
}
}