diff options
author | Robin Gareus <robin@gareus.org> | 2017-01-21 00:40:18 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-01-21 00:40:18 +0100 |
commit | 0808b8713846a3aade0a84c80ec0d0715de54242 (patch) | |
tree | 66ff5847d9851ab75c387fb115e9d280436f8ab1 /gtk2_ardour/plugin_setup_dialog.cc | |
parent | 7a36ce49256a5aa96084b1f94b4c88bceb083fa5 (diff) |
Add GUI part to immediately fan-out multi-out instruments on track creation
Diffstat (limited to 'gtk2_ardour/plugin_setup_dialog.cc')
-rw-r--r-- | gtk2_ardour/plugin_setup_dialog.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/plugin_setup_dialog.cc b/gtk2_ardour/plugin_setup_dialog.cc index 5feb76aefe..3df0fe6491 100644 --- a/gtk2_ardour/plugin_setup_dialog.cc +++ b/gtk2_ardour/plugin_setup_dialog.cc @@ -31,6 +31,7 @@ PluginSetupDialog::PluginSetupDialog (boost::shared_ptr<ARDOUR::Route> r, boost: , _route (r) , _pi (pi) , _keep_mapping (_("Copy I/O Map"), ArdourButton::led_default_elements) + , _fan_out (_("Fan out"), ArdourButton::led_default_elements) { assert (flags != Route::None); @@ -71,7 +72,7 @@ PluginSetupDialog::PluginSetupDialog (boost::shared_ptr<ARDOUR::Route> r, boost: f->add (*box); tbl->attach (*f, 0, 1, row, row + 1, EXPAND|FILL, SHRINK, 0, 8); - _keep_mapping.signal_clicked.connect (sigc::mem_fun (*this, &PluginSetupDialog::apply_mapping)); + _keep_mapping.signal_clicked.connect (sigc::mem_fun (*this, &PluginSetupDialog::apply_mapping)); add_button ("Replace", 2); } else { @@ -86,16 +87,19 @@ PluginSetupDialog::PluginSetupDialog (boost::shared_ptr<ARDOUR::Route> r, boost: Box* box = manage (new HBox ()); box->set_border_width (2); box->pack_start (_out_presets, true, true); + box->pack_start (_fan_out, false, false); Frame* f = manage (new Frame ()); f->set_label (_("Output Configuration")); f->add (*box); tbl->attach (*f, 1, 2, row, row + 1, EXPAND|FILL, SHRINK, 0, 8); + _fan_out.signal_clicked.connect (sigc::mem_fun (*this, &PluginSetupDialog::toggle_fan_out)); } else { _pi->set_preset_out (_pi->natural_output_streams ()); update_sensitivity (_pi->natural_output_streams ().n_audio ()); } _keep_mapping.set_active (false); + _fan_out.set_active (false); apply_mapping (); add_button (Stock::ADD, 0); @@ -162,6 +166,7 @@ PluginSetupDialog::update_sensitivity (uint32_t n_audio) } else { _keep_mapping.set_sensitive (false); } + _fan_out.set_sensitive (n_audio > 2); } bool @@ -190,6 +195,12 @@ PluginSetupDialog::apply_mapping () } } +void +PluginSetupDialog::toggle_fan_out () +{ + _fan_out.set_active (!_fan_out.get_active ()); +} + std::string PluginSetupDialog::preset_label (uint32_t n_audio) const { |