This file is indexed.

/usr/lib/ocaml/ladspa/ladspa.mli is in libladspa-ocaml-dev 0.1.4-1.1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
(*
 * Copyright 2007-2010 Savonet team
 *
 * This file is part of ocaml-ladspa.
 *
 * ocaml-ladspa is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * ocaml-ladspa is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with ocaml-ladspa; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * As a special exception to the GNU Library General Public License, you may
 * link, statically or dynamically, a "work that uses the Library" with a publicly
 * distributed version of the Library to produce an executable file containing
 * portions of the Library, and distribute that executable file under terms of
 * your choice, without any of the additional requirements listed in clause 6
 * of the GNU Library General Public License.
 * By "a publicly distributed version of the Library", we mean either the unmodified
 * Library as distributed by The Savonet Team, or a modified version of the Library that is
 * distributed under the conditions defined in clause 3 of the GNU Library General
 * Public License. This exception does not however invalidate any other reasons why
 * the executable file might be covered by the GNU Library General Public License.
 *
 *)

(**
  * Functions for using LADSPA plugins.
  *
  * @author Samuel Mimram
  *)

(** Version number. *)
val version : unit -> string

(** Major version. *)
val version_major : unit -> int

(** Minor version. *)
val version_minor : unit -> int

(** Plugins. *)
module Plugin :
sig
  (** A plugin. *)
  type t

  (** The file being loaded is not a LADSPA plugin. *)
  exception Not_a_plugin

  (** Load a LADSPA plugin. The argument is the path of a .so file. *)
  val load : string -> t

  (** Unload a LADSPA plugin. *)
  val unload : t -> unit
end

(** Descriptors. *)
module Descriptor :
sig
  (** A descriptor. *)
  type t

  (** Retrieve the [n]-th descriptor of a plugin. *)
  val descriptor : Plugin.t -> int -> t

  (** Retrieve all the descriptors of a plugin. *)
  val descriptors : Plugin.t -> t array

  (** This numeric identifier indicates the plugin type uniquely. Plugin
    * programmers may reserve ranges of IDs from a central body to avoid
    * clashes. Hosts may assume that IDs are below 0x1000000. *)
  val unique_id : t -> int

  (** This identifier can be used as a unique, case-sensitive identifier for the
    * plugin type within the plugin file. Plugin types should be identified by
    * file and label rather than by index or plugin name, which may be changed
    * in new plugin versions. Labels must not contain white-space characters. *)
  val label : t -> string

  (** Name of the plugin (e.g. "Sine Oscillator"). *)
  val name : t -> string

  (** String indicating the maker of the plugin. *)
  val maker : t -> string

  (** String indicating any copyright applying to the plugin. *)
  val copyright : t -> string option

  (** This indicates the number of ports (input AND output) present on the
      plugin. *)
  val port_count : t -> int

  (** Name of the [n]-th port. *)
  val port_name : t -> int -> string

  (** Is the [n]-th port an input? *)
  val port_is_input : t -> int -> bool

  (** Is the [n]-th port an output? *)
  val port_is_output : t -> int -> bool

  (** Is the [n]-th port an audio port? *)
  val port_is_audio : t -> int -> bool

  (** Is the [n]-th port a control port? *)
  val port_is_control : t -> int -> bool

  val port_is_integer : t -> int -> bool

  val port_is_boolean : t -> int -> bool

  val port_is_logarithmic : t -> int -> bool

  (** Get a sensible default value for a control port. *)
  val port_get_default : t -> ?samplerate:int -> int -> float option

  val port_get_min : t -> ?samplerate:int -> int -> float option

  val port_get_max : t -> ?samplerate:int -> int -> float option

  (** Instance of a descriptor. *)
  type instance

  (** [instantiate descr freq len] instantiates the descriptor [descr] with a
    * sampling frequency [freq] indicating that [len] samples should be
    * processed at each run. *)
  val instantiate : t -> int -> int -> instance

  (** Change the number of samples that should be processed at each [run]. *)
  val set_samples : instance -> int -> unit

  (** [connect_audio_port inst p buf ofs] connects the audio port [p] of
    * instance [inst] to the buffer [buf] starting at position [ofs]. *)
  val connect_audio_port : instance -> int -> float array -> int -> unit

  (** Connect an input control port. *)
  val connect_control_port_in : instance -> int -> float -> unit

  (** Connect an output control port. *)
  val connect_control_port_out : instance -> int -> float ref -> unit

  (** Activate (i.e. initialize) a plugin. *)
  val activate : instance -> unit

  (** Deactivate a plugin. *)
  val deactivate : instance -> unit

  (** An input port is not connected. *)
  exception Input_port_not_connected of int

  (** Process samples. *)
  val run : instance -> unit

  (** Internal function used by the DSSI binding. *)
  val pre_run : instance -> unit
  (** Internal function used by the DSSI binding. *)
  val post_run : instance -> unit
  (** Internal function used by the DSSI binding. *)
  val post_run_adding : instance -> unit
end