+class FaderOption : public Option
+{
+public:
+
+ FaderOption (std::string const &, std::string const &, sigc::slot<ARDOUR::gain_t> g, sigc::slot<bool, ARDOUR::gain_t> s);
+ void set_state_from_config ();
+ void add_to_page (OptionEditorPage *);
+
+private:
+ void db_changed ();
+
+ Gtk::Adjustment _db_adjustment;
+ Gtkmm2ext::HSliderController* _db_slider;
+ Glib::RefPtr<Gdk::Pixbuf> _pix;
+ Gtk::Entry _db_display;
+ Gtk::Label _label;
+ Gtk::HBox _box;
+ sigc::slot<ARDOUR::gain_t> _get;
+ sigc::slot<bool, ARDOUR::gain_t> _set;
+};
+
+class ClockOption : public Option
+{
+public:
+ ClockOption (std::string const &, std::string const &, sigc::slot<ARDOUR::framecnt_t>, sigc::slot<bool, ARDOUR::framecnt_t>);
+ void set_state_from_config ();
+ void add_to_page (OptionEditorPage *);
+ void set_session (ARDOUR::Session *);
+
+private:
+ Gtk::Label _label;
+ AudioClock _clock;
+ sigc::slot<ARDOUR::framecnt_t> _get;
+ sigc::slot<bool, ARDOUR::framecnt_t> _set;
+};
+
+class DirectoryOption : public Option
+{
+public:
+ DirectoryOption (std::string const &, std::string const &, sigc::slot<std::string>, sigc::slot<bool, std::string>);
+
+ void set_state_from_config ();
+ void add_to_page (OptionEditorPage *);
+
+private:
+ void file_set ();
+
+ sigc::slot<std::string> _get; ///< slot to get the configuration variable's value
+ sigc::slot<bool, std::string> _set; ///< slot to set the configuration variable's value
+ Gtk::FileChooserButton _file_chooser;
+};
+