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::primary_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));
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));
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::primary_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));
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::primary_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));
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));
"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> (