Use LV2_SUPPORT define instead of HAVE_SLV2.
[ardour.git] / gtk2_ardour / option_editor.h
index 0258f955aa9b2fe90b54e21b5683fea8a9d265a1..b81672e094035b6651062ca7a5b4dd7695c74c0c 100644 (file)
@@ -27,6 +27,7 @@
 #include <gtkmm/table.h>
 #include "gtkmm2ext/slider_controller.h"
 #include "ardour_dialog.h"
+#include "audio_clock.h"
 #include "ardour/types.h"
 
 /** @file option_editor.h
@@ -151,6 +152,10 @@ public:
        void set_state_from_config ();
        void add_to_page (OptionEditorPage*);
 
+       void set_sensitive (bool yn) {
+               _button->set_sensitive (yn);
+       }
+       
 private:
 
        void toggled ();
@@ -357,6 +362,21 @@ private:
        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 to represent a single page in an OptionEditor's notebook.
  *  Pages are laid out using a 3-column table; the 1st column is used
  *  to indent non-headings, and the 2nd and 3rd for actual content.
@@ -380,13 +400,16 @@ public:
 
        void add_option (std::string const &, OptionEditorComponent *);
 
+       void set_current_page (std::string const &);
+
 protected:
 
+       virtual void parameter_changed (std::string const &);
+       
        ARDOUR::Configuration* _config;
 
 private:
 
-       void parameter_changed (std::string const &);
        PBD::ScopedConnection config_connection;
 
        Gtk::Notebook _notebook;