add Yamaha KX25 midi-map from Gerard Aberkrom
[ardour.git] / gtk2_ardour / rc_option_editor.cc
index b1775980459e42a66d8059edc1f2e33663c1b004..246babe5f90e190515b45fe2059f66f4f244f8b1 100644 (file)
@@ -330,16 +330,16 @@ static const struct {
           Option/Alt = Mod1
        */
        { "Key|Shift", GDK_SHIFT_MASK },
-       { "Command", GDK_META_MASK },
+       { "Command", GDK_MOD2_MASK },
        { "Control", GDK_CONTROL_MASK },
        { "Option", GDK_MOD1_MASK },
-       { "Command-Shift", GDK_META_MASK|GDK_SHIFT_MASK },
-       { "Command-Option", GDK_MOD1_MASK|GDK_META_MASK },
-       { "Command-Option-Control", GDK_MOD1_MASK|GDK_META_MASK|GDK_CONTROL_MASK },
+       { "Command-Shift", GDK_MOD2_MASK|GDK_SHIFT_MASK },
+       { "Command-Option", GDK_MOD2_MASK|GDK_MOD1_MASK },
+       { "Command-Option-Control", GDK_MOD2_MASK|GDK_MOD1_MASK|GDK_CONTROL_MASK },
        { "Option-Control", GDK_MOD1_MASK|GDK_CONTROL_MASK },
        { "Option-Shift", GDK_MOD1_MASK|GDK_SHIFT_MASK },
        { "Control-Shift", GDK_CONTROL_MASK|GDK_SHIFT_MASK },
-       { "Shift-Command-Option", GDK_MOD5_MASK|GDK_SHIFT_MASK|GDK_META_MASK },
+       { "Shift-Command-Option", GDK_MOD5_MASK|GDK_SHIFT_MASK|GDK_MOD2_MASK },
 
 #else
        { "Key|Shift", GDK_SHIFT_MASK },
@@ -371,7 +371,7 @@ public:
                  _insert_note_button_adjustment (3, 1, 5),
                  _insert_note_button_spin (_insert_note_button_adjustment)
        {
-               const Glib::ustring restart_msg = string_compose (_("\nThis setting will only take effect when your project is saved and %1 is restarted."), PROGRAM_NAME);
+               const Glib::ustring restart_msg = _("\nChanges to this setting will only persist after your project has been saved.");
                /* internationalize and prepare for use with combos */
 
                vector<string> dumb;
@@ -382,7 +382,7 @@ public:
                set_popdown_strings (_edit_modifier_combo, dumb);
                _edit_modifier_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::edit_modifier_chosen));
                Gtkmm2ext::UI::instance()->set_tip (_edit_modifier_combo,
-                                                   (string_compose (_("<b>Recommended Setting: %1 + button 3</b>%2"),  Keyboard::copy_modifier_name (), restart_msg)));
+                                                   (string_compose (_("<b>Recommended Setting: %1 + button 3 (right mouse button)</b>%2"),  Keyboard::primary_modifier_name (), restart_msg)));
                for (int x = 0; modifiers[x].name; ++x) {
                        if (modifiers[x].modifier == Keyboard::edit_modifier ()) {
                                _edit_modifier_combo.set_active_text (S_(modifiers[x].name));
@@ -444,7 +444,7 @@ public:
                set_popdown_strings (_delete_modifier_combo, dumb);
                _delete_modifier_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::delete_modifier_chosen));
                Gtkmm2ext::UI::instance()->set_tip (_delete_modifier_combo,
-                                                   (string_compose (_("<b>Recommended Setting: %1 + button 3</b>%2"), Keyboard::tertiary_modifier_name (), restart_msg)));
+                                                   (string_compose (_("<b>Recommended Setting: %1 + button 3 (right mouse button)</b>%2"), Keyboard::tertiary_modifier_name (), restart_msg)));
                for (int x = 0; modifiers[x].name; ++x) {
                        if (modifiers[x].modifier == Keyboard::delete_modifier ()) {
                                _delete_modifier_combo.set_active_text (S_(modifiers[x].name));
@@ -474,7 +474,7 @@ public:
                set_popdown_strings (_insert_note_modifier_combo, dumb);
                _insert_note_modifier_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::insert_note_modifier_chosen));
                Gtkmm2ext::UI::instance()->set_tip (_insert_note_modifier_combo,
-                                                   (string_compose (_("<b>Recommended Setting: %1 + button 1</b>%2"), Keyboard::copy_modifier_name (), restart_msg)));
+                                                   (string_compose (_("<b>Recommended Setting: %1 + button 1 (left mouse button)</b>%2"), Keyboard::primary_modifier_name (), restart_msg)));
                for (int x = 0; modifiers[x].name; ++x) {
                        if (modifiers[x].modifier == Keyboard::insert_note_modifier ()) {
                                _insert_note_modifier_combo.set_active_text (S_(modifiers[x].name));
@@ -511,7 +511,13 @@ public:
                set_popdown_strings (_copy_modifier_combo, dumb);
                _copy_modifier_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::copy_modifier_chosen));
                Gtkmm2ext::UI::instance()->set_tip (_copy_modifier_combo,
-                                                   (string_compose (_("<b>Recommended Setting: %1</b>%2"), Keyboard::copy_modifier_name (), restart_msg)));
+                                                   (string_compose (_("<b>Recommended Setting: %1</b>%2"),
+#ifdef GTKOSX
+                                                                    Keyboard::secondary_modifier_name (),
+#else
+                                                                    Keyboard::primary_modifier_name (),
+#endif
+                                                                    restart_msg)));
                for (int x = 0; modifiers[x].name; ++x) {
                        if (modifiers[x].modifier == (guint) Keyboard::CopyModifier) {
                                _copy_modifier_combo.set_active_text (S_(modifiers[x].name));
@@ -532,7 +538,13 @@ public:
                set_popdown_strings (_constraint_modifier_combo, dumb);
                _constraint_modifier_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::constraint_modifier_chosen));
                Gtkmm2ext::UI::instance()->set_tip (_constraint_modifier_combo,
-                                                   (string_compose (_("<b>Recommended Setting: %1</b>%2"), Keyboard::secondary_modifier_name (), restart_msg)));
+                                                   (string_compose (_("<b>Recommended Setting: %1</b>%2"),
+#ifdef GTKOSX
+                                                                    Keyboard::primary_modifier_name (),
+#else
+                                                                    Keyboard::secondary_modifier_name (),
+#endif
+                                                                    restart_msg)));
                for (int x = 0; modifiers[x].name; ++x) {
                        if (modifiers[x].modifier == (guint) ArdourKeyboard::constraint_modifier ()) {
                                _constraint_modifier_combo.set_active_text (S_(modifiers[x].name));
@@ -652,7 +664,7 @@ public:
                set_popdown_strings (_snap_modifier_combo, dumb);
                _snap_modifier_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::snap_modifier_chosen));
 #ifdef GTKOSX
-               Glib::ustring mod_str = string compose (_("%1-%2"), Keyboard::level4_modifier_name (), Keyboard::tertiary_modifier_name ());
+               Glib::ustring mod_str = string_compose (X_("%1-%2"), Keyboard::level4_modifier_name (), Keyboard::tertiary_modifier_name ());
 #else
                Glib::ustring mod_str = Keyboard::secondary_modifier_name();
 #endif
@@ -680,7 +692,7 @@ public:
 #ifdef GTKOSX
                mod_str = Keyboard::level4_modifier_name ();
 #else
-               mod_str = string_compose (_("%1-%2"), Keyboard::secondary_modifier_name (), Keyboard::level4_modifier_name ());
+               mod_str = string_compose (X_("%1-%2"), Keyboard::secondary_modifier_name (), Keyboard::level4_modifier_name ());
 #endif
                Gtkmm2ext::UI::instance()->set_tip (_snap_delta_combo,
                                                    (string_compose (_("<b>Recommended Setting: %1</b>%2"), mod_str, restart_msg)));
@@ -738,7 +750,7 @@ public:
                set_popdown_strings (_fine_adjust_combo, dumb);
                _fine_adjust_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::fine_adjust_modifier_chosen));
 
-               mod_str = string_compose (_("%1-%2"), Keyboard::secondary_modifier_name (), Keyboard::tertiary_modifier_name ());
+               mod_str = string_compose (X_("%1-%2"), Keyboard::secondary_modifier_name (), Keyboard::tertiary_modifier_name ());
                Gtkmm2ext::UI::instance()->set_tip (_fine_adjust_combo,
                                                    (string_compose (_("<b>Recommended Setting: %1</b>%2"), mod_str, restart_msg)));
                for (int x = 0; modifiers[x].name; ++x) {
@@ -2050,6 +2062,23 @@ RCOptionEditor::RCOptionEditor ()
                                                   "that occurs when fast-forwarding or rewinding through some kinds of audio"));
        add_option (_("Transport"), tsf);
 
+       ComboOption<float>* psc = new ComboOption<float> (
+                    "preroll-seconds",
+                    _("Preroll"),
+                    sigc::mem_fun (*_rc_config, &RCConfiguration::get_preroll_seconds),
+                    sigc::mem_fun (*_rc_config, &RCConfiguration::set_preroll_seconds)
+                    );
+       Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+                                           (_("The amount of preroll (in seconds) to apply when Play with Preroll is initiated.\n\n"
+                                              "If <b>Follow Edits</b> is enabled, the preroll is applied to the playhead position when a region is selected or trimmed.")));
+       psc->add (0.0, _("0 (no pre-roll)"));
+       psc->add (0.1, _("0.1 second"));
+       psc->add (0.25, _("0.25 second"));
+       psc->add (0.5, _("0.5 second"));
+       psc->add (1.0, _("1.0 second"));
+       psc->add (2.0, _("2.0 seconds"));
+       add_option (_("Transport"), psc);
+       
        add_option (_("Transport"), new OptionEditorHeading (S_("Sync/Slave")));
 
        _sync_source = new ComboOption<SyncSource> (