+ bool last_monitor() const { return _last_monitor; }
+ void set_last_monitor (bool yn) { _last_monitor = yn; }
+
+ jack_port_t* jack_port() const { return _jack_port; }
+
+ void get_connected_latency_range (jack_latency_range_t& range, bool playback) const;
+
+ void set_private_latency_range (jack_latency_range_t& range, bool playback);
+ const jack_latency_range_t& private_latency_range (bool playback) const;
+
+ void set_public_latency_range (jack_latency_range_t& range, bool playback) const;
+ jack_latency_range_t 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*/, framepos_t /*time*/) {}
+ virtual void transport_stopped () {}
+ virtual void realtime_locate () {}
+
+ bool physically_connected () const;
+
+ static void set_engine (AudioEngine *);
+
+ PBD::Signal1<void,bool> MonitorInputChanged;
+
+
+ static void set_cycle_framecnt (pframes_t n) {
+ _cycle_nframes = n;