#include "utils.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace Gtk;
using namespace Gtkmm2ext;
using namespace ARDOUR;
std::string RouteUI::program_port_prefix;
RouteUI::RouteUI (ARDOUR::Session* sess)
- : mute_menu(0)
+ : monitor_input_button (0)
+ , monitor_disk_button (0)
+ , mute_menu(0)
, solo_menu(0)
, sends_menu(0)
, record_menu(0)
delete comment_window;
delete input_selector;
delete output_selector;
+ delete monitor_input_button;
+ delete monitor_disk_button;
delete _invert_menu;
send_blink_connection.disconnect ();
show_sends_button->set_name ("send alert button");
UI::instance()->set_tip (show_sends_button, _("make mixer strips show sends to this bus"), "");
- monitor_input_button = manage (new ArdourButton (ArdourButton::default_elements));
+ monitor_input_button = new ArdourButton (ArdourButton::default_elements);
monitor_input_button->set_name ("monitor button");
monitor_input_button->set_text (_("In"));
UI::instance()->set_tip (monitor_input_button, _("Monitor input"), "");
monitor_input_button->set_no_show_all (true);
- monitor_disk_button = manage (new ArdourButton (ArdourButton::default_elements));
+ monitor_disk_button = new ArdourButton (ArdourButton::default_elements);
monitor_disk_button->set_name ("monitor button");
monitor_disk_button->set_text (_("Disk"));
UI::instance()->set_tip (monitor_disk_button, _("Monitor playback"), "");
check_rec_enable_sensitivity ();
maybe_add_route_print_mgr ();
route_color_changed();
+ route_gui_changed (PropertyChange (Properties::selected));
}
void
_mute_release->routes = rl;
}
- _session->set_control (_route->mute_control(), _route->muted_by_self() ? 0.0 : 1.0, Controllable::UseGroup);
-
+ _route->mute_control()->set_value (!_route->muted_by_self(), Controllable::UseGroup);
}
}
}
/* ??? we need a just_one_listen() method */
} else {
DisplaySuspender ds;
- boost::shared_ptr<ControlList> cl (new ControlList);
- cl->push_back (_route->solo_control());
- _session->set_controls (cl, 1.0, Controllable::NoGroup);
+ _route->solo_control()->set_value (1.0, Controllable::NoGroup);
}
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
} else {
boost::shared_ptr<Track> trk = track();
- _session->set_control (trk->rec_enable_control(), !trk->rec_enable_control()->get_value(), Controllable::UseGroup);
+ trk->rec_enable_control()->set_value (!trk->rec_enable_control()->get_value(), Controllable::UseGroup);
}
}
void
RouteUI::route_rec_enable_changed ()
{
- blink_rec_display(true); //this lets the button change "immediately" rather than wait for the next blink
- update_monitoring_display ();
+ blink_rec_display (true); //this lets the button change "immediately" rather than wait for the next blink
}
void
RouteUI::session_rec_enable_changed ()
{
- blink_rec_display(true); //this lets the button change "immediately" rather than wait for the next blink
- update_monitoring_display ();
+ blink_rec_display (true); //this lets the button change "immediately" rather than wait for the next blink
}
void
int
RouteUI::set_color_from_route ()
{
- return 0;
+ if (_route->presentation_info().color_set()) {
+ return 0; /* nothing to do */
+ }
+
+ return 1; /* pick a color */
}
/** @return true if this name should be used for the route, otherwise false */
route_color_changed ();
}
}
-
- if (what_changed.contains (Properties::selected)) {
- show_selected ();
- }
-}
-
-void
-RouteUI::set_selected (bool yn)
-{
- Selectable::set_selected (yn);
- if (_route) {
- _route->presentation_info().set_selected (yn);
- }
-}
-
-bool
-RouteUI::selected () const
-{
- /* XXX not sure if this is a wise design. Probably don't really want
- * the cached _selected value from Selectable.
- */
-
- if (!_route) {
- return _selected;
- }
-
- return _route->presentation_info().selected();
}
void
}
return false;
}
+
+boost::shared_ptr<Stripable>
+RouteUI::stripable () const
+{
+ return _route;
+}
+