+ void set_public_latency_range (LatencyRange& range, bool playback) const;
+ LatencyRange public_latency_range (bool playback) const;
+
+ virtual void reset ();
+
+ virtual DataType type () const = 0;
+ virtual void cycle_start (pframes_t);
+ virtual void cycle_end (pframes_t) = 0;
+ virtual void cycle_split () = 0;
+ virtual Buffer& get_buffer (pframes_t nframes) = 0;
+ virtual void flush_buffers (pframes_t /*nframes*/) {}
+ virtual void transport_stopped () {}
+ virtual void realtime_locate () {}
+
+ bool physically_connected () const;
+
+ PBD::Signal1<void,bool> MonitorInputChanged;
+ static PBD::Signal2<void,boost::shared_ptr<Port>,boost::shared_ptr<Port> > PostDisconnect;
+ static PBD::Signal0<void> PortDrop;
+ static PBD::Signal0<void> PortSignalDrop;
+
+ static void set_cycle_framecnt (pframes_t n) {
+ _cycle_nframes = n;