void set_note (std::string const &);
+ virtual Gtk::Widget& tip_widget() = 0;
+
private:
void maybe_add_note (OptionEditorPage *, int);
void set_state_from_config () {}
void add_to_page (OptionEditorPage *);
+ Gtk::Widget& tip_widget() { return *_label; }
+
private:
Gtk::Label* _label; ///< the label used for the heading
};
void set_state_from_config () = 0;
void add_to_page (OptionEditorPage *);
+ Gtk::Widget& tip_widget() { return *_box->children().front().get_widget(); }
+
protected:
Gtk::VBox* _box; ///< constituent box for subclasses to add widgets to
_button->set_sensitive (yn);
}
+ Gtk::Widget& tip_widget() { return *_button; }
+
private:
void toggled ();
void set_state_from_config ();
void add_to_page (OptionEditorPage*);
+ Gtk::Widget& tip_widget() { return *_entry; }
+
private:
void activated ();
_combo->set_sensitive (yn);
}
+ Gtk::Widget& tip_widget() { return *_combo; }
+
private:
sigc::slot<T> _get;
void changed ();
void set_sensitive (bool);
+ Gtk::Widget& tip_widget() { return *_combo; }
+
private:
sigc::slot<bool> _get;
_set (static_cast<T> (_spin->get_value ()) * _scale);
}
+ Gtk::Widget& tip_widget() { return *_spin; }
+
private:
sigc::slot<T> _get;
sigc::slot<bool, T> _set;
void set_state_from_config ();
void add_to_page (OptionEditorPage *);
+ Gtk::Widget& tip_widget() { return *_db_slider; }
+
private:
void db_changed ();
void add_to_page (OptionEditorPage *);
void set_session (ARDOUR::Session *);
+ Gtk::Widget& tip_widget() { return _clock; }
+
private:
Gtk::Label _label;
AudioClock _clock;
void set_state_from_config ();
void add_to_page (OptionEditorPage *);
+ Gtk::Widget& tip_widget() { return _file_chooser; }
+
private:
void file_set ();
void current_folder_set ();
#include <gtkmm/scale.h>
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/slider_controller.h>
+#include <gtkmm2ext/gtk_ui.h>
#include "pbd/fpu.h"
#include "pbd/cpus.h"
add_widget_to_page (p, _visibility_group->list_view ());
}
+ Gtk::Widget& tip_widget() { return *_visibility_group->list_view (); }
+
private:
void changed ()
{
BoolOption* tsf = new BoolOption (
"timecode-sync-frame-rate",
- _("Force Ardour's timecode rate to match an external source"),
+ _("Force Ardour's timecode rate to match an external timecode source"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_timecode_sync_frame_rate),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_timecode_sync_frame_rate)
);
- tsf->set_note (_("If off, slaving to timecode will cause Ardour to chase the external sync source\nbut it will use its own timecode frame rate"));
+ tsf->set_note (_("If off, slaving to timecode will cause Ardour to chase the external timecode\nsource but it will use its own timecode frame rate"));
add_option (_("Transport"), tsf);
- add_option (_("Transport"), new BoolOption (
- "timecode-source-is-synced",
- _("Timecode source shares sample clock with audio interface"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_timecode_source_is_synced),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_timecode_source_is_synced)
- ));
+ tsf = new BoolOption (
+ "timecode-source-is-synced",
+ _("Timecode source shares sample clock with audio interface"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_timecode_source_is_synced),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_timecode_source_is_synced)
+ );
+ Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ _("If on, Ardour will assume that the timecode source shares an external sync\nsource (Blackburst, Word Clock, etc.) with your audio interface."
+ "\nThis is a preferable configuration but may not match your equipment"));
+ add_option (_("Transport"), tsf);
/* EDITOR */