sig
  type t
  exception Not_implemented
  val descriptor : Dssi.Plugin.t -> int -> Dssi.Descriptor.t
  val descriptors : Dssi.Plugin.t -> Dssi.Descriptor.t array
  val api_version : Dssi.Descriptor.t -> int
  val ladspa : Dssi.Descriptor.t -> Ladspa.Descriptor.t
  val configure :
    Dssi.Descriptor.t ->
    Ladspa.Descriptor.instance -> string -> string -> string
  val get_program :
    Dssi.Descriptor.t ->
    Ladspa.Descriptor.instance -> int -> int * int * string
  val select_program :
    Dssi.Descriptor.t -> Ladspa.Descriptor.instance -> int -> int -> unit
  val get_midi_controller :
    Dssi.Descriptor.t -> Ladspa.Descriptor.instance -> int -> int
  val can_run_synth : Dssi.Descriptor.t -> bool
  val can_run_synth_adding : Dssi.Descriptor.t -> bool
  val can_run_multiple_synths : Dssi.Descriptor.t -> bool
  val can_run_multiple_synths_adding : Dssi.Descriptor.t -> bool
  val run_multiple_synths :
    Dssi.Descriptor.t ->
    ?adding:bool ->
    Ladspa.Descriptor.instance array ->
    int -> (int * Dssi.event) array array -> unit
  val run_synth :
    Dssi.Descriptor.t ->
    ?adding:bool ->
    Ladspa.Descriptor.instance -> int -> (int * Dssi.event) array -> unit
end