void JACK_Module::handle_control_changed ( Port *p ) { // THREAD_ASSERT( UI ); if ( 0 == strcmp( p->name(), "Inputs" ) ) { DMESSAGE( "Adjusting number of inputs (JACK outputs)" ); configure_inputs( p->control_value() ); if ( chain() ) chain()->configure_ports(); } else if ( 0 == strcmp( p->name(), "Outputs" ) ) { DMESSAGE( "Adjusting number of outputs (JACK inputs)" ); if ( ! chain() ) { configure_outputs( p->control_value() ); } else if ( chain()->can_configure_outputs( this, p->control_value() ) ) { configure_outputs( p->control_value() ); chain()->configure_ports(); } else { p->connected_port()->control_value( noutputs() ); } } Module::handle_control_changed( p ); }
void dsp_block_detail::produce_each (int how_many_items) { if (how_many_items > 0) { for (int i = 0; i < noutputs (); i++) { m_output[i]->update_write_pointer (how_many_items); } } }