Prevent endless read of silent files
[ardour.git] / gtk2_ardour / audio_clock.h
index 6701410c9932186736fe705f6ec04c3f37c6ae07..5d8e58be6bca0ab749a475e4bc5cb3918095ed14 100644 (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;
@@ -220,7 +223,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
        samplepos_t get_sample_step (Field, samplepos_t pos = 0, int dir = 1);
 
        bool timecode_validate_edit (const std::string&);
-       bool bbt_validate_edit (const std::string&);
+       bool bbt_validate_edit (std::string&);
        bool minsec_validate_edit (const std::string&);
 
        samplepos_t samples_from_timecode_string (const std::string&) const;