*** NEW CODING POLICY ***
[ardour.git] / libs / ardour / ardour / latent.h
1 #ifndef __ardour_latent_h__
2 #define __ardour_latent_h__
3
4 #include "ardour/types.h"
5
6 namespace ARDOUR {
7
8 class Latent {
9   public:
10         Latent() : _own_latency (0), _user_latency (0) {}
11         virtual ~Latent() {}
12
13         virtual nframes_t signal_latency() const = 0;
14         nframes_t user_latency () const { return _user_latency; }
15
16         virtual void set_latency_delay (nframes_t val) { _own_latency = val; }
17         virtual void set_user_latency (nframes_t val) { _user_latency = val; }
18
19   protected:
20         nframes_t           _own_latency;
21         nframes_t           _user_latency;
22 };
23
24 }
25
26 #endif /* __ardour_latent_h__*/