mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 07:45:00 +01:00
midi_input_enable_button does not need to be dynamically allocated
This commit is contained in:
parent
6fc4ab87de
commit
a100d46249
2 changed files with 17 additions and 28 deletions
|
|
@ -122,7 +122,6 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
|
||||||
, input_button (true)
|
, input_button (true)
|
||||||
, output_button (false)
|
, output_button (false)
|
||||||
, monitor_section_button (0)
|
, monitor_section_button (0)
|
||||||
, midi_input_enable_button (0)
|
|
||||||
, _tmaster_widget (-1, 16)
|
, _tmaster_widget (-1, 16)
|
||||||
, _comment_button (_("Comments"))
|
, _comment_button (_("Comments"))
|
||||||
, trim_control (ArdourKnob::default_elements, ArdourKnob::Flags (ArdourKnob::Detent | ArdourKnob::ArcToZero))
|
, trim_control (ArdourKnob::default_elements, ArdourKnob::Flags (ArdourKnob::Detent | ArdourKnob::ArcToZero))
|
||||||
|
|
@ -161,7 +160,6 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt
|
||||||
, input_button (true)
|
, input_button (true)
|
||||||
, output_button (false)
|
, output_button (false)
|
||||||
, monitor_section_button (0)
|
, monitor_section_button (0)
|
||||||
, midi_input_enable_button (0)
|
|
||||||
, _tmaster_widget (-1, 16)
|
, _tmaster_widget (-1, 16)
|
||||||
, _comment_button (_("Comments"))
|
, _comment_button (_("Comments"))
|
||||||
, trim_control (ArdourKnob::default_elements, ArdourKnob::Flags (ArdourKnob::Detent | ArdourKnob::ArcToZero))
|
, trim_control (ArdourKnob::default_elements, ArdourKnob::Flags (ArdourKnob::Detent | ArdourKnob::ArcToZero))
|
||||||
|
|
@ -656,27 +654,23 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
||||||
update_trim_control();
|
update_trim_control();
|
||||||
|
|
||||||
if (is_midi_track()) {
|
if (is_midi_track()) {
|
||||||
if (midi_input_enable_button == 0) {
|
|
||||||
midi_input_enable_button = manage (new ArdourButton);
|
midi_input_enable_button.set_name ("midi input button");
|
||||||
midi_input_enable_button->set_name ("midi input button");
|
midi_input_enable_button.set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::VectorIcon));
|
||||||
midi_input_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::VectorIcon));
|
midi_input_enable_button.set_icon (ArdourIcon::DinMidi);
|
||||||
midi_input_enable_button->set_icon (ArdourIcon::DinMidi);
|
midi_input_enable_button.signal_button_press_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_press), false);
|
||||||
midi_input_enable_button->signal_button_press_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_press), false);
|
midi_input_enable_button.signal_button_release_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_release), false);
|
||||||
midi_input_enable_button->signal_button_release_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_release), false);
|
|
||||||
set_tooltip (midi_input_enable_button, _("Enable/Disable MIDI input"));
|
set_tooltip (midi_input_enable_button, _("Enable/Disable MIDI input"));
|
||||||
} else {
|
input_button_box.pack_start (midi_input_enable_button, false, false);
|
||||||
input_button_box.remove (*midi_input_enable_button);
|
|
||||||
}
|
|
||||||
/* get current state */
|
/* get current state */
|
||||||
midi_input_status_changed ();
|
midi_input_status_changed ();
|
||||||
input_button_box.pack_start (*midi_input_enable_button, false, false);
|
|
||||||
/* follow changes */
|
/* follow changes */
|
||||||
midi_track()->InputActiveChanged.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::midi_input_status_changed, this), gui_context());
|
midi_track()->InputActiveChanged.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::midi_input_status_changed, this), gui_context());
|
||||||
} else {
|
} else {
|
||||||
if (midi_input_enable_button) {
|
if (midi_input_enable_button.get_parent()) {
|
||||||
/* removal from the container will delete it */
|
input_button_box.remove (midi_input_enable_button);
|
||||||
input_button_box.remove (*midi_input_enable_button);
|
|
||||||
midi_input_enable_button = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1771,11 +1765,9 @@ MixerStrip::input_active_button_release (GdkEventButton* ev)
|
||||||
void
|
void
|
||||||
MixerStrip::midi_input_status_changed ()
|
MixerStrip::midi_input_status_changed ()
|
||||||
{
|
{
|
||||||
if (midi_input_enable_button) {
|
|
||||||
boost::shared_ptr<MidiTrack> mt = midi_track ();
|
boost::shared_ptr<MidiTrack> mt = midi_track ();
|
||||||
assert (mt);
|
assert (mt);
|
||||||
midi_input_enable_button->set_active (mt->input_active ());
|
midi_input_enable_button.set_active (mt->input_active ());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string
|
string
|
||||||
|
|
@ -1882,10 +1874,7 @@ MixerStrip::update_sensitivity ()
|
||||||
_comment_button.set_sensitive (en && !send);
|
_comment_button.set_sensitive (en && !send);
|
||||||
trim_control.set_sensitive (en && !send);
|
trim_control.set_sensitive (en && !send);
|
||||||
control_slave_ui.set_sensitive (en && !send);
|
control_slave_ui.set_sensitive (en && !send);
|
||||||
|
midi_input_enable_button.set_sensitive (en && !send);
|
||||||
if (midi_input_enable_button) {
|
|
||||||
midi_input_enable_button->set_sensitive (en && !send);
|
|
||||||
}
|
|
||||||
|
|
||||||
output_button.set_sensitive (en && !aux);
|
output_button.set_sensitive (en && !aux);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -216,7 +216,7 @@ private:
|
||||||
|
|
||||||
void comment_button_resized (Gtk::Allocation&);
|
void comment_button_resized (Gtk::Allocation&);
|
||||||
|
|
||||||
ArdourWidgets::ArdourButton* midi_input_enable_button;
|
ArdourWidgets::ArdourButton midi_input_enable_button;
|
||||||
Gtk::HBox input_button_box;
|
Gtk::HBox input_button_box;
|
||||||
|
|
||||||
std::string longest_label;
|
std::string longest_label;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue