/*
- Copyright (C) 2000-2006 Paul Davis
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
+ * Copyright (C) 2005-2006 Nick Mainsbridge <mainsbridge@gmail.com>
+ * Copyright (C) 2005-2006 Taybin Rutkin <taybin@taybin.com>
+ * Copyright (C) 2005-2007 Doug McLain <doug@nostar.net>
+ * Copyright (C) 2005-2017 Paul Davis <paul@linuxaudiosystems.com>
+ * Copyright (C) 2006-2014 David Robillard <d@drobilla.net>
+ * Copyright (C) 2007-2012 Carl Hetherington <carl@carlh.net>
+ * Copyright (C) 2008 Hans Baier <hansfbaier@googlemail.com>
+ * Copyright (C) 2009-2010 Sakari Bergen <sakari.bergen@beatwaves.net>
+ * Copyright (C) 2012-2019 Robin Gareus <robin@gareus.org>
+ * Copyright (C) 2013-2016 John Emmas <john@creativepost.co.uk>
+ * Copyright (C) 2014-2018 Ben Loftis <ben@harrisonconsoles.com>
+ * Copyright (C) 2015-2016 Tim Mayberry <mojofunk@gmail.com>
+ * Copyright (C) 2016-2017 Julien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>
+ * Copyright (C) 2018 Len Ovens <len@ovenwerks.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
#include <cmath>
#include <list>
hide_button.set_tweaks (ArdourButton::Square);
set_tooltip (width_button, t);
- hide_button.set_icon (ArdourIcon::CloseCross);
+ hide_button.set_icon (ArdourIcon::HideEye);
hide_button.set_tweaks (ArdourButton::Square);
set_tooltip (&hide_button, _("Hide this mixer strip"));
solo_iso_table.set_homogeneous (true);
solo_iso_table.set_spacings (2);
- if (!ARDOUR::Profile->get_trx()) {
- solo_iso_table.attach (*solo_isolated_led, 0, 1, 0, 1);
- solo_iso_table.attach (*solo_safe_led, 1, 2, 0, 1);
- }
+ solo_iso_table.attach (*solo_isolated_led, 0, 1, 0, 1);
+ solo_iso_table.attach (*solo_safe_led, 1, 2, 0, 1);
solo_iso_table.show ();
rec_mon_table.set_homogeneous (true);
rec_mon_table.resize (1, 3);
rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
rec_mon_table.attach (*monitor_disk_button, 2, 3, 0, 1);
- } else if (!ARDOUR::Profile->get_trx()) {
- rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
- rec_mon_table.attach (*monitor_disk_button, 1, 2, 1, 2);
}
rec_mon_table.show ();
number_label.set_tweaks (ArdourButton::OccasionalText);
global_vpacker.set_spacing (2);
- if (!ARDOUR::Profile->get_trx()) {
- global_vpacker.pack_start (width_hide_box, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (input_button_box, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (_invert_button_box, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (processor_box, true, true);
- }
+ global_vpacker.pack_start (width_hide_box, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (input_button_box, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (_invert_button_box, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (processor_box, true, true);
global_vpacker.pack_start (panners, Gtk::PACK_SHRINK);
global_vpacker.pack_start (rec_mon_table, Gtk::PACK_SHRINK);
global_vpacker.pack_start (solo_iso_table, Gtk::PACK_SHRINK);
global_vpacker.pack_start (gpm, Gtk::PACK_SHRINK);
global_vpacker.pack_start (control_slave_ui, Gtk::PACK_SHRINK);
global_vpacker.pack_start (bottom_button_table, Gtk::PACK_SHRINK);
- if (!ARDOUR::Profile->get_trx()) {
- global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK);
- global_vpacker.pack_start (_comment_button, Gtk::PACK_SHRINK);
- } else {
- global_vpacker.pack_start (name_button, Gtk::PACK_SHRINK);
- }
+ global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK);
+ global_vpacker.pack_start (_comment_button, Gtk::PACK_SHRINK);
#ifndef MIXBUS
//add a spacer underneath the master bus;
_packed = false;
_embedded = false;
- _session->engine().Stopped.connect (*this, invalidator (*this), boost::bind (&MixerStrip::engine_stopped, this), gui_context());
- _session->engine().Running.connect (*this, invalidator (*this), boost::bind (&MixerStrip::engine_running, this), gui_context());
-
input_button.signal_button_press_event().connect (sigc::mem_fun(*this, &MixerStrip::input_press), false);
input_button.signal_button_release_event().connect (sigc::mem_fun(*this, &MixerStrip::input_release), false);
input_button.signal_size_allocate().connect (sigc::mem_fun (*this, &MixerStrip::input_button_resized));
if (ARDOUR::Profile->get_mixbus()) {
rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
rec_mon_table.attach (*monitor_disk_button, 2, 3, 0, 1);
- } else if (ARDOUR::Profile->get_trx()) {
- rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 2);
} else {
rec_mon_table.attach (*monitor_input_button, 1, 2, 0, 1);
rec_mon_table.attach (*monitor_disk_button, 1, 2, 1, 2);
const float scale = std::max(1.f, UIConfiguration::instance().get_ui_scale());
+ gpm.gain_automation_state_button.set_text (GainMeterBase::short_astate_string (gain_automation->automation_state()));
+
+ if (_route->panner()) {
+ ((Gtk::Label*)panners.pan_automation_state_button.get_child())->set_text (GainMeterBase::short_astate_string (_route->panner()->automation_state()));
+ }
+
switch (w) {
case Wide:
show_sends_button->set_text (_("Aux"));
}
- gpm.gain_automation_state_button.set_text (
- gpm.astate_string(gain_automation->automation_state()));
-
- if (_route->panner()) {
- ((Gtk::Label*)panners.pan_automation_state_button.get_child())->set_text (
- panners.astate_string(_route->panner()->automation_state()));
- }
-
{
// panners expect an even number of horiz. pixels
int width = rintf (max (110.f * scale, gpm.get_gm_width() + 10.f * scale)) + 1;
show_sends_button->set_text (_("Snd"));
}
- gpm.gain_automation_state_button.set_text (
- gpm.short_astate_string(gain_automation->automation_state()));
gain_meter().setup_meters (); // recalc meter width
- if (_route->panner()) {
- ((Gtk::Label*)panners.pan_automation_state_button.get_child())->set_text (
- panners.short_astate_string(_route->panner()->automation_state()));
- }
-
{
// panners expect an even number of horiz. pixels
int width = rintf (max (60.f * scale, gpm.get_gm_width() + 10.f * scale)) + 1;
items.push_back (MenuElem (_("Fan out to Tracks"), sigc::bind (sigc::mem_fun (*this, &RouteUI::fan_out), false, true)));
}
- items.push_back (SeparatorElem());
- items.push_back (MenuElem (_("Adjust Latency..."), sigc::mem_fun (*this, &RouteUI::adjust_latency)));
-
items.push_back (SeparatorElem());
items.push_back (CheckMenuElem (_("Protect Against Denormals"), sigc::mem_fun (*this, &RouteUI::toggle_denormal_protection)));
denormal_menu_item = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
}
-void
-MixerStrip::engine_stopped ()
-{
-}
-
-void
-MixerStrip::engine_running ()
-{
-}
-
string
MixerStrip::meter_point_string (MeterPoint mp)
{