fix startup order (ARDOUR::init() vs. AudioEngine creation); start work on clock...
[ardour.git] / gtk2_ardour / audio_clock.h
index d55a4b861006c3b96831e7c68667faeeac309a71..cef5a1b52470a50b525ff7c5fa61d7dbdfddfce5 100644 (file)
@@ -43,23 +43,25 @@ class AudioClock : public Gtk::HBox
                Off
        };
        
-       AudioClock (const string& name, bool editable, bool is_duration = false, bool with_tempo_meter = false);
+       AudioClock (std::string name, bool editable, bool is_duration = false, bool with_info = false);
 
        Mode mode() const { return _mode; }
        
        void set (nframes_t, bool force = false);
        void set_mode (Mode);
+       
+       void set_name (std::string);
 
        nframes_t current_time (nframes_t position = 0) const;
        nframes_t current_duration (nframes_t position = 0) const;
        void set_session (ARDOUR::Session *s);
 
        sigc::signal<void> ValueChanged;
-
+       
   private:
        ARDOUR::Session  *session;
        Mode             _mode;
-       uint32_t      key_entry_state;
+       uint32_t          key_entry_state;
        bool              is_duration;
        bool              editable;
 
@@ -75,6 +77,7 @@ class AudioClock : public Gtk::HBox
        Gtk::HBox   bbt_packer;
 
        Gtk::HBox   frames_packer_hbox;
+       Gtk::HBox   frames_packer;
        
        enum Field {
                SMPTE_Hours,
@@ -123,10 +126,18 @@ class AudioClock : public Gtk::HBox
        Gtk::Label  b1;
        Gtk::Label  b2;
 
-       Gtk::Label*  tempo_label;
-       Gtk::Label*  meter_label;
+       Gtk::Label*  frames_upper_info_label;
+       Gtk::Label*  frames_lower_info_label;
+
+       Gtk::Label*  smpte_upper_info_label;
+       Gtk::Label*  smpte_lower_info_label;
+       
+       Gtk::Label*  bbt_upper_info_label;
+       Gtk::Label*  bbt_lower_info_label;
 
-       Gtk::VBox   tempo_meter_box;
+       Gtk::VBox   frames_info_box;
+       Gtk::VBox   smpte_info_box;
+       Gtk::VBox   bbt_info_box;
 
        Gtk::EventBox  clock_base;
        Gtk::Frame     clock_frame;
@@ -176,6 +187,7 @@ class AudioClock : public Gtk::HBox
        void setup_events ();
 
        void smpte_offset_changed ();
+       void set_size_requests ();
 
        static const uint32_t field_length[(int)AudioFrames+1];
 };