module MIDI:sig
..end
Operations on MIDI data.
type
division =
| |
Ticks_per_quarter of |
(* | Ticks per quarter note. | *) |
| |
SMPTE of |
(* | SMPTE (frames per second, ticks per frame). | *) |
Units for delta-times.
type
event =
| |
Note_off of |
| |
Note_on of |
| |
Aftertouch of |
| |
Control_change of |
| |
Patch of |
| |
Channel_aftertouch of |
| |
Pitch of |
| |
Sequence_number of |
| |
Text of |
| |
Copyright of |
| |
Track_name of |
| |
Instrument_name of |
| |
Lyric of |
| |
Marker of |
| |
Cue of |
| |
End_of_track |
| |
Tempo of |
| |
Time_signature of |
| |
Key_signature of |
| |
Custom of |
type
buffer
A MIDI buffer.
val data : buffer -> (int * event) list
val create : int -> buffer
Create a MIDI buffer of given length in samples.
val copy : buffer -> buffer
Create a copy of a MIDI buffer.
val blit : buffer -> int -> buffer -> int -> int -> unit
val blit_all : buffer -> buffer -> unit
val merge : buffer -> buffer -> unit
merge b1 b2
merges the buffer b2
into b1
.
val add : buffer -> int -> buffer -> int -> int -> unit
val clear_all : buffer -> unit
val insert : buffer -> int * event -> unit
module Multitrack:sig
..end
module IO:sig
..end