diff --git a/gtk2_ardour/editing_context.cc b/gtk2_ardour/editing_context.cc index 1f58a507f5..f6dcb0d753 100644 --- a/gtk2_ardour/editing_context.cc +++ b/gtk2_ardour/editing_context.cc @@ -132,7 +132,7 @@ EditingContext::EditingContext (std::string const & name) , _grid_type (GridTypeBeat) , _snap_mode (SnapOff) , _timeline_origin (0.) - , play_note_selection_button (_("Ear"), ArdourButton::Text, true) + , play_note_selection_button (ArdourButton::default_elements) , follow_playhead_button (_("F"), ArdourButton::Text, true) , full_zoom_button (_("<->"), ArdourButton::Text) , visible_channel_label (_("MIDI|Channel")) @@ -233,6 +233,9 @@ EditingContext::EditingContext (std::string const & name) Config->ParameterChanged.connect (parameter_connections, MISSING_INVALIDATOR, std::bind (&EditingContext::parameter_changed, this, _1), gui_context()); UIConfiguration::instance().ParameterChanged.connect (sigc::mem_fun (*this, &EditingContext::ui_parameter_changed)); + + std::function pc (std::bind (&EditingContext::ui_parameter_changed, this, _1)); + UIConfiguration::instance().map_parameters (pc); } EditingContext::~EditingContext() @@ -242,7 +245,12 @@ EditingContext::~EditingContext() void EditingContext::ui_parameter_changed (string parameter) { - if (parameter == "sound-midi-note") { + if (parameter == "sound-midi-notes") { + if (UIConfiguration::instance().get_sound_midi_notes()) { + play_note_selection_button.set_active_state (Gtkmm2ext::ExplicitActive); + } else { + play_note_selection_button.set_active_state (Gtkmm2ext::Off); + } } } @@ -2777,6 +2785,7 @@ EditingContext::choose_canvas_cursor_on_entry (ItemType type) void EditingContext::play_note_selection_clicked () { + UIConfiguration::instance().set_sound_midi_notes (!UIConfiguration::instance().get_sound_midi_notes()); } void diff --git a/gtk2_ardour/midi_cue_editor.cc b/gtk2_ardour/midi_cue_editor.cc index 8d8afdb20b..206a755432 100644 --- a/gtk2_ardour/midi_cue_editor.cc +++ b/gtk2_ardour/midi_cue_editor.cc @@ -237,6 +237,8 @@ MidiCueEditor::build_upper_toolbar () set_tooltip (note_mode_button, _("Toggle between drum and regular note drawing")); note_mode_button.set_icon (ArdourIcon::Drum); + play_note_selection_button.set_icon (ArdourIcon::ToolAudition); + #define PX_SCALE(px) std::max((float)px, rintf((float)px * UIConfiguration::instance().get_ui_scale())) note_mode_button.set_size_request (PX_SCALE(50), -1); note_mode_button.set_active_color (UIConfiguration::instance().color ("alert:yellow"));