20 #ifndef __libpbd_timer_h__
21 #define __libpbd_timer_h__
23 #include <sigc++/signal.h>
25 #include <glibmm/main.h>
40 Timer (
unsigned int interval,
41 const Glib::RefPtr<Glib::MainContext>& main_context);
43 unsigned int get_interval ()
const;
45 void set_interval (
unsigned int new_interval);
47 virtual unsigned int connection_count ()
const = 0;
57 virtual bool on_elapsed () = 0;
66 static gboolean _timeout_handler (
void *data);
68 bool timeout_handler ();
83 const Glib::RefPtr<Glib::MainContext>& main_context = Glib::MainContext::get_default());
85 sigc::connection connect (
const sigc::slot<void>& slot);
88 {
return m_signal.size (); }
92 virtual bool on_elapsed ();
103 const Glib::RefPtr<Glib::MainContext>& main_context = Glib::MainContext::get_default());
106 sigc::connection connect (
const sigc::slot<void, bool>& slot);
109 {
return m_blink_signal.size (); }
113 virtual bool on_elapsed ();
121 #endif // __libpbd_timer_h__
virtual unsigned int connection_count() const
const Glib::RefPtr< Glib::MainContext > m_main_context
sigc::signal< void, bool > m_blink_signal
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
unsigned int m_timeout_interval
sigc::signal< void > m_signal
GSource * m_timeout_source
virtual unsigned int connection_count() const