bool JACK_Module::configure_inputs ( int n ) { if ( n > 0 ) { if ( is_default() ) control_input[0].hints.minimum = 1; output_connection_handle->show(); } int on = audio_input.size(); if ( n > on ) { for ( int i = on; i < n; ++i ) { if ( add_aux_audio_output(_prefix, i ) ) { add_port( Port( this, Port::INPUT, Port::AUDIO ) ); } } } else { for ( int i = on; i > n; --i ) { audio_input.back().disconnect(); audio_input.pop_back(); aux_audio_output.back().jack_port()->shutdown(); delete aux_audio_output.back().jack_port(); aux_audio_output.pop_back(); } } _connection_handle_outputs[0][0] = 0; _connection_handle_outputs[0][1] = aux_audio_output.size(); if ( is_default() ) control_input[0].control_value_no_callback( n ); return true; }
bool Spatializer_Module::configure_inputs ( int n ) { output_connection_handle->show(); output_connection_handle->tooltip( "Late Reverb" ); output_connection2_handle->show(); output_connection2_handle->tooltip( "Early Reverb" ); int on = audio_input.size(); if ( n > on ) { for ( int i = n - on; i--; ) { { filter *o = new filter(); o->sample_rate( sample_rate() ); _lowpass.push_back( o ); } { filter *o = new filter(); o->sample_rate( sample_rate() ); _highpass.push_back( o ); } { delay *o = new delay( max_distance / 340.29f ); o->sample_rate( sample_rate() ); _delay.push_back( o ); } add_port( Port( this, Port::INPUT, Port::AUDIO ) ); } } else if ( n < on ) { for ( int i = on - n; i--; ) { delete _lowpass.back(); _lowpass.pop_back(); delete _highpass.back(); _highpass.pop_back(); delete _delay.back(); _delay.pop_back(); audio_input.pop_back(); } } // control_input[4].hints.visible = audio_input.size() == 2; control_input[4].hints.default_value = audio_input.size() == 2 ? 90.0f : 0.0f; if ( n == 0 ) { remove_aux_audio_outputs(); audio_output.clear(); audio_input.clear(); } else { if ( audio_output.size() != 4 ) { for ( int i = 0; i < 4; i++ ) { add_port( Port( this, Port::OUTPUT, Port::AUDIO ) ); } } if ( aux_audio_output.size() != 5 ) { add_aux_audio_output( "late reverb", 0 ); add_aux_audio_output( "early reverb", 0 ); add_aux_audio_output( "early reverb", 1 ); add_aux_audio_output( "early reverb", 2 ); add_aux_audio_output( "early reverb", 3 ); } } _connection_handle_outputs[0][0] = 0; _connection_handle_outputs[0][1] = 1; _connection_handle_outputs[1][0] = 1; _connection_handle_outputs[1][1] = aux_audio_output.size(); return true; }