From 9e6eb3e0c732cc399ed3b925ef6c584edc853dc7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 3 Aug 2011 11:15:01 +0000 Subject: [PATCH] Apply x42's patch from #4207; rename MIDI control preferences to just MIDI. git-svn-id: svn://localhost/ardour2/branches/3.0@9948 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/midi_region_view.cc | 21 ++++++++++++++--- gtk2_ardour/midi_region_view.h | 2 ++ gtk2_ardour/rc_option_editor.cc | 26 ++++++++++++++-------- libs/ardour/ardour/rc_configuration_vars.h | 1 + 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 2d7cccb628..1de7f0176a 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -80,6 +80,8 @@ using namespace Editing; using namespace ArdourCanvas; using Gtkmm2ext::Keyboard; +#define MIDI_BP_ZERO ((Config->get_first_midi_bank_is_zero())?0:1) + MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, boost::shared_ptr r, double spu, Gdk::Color const & basic_color) : RegionView (parent, tv, r, spu, basic_color) @@ -112,6 +114,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView & _note_group->raise_to_top(); PublicEditor::DropDownKeys.connect (sigc::mem_fun (*this, &MidiRegionView::drop_down_keys)); + Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&MidiRegionView::parameter_changed, this, _1), gui_context()); connect_to_diskstream (); } @@ -148,6 +151,16 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView & connect_to_diskstream (); } +void +MidiRegionView::parameter_changed (std::string const & p) +{ + if (p == "diplay-first-midi-bank-as-zero") { + if (_enable_display) { + redisplay_model(); + } + } +} + MidiRegionView::MidiRegionView (const MidiRegionView& other) : sigc::trackable(other) , RegionView (other) @@ -269,6 +282,7 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd) ui_bind(&MidiRegionView::snap_changed, this), gui_context()); + Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&MidiRegionView::parameter_changed, this, _1), gui_context()); connect_to_diskstream (); } @@ -1158,6 +1172,7 @@ MidiRegionView::display_patch_changes () if (chn_mask & (1<name()); } else { char buf[16]; - /* program and bank numbers are zero-based: convert to one-based */ - snprintf (buf, 16, "%d\n%d", (*i)->program() + 1, (*i)->bank() + 1); + /* program and bank numbers are zero-based: convert to one-based: MIDI_BP_ZERO */ + snprintf (buf, 16, "%d %d", (*i)->program() + MIDI_BP_ZERO , (*i)->bank() + MIDI_BP_ZERO); add_canvas_patch_change (*i, buf); } } @@ -2956,7 +2971,7 @@ MidiRegionView::patch_entered (ArdourCanvas::CanvasPatchChange* ev) { ostringstream s; /* XXX should get patch name if we can */ - s << _("Bank:") << (ev->patch()->bank() + 1) << '\n' << _("Program:") << ((int) ev->patch()->program() + 1); + s << _("Bank:") << (ev->patch()->bank() + MIDI_BP_ZERO) << '\n' << _("Program:") << ((int) ev->patch()->program()) + MIDI_BP_ZERO << '\n' << _("Channel:") << ((int) ev->patch()->channel() + 1); show_verbose_cursor (s.str(), 10, 20); } diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h index 418cf215b3..e407b2ab4d 100644 --- a/gtk2_ardour/midi_region_view.h +++ b/gtk2_ardour/midi_region_view.h @@ -299,6 +299,8 @@ protected: void reset_width_dependent_items (double pixel_width); + void parameter_changed (std::string const & p); + private: friend class EditNoteDialog; diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 72ef75ff4d..597bdb50fc 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1343,7 +1343,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_mute_affects_main_outs) )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new BoolOption ( "send-midi-clock", _("Send MIDI Clock"), @@ -1351,7 +1351,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_send_midi_clock) )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new BoolOption ( "send-mtc", _("Send MIDI Time Code"), @@ -1359,7 +1359,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_send_mtc) )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new SpinOption ( "mtc-qf-speed-tolerance", _("Percentage either side of normal transport speed to transmit MTC"), @@ -1368,7 +1368,7 @@ RCOptionEditor::RCOptionEditor () 0, 20, 1, 5 )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new BoolOption ( "mmc-control", _("Obey MIDI Machine Control commands"), @@ -1376,7 +1376,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_mmc_control) )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new BoolOption ( "send-mmc", _("Send MIDI Machine Control commands"), @@ -1384,7 +1384,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_send_mmc) )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new BoolOption ( "midi-feedback", _("Send MIDI control feedback"), @@ -1392,7 +1392,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_midi_feedback) )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new SpinOption ( "mmc-receive-device-id", _("Inbound MMC device ID"), @@ -1401,7 +1401,7 @@ RCOptionEditor::RCOptionEditor () 0, 128, 1, 10 )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new SpinOption ( "mmc-send-device-id", _("Outbound MMC device ID"), @@ -1410,7 +1410,7 @@ RCOptionEditor::RCOptionEditor () 0, 128, 1, 10 )); - add_option (_("MIDI control"), + add_option (_("MIDI"), new SpinOption ( "initial-program-change", _("Initial program change"), @@ -1419,6 +1419,14 @@ RCOptionEditor::RCOptionEditor () -1, 65536, 1, 10 )); + add_option (_("MIDI"), + new BoolOption ( + "diplay-first-midi-bank-as-zero", + _("Display first MIDI bank/program as 0"), + sigc::mem_fun (*_rc_config, &RCConfiguration::get_first_midi_bank_is_zero), + sigc::mem_fun (*_rc_config, &RCConfiguration::set_first_midi_bank_is_zero) + )); + /* CONTROL SURFACES */ add_option (_("Control surfaces"), new ControlSurfacesOptions (*this)); diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 6fb67595e2..5693bac890 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -44,6 +44,7 @@ CONFIG_VARIABLE (int32_t, mmc_receive_device_id, "mmc-receive-device-id", 0x7f) CONFIG_VARIABLE (int32_t, mmc_send_device_id, "mmc-send-device-id", 0) CONFIG_VARIABLE (int32_t, initial_program_change, "initial-program-change", -1) CONFIG_VARIABLE (int, mtc_qf_speed_tolerance, "mtc-qf-speed-tolerance", 5) +CONFIG_VARIABLE (bool, first_midi_bank_is_zero, "diplay-first-midi-bank-as-zero", false) /* control surfaces */