|
Revision 529, 1.1 kB
(checked in by shans, 1 year ago)
|
Replacing sound implementation - WAS ocaml int arrays, IS native float
arrays. This has not yet been completely been debugged!
|
| Line | |
|---|
| 1 |
(* ----- C interface ----- *) |
|---|
| 2 |
|
|---|
| 3 |
type plugin;; |
|---|
| 4 |
type handle;; |
|---|
| 5 |
type buffer = FB.buffer_raw;; |
|---|
| 6 |
|
|---|
| 7 |
type portDirection = Input | Output;; |
|---|
| 8 |
type portType = Control | Audio;; |
|---|
| 9 |
|
|---|
| 10 |
val open_plugin : string -> plugin;; |
|---|
| 11 |
val port_count : plugin -> int;; |
|---|
| 12 |
val port_descriptor : plugin -> int -> (portDirection * portType);; |
|---|
| 13 |
|
|---|
| 14 |
val instantiate : plugin -> int -> handle;; |
|---|
| 15 |
val activate : plugin -> handle -> unit;; |
|---|
| 16 |
|
|---|
| 17 |
(* provide sound, output buffer array, and length in samples *) |
|---|
| 18 |
val raw_sound_to_buffers : int array -> buffer array -> int -> unit;; |
|---|
| 19 |
|
|---|
| 20 |
val raw_sound_channel_to_buffer : int array -> int -> int -> buffer -> unit;; |
|---|
| 21 |
|
|---|
| 22 |
(* provide buffers and length of each one in samples *) |
|---|
| 23 |
val buffers_to_raw_sound : buffer array -> int -> int array;; |
|---|
| 24 |
val control_value_to_buffer : float -> buffer;; |
|---|
| 25 |
val empty_buffer : int -> buffer;; |
|---|
| 26 |
|
|---|
| 27 |
val connect_port : plugin -> handle -> int -> buffer -> unit;; |
|---|
| 28 |
val run : plugin -> handle -> int -> unit;; |
|---|
| 29 |
val run_adding : plugin -> handle -> int -> unit;; |
|---|
| 30 |
|
|---|
| 31 |
(* ------ helper functions ----- *) |
|---|
| 32 |
|
|---|
| 33 |
val direction_to_string : portDirection -> string;; |
|---|
| 34 |
val type_to_string : portType -> string;; |
|---|