| @@ -229,46 +229,50 @@ Plugin_Module::can_support_inputs ( int n ) | |||||
| bool | bool | ||||
| Plugin_Module::configure_inputs( int n ) | Plugin_Module::configure_inputs( int n ) | ||||
| { | { | ||||
| if ( ninputs() == n ) | |||||
| return true; | |||||
| int inst = _idata->handle.size(); | |||||
| int inst = 1; | |||||
| _crosswire = false; | |||||
| if ( 1 == n && plugin_ins() > 1 ) | |||||
| if ( ninputs() != n ) | |||||
| { | { | ||||
| DMESSAGE( "Cross-wiring plugin inputs" ); | |||||
| _crosswire = true; | |||||
| _crosswire = false; | |||||
| audio_input.clear(); | |||||
| if ( n != ninputs() ) | |||||
| { | |||||
| if ( 1 == n && plugin_ins() > 1 ) | |||||
| { | |||||
| DMESSAGE( "Cross-wiring plugin inputs" ); | |||||
| _crosswire = true; | |||||
| for ( int i = n; i--; ) | |||||
| audio_input.push_back( Port( this, Port::INPUT, Port::AUDIO ) ); | |||||
| } | |||||
| else if ( n >= plugin_ins() && | |||||
| ( plugin_ins() == 1 && plugin_outs() == 1 ) ) | |||||
| { | |||||
| DMESSAGE( "Running multiple instances of plugin" ); | |||||
| audio_input.clear(); | |||||
| audio_input.clear(); | |||||
| audio_output.clear(); | |||||
| for ( int i = n; i--; ) | |||||
| audio_input.push_back( Port( this, Port::INPUT, Port::AUDIO ) ); | |||||
| } | |||||
| else if ( n >= plugin_ins() && | |||||
| ( plugin_ins() == 1 && plugin_outs() == 1 ) ) | |||||
| { | |||||
| DMESSAGE( "Running multiple instances of plugin" ); | |||||
| for ( int i = n; i--; ) | |||||
| { | |||||
| add_port( Port( this, Port::INPUT, Port::AUDIO ) ); | |||||
| add_port( Port( this, Port::OUTPUT, Port::AUDIO ) ); | |||||
| } | |||||
| audio_input.clear(); | |||||
| audio_output.clear(); | |||||
| inst = n; | |||||
| } | |||||
| if ( n == plugin_ins() ) | |||||
| { | |||||
| for ( int i = n; i--; ) | |||||
| { | |||||
| add_port( Port( this, Port::INPUT, Port::AUDIO ) ); | |||||
| add_port( Port( this, Port::OUTPUT, Port::AUDIO ) ); | |||||
| } | |||||
| } | |||||
| else | |||||
| { | |||||
| // unsupported configuration | |||||
| return false; | |||||
| inst = n; | |||||
| } | |||||
| else if ( n == plugin_ins() ) | |||||
| { | |||||
| DMESSAGE( "Plugin input configuration is a perfect match" ); | |||||
| } | |||||
| else | |||||
| { | |||||
| DMESSAGE( "Unsupported input configuration" ); | |||||
| return false; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| if ( _active ) | if ( _active ) | ||||