Implement clock delta modes

* use new config variable
* update GUI to select delta-modes
* delegate delta-calculation to MainClock
* save offset to calculate absolute-time
This commit is contained in:
Robin Gareus 2017-11-22 22:10:37 +01:00
parent 1be2790cac
commit 15150c57c1
10 changed files with 128 additions and 58 deletions

View file

@ -67,7 +67,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
void focus ();
void set (samplepos_t, bool force = false, ARDOUR::samplecnt_t offset = 0);
virtual void set (samplepos_t, bool force = false, ARDOUR::samplecnt_t offset = 0);
void set_from_playhead ();
void locate ();
void set_mode (Mode, bool noemit = false);
@ -105,7 +105,8 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
protected:
void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
bool get_is_duration () const { return is_duration; } ;
bool get_is_duration () const { return is_duration; }
ARDOUR::samplecnt_t offset () const { return _offset; }
virtual void build_ops_menu ();
Gtk::Menu *ops_menu;
@ -133,6 +134,8 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
samplepos_t _limit_pos;
ARDOUR::samplecnt_t _offset;
Glib::RefPtr<Pango::Layout> _layout;
bool _with_info;