virtual std::string get_docs () const { return ""; }
virtual std::string get_parameter_docs (uint32_t /*which*/) const { return ""; }
+ struct UILayoutHint {
+ UILayoutHint ()
+ : x0(-1), x1(-1), y0(-1), y1(-1), knob(false) {}
+ int x0;
+ int x1;
+ int y0;
+ int y1;
+ bool knob;
+ };
+
+ virtual bool get_layout (uint32_t which, UILayoutHint&) const { return false; }
+
virtual int get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const = 0;
virtual uint32_t nth_parameter (uint32_t which, bool& ok) const = 0;
virtual void activate () = 0;
virtual bool parameter_is_input(uint32_t) const = 0;
virtual bool parameter_is_output(uint32_t) const = 0;
+ virtual uint32_t designated_bypass_port () { return UINT32_MAX; }
+
struct LIBARDOUR_API IOPortDescription {
public:
IOPortDescription (const std::string& n)
return 0;
}
- /** Emitted when a Latency Changes
- *
- * (this cannot be part of ARDOUR::Latent because
- * signals cannot be copy-constructed).
- */
- PBD::Signal2<void,framecnt_t, framecnt_t> LatencyChanged;
-
- /* overload Latent::set_user_latency w/signal emission */
- virtual void set_user_latency (framecnt_t val) {
- bool changed = val != _user_latency;
- framecnt_t old = effective_latency ();
- _user_latency = val;
- if (changed) {
- LatencyChanged (old, effective_latency ()); /* EMIT SIGNAL */
- }
- }
-
/** the max possible latency a plugin will have */
virtual framecnt_t max_latency () const { return 0; } // TODO = 0, require implementation