along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#ifndef __audio_clock_h__
Off
};
- AudioClock (const string& name, bool editable, bool is_duration = false, bool with_tempo_meter = false);
+ AudioClock (std::string clock_name, bool transient, std::string widget_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_widget_name (std::string);
+
+ std::string name() const { return _name; }
nframes_t current_time (nframes_t position = 0) const;
nframes_t current_duration (nframes_t position = 0) const;
sigc::signal<void> ValueChanged;
+ static sigc::signal<void> ModeChanged;
+ static std::vector<AudioClock*> clocks;
+
private:
ARDOUR::Session *session;
Mode _mode;
- uint32_t key_entry_state;
+ uint32_t key_entry_state;
+ std::string _name;
+ bool is_transient;
bool is_duration;
bool editable;
Gtk::HBox bbt_packer;
Gtk::HBox frames_packer_hbox;
+ Gtk::HBox frames_packer;
enum Field {
SMPTE_Hours,
Gtk::Label frames_label;
Gtk::Label colon1, colon2, colon3;
- Gtk::Label* framerate_label;
- Gtk::Label* pullup_label;
-
- Gtk::VBox rate_pullup_box;
-
Gtk::Label ms_hours_label;
Gtk::Label ms_minutes_label;
Gtk::Label ms_seconds_label;
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;