[Summary]: switching to Multi-Out mode hide gain sliders on MixerBridge and Inspector.

This commit is contained in:
YPozdnyakov 2015-02-14 13:29:09 +02:00
parent 7d467ecc66
commit d2f78c5728
7 changed files with 44 additions and 7 deletions

View file

@ -1558,8 +1558,10 @@ Editor::set_session (Session *t)
_master_bus_ui->init(_session);
}
bool set_master_bus_visible = Config->get_output_auto_connect() & AutoConnectMaster;
_master_bus_ui->master_bus_set_visible ( set_master_bus_visible );
bool stereo_out_mode_active = Config->get_output_auto_connect() & AutoConnectMaster;
_master_bus_ui->master_bus_set_visible ( stereo_out_mode_active );
_mixer_bridge_view.all_gain_sliders_set_visible (stereo_out_mode_active);
current_mixer_strip->gain_slider_set_visible (stereo_out_mode_active);
_set_session_in_progress = false;
}
@ -5812,6 +5814,8 @@ Editor::output_connection_mode_changed ()
_master_bus_ui->master_bus_set_visible (true);
_mixer_bridge_view.all_gain_sliders_set_visible (true);
current_mixer_strip->gain_slider_set_visible (true);
if (_session->master_out() && !axis_view_from_route(_session->master_out() ) ) {
selection->block_tracks_changed(true);
@ -5837,6 +5841,8 @@ Editor::output_connection_mode_changed ()
_master_bus_ui->master_bus_set_visible (false);
_mixer_bridge_view.all_gain_sliders_set_visible (false);
current_mixer_strip->gain_slider_set_visible (false);
TimeAxisView* tv = 0;
if (_session->master_out() && (tv = axis_view_from_route(_session->master_out() ) ) ) {
delete tv;

View file

@ -142,6 +142,17 @@ MixerBridgeView::session_going_away ()
_session = 0;
}
void
MixerBridgeView::all_gain_sliders_set_visible (bool visibility)
{
for (std::map <boost::shared_ptr<ARDOUR::Route>, MixerStrip*>::iterator i = _strips.begin(); i != _strips.end(); ++i) {
//(*i).second->gain_meter().get_gain_slider().set_visible (visibility);
//(*i).second->gain_meter().get_gain_display_button().set_visible (visibility);
(*i).second->gain_slider_set_visible (visibility);
}
}
gint
MixerBridgeView::start_updating ()
{
@ -186,6 +197,11 @@ MixerBridgeView::add_strips (RouteList& routes)
MixerStrip* strip = new MixerStrip (_session, route, _mixer_strip_script_name, _max_name_size);
strip->signal_button_press_event().connect (sigc::bind (sigc::mem_fun(*this, &MixerBridgeView::strip_button_release_event), strip));
// in Multi-Out mode, new created strip mustn't show gain slider
bool set_gain_slider_visible = Config->get_output_auto_connect() & AutoConnectMaster;
strip->gain_slider_set_visible (set_gain_slider_visible);
_strips [route] = strip;
strip->show();
}

View file

@ -52,6 +52,7 @@ class MixerBridgeView :
void set_session (ARDOUR::Session *);
void set_max_name_size(size_t size) {_max_name_size = size;}
void track_editor_selection ();
void all_gain_sliders_set_visible (bool);
protected:
void set_route_targets_for_operation ();

View file

@ -1776,6 +1776,15 @@ MixerStrip::set_button_names ()
}
}
void
MixerStrip::gain_slider_set_visible (bool visibility)
{
gpm.get_gain_slider().set_visible (visibility);
gpm.get_gain_slider().set_no_show_all (!visibility);
gpm.get_gain_display_button().set_visible (visibility);
gpm.get_gain_display_button().set_no_show_all (!visibility);
}
PluginSelector*
MixerStrip::plugin_selector()
{

View file

@ -92,8 +92,10 @@ class MixerStrip : public RouteUI
void set_button_names ();
void show_send (boost::shared_ptr<ARDOUR::Send>);
void revert_to_default_display ();
/** @return the delivery that is being edited using our fader; it will be the
void gain_slider_set_visible (bool);
/** @return the delivery that is being edited using our fader; it will be the
* last send passed to ::show_send, or our route's main out delivery.
*/
boost::shared_ptr<ARDOUR::Delivery> current_delivery () const {

View file

@ -55,7 +55,8 @@
textcolornormal="#ffffff"
textcoloractive="#ffffff"
textcolorselected="#ffffff"
visible="false"/>
visible="false"
noshowall="true"/>
<Button id="gain_display_button"
x="1"
y="242"

View file

@ -26,7 +26,7 @@
<icon source="mixer_strip_meter_marks"/>
</HBox>
</VBox>
<VBox>
<VBox height="217">
<!--<HBox height="6"/>-->
<Fader id="gain_slider"
adjustment="gain_adjustment"
@ -55,7 +55,8 @@
textcolornormal="#ffffff"
textcoloractive="#ffffff"
textcolorselected="#ffffff"/>
<Button id="gain_display_button"
<VBox height="18">
<Button id="gain_display_button"
width="58"
height="18"
winfont="Arial Bold 9"
@ -68,5 +69,6 @@
bghover="#B1B1B1"
bordercolor="#C9C9C9"
borderwidth="0 0 0 0"/>
</VBox>
</VBox>
</GainSlider>