package mm

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Operations on MIDI data.

type division =
  1. | Ticks_per_quarter of int
    (*

    Ticks per quarter note.

    *)
  2. | SMPTE of int * int
    (*

    SMPTE (frames per second, ticks per frame).

    *)

Units for delta-times.

type event =
  1. | Note_off of Mm_audio.Audio.Note.t * float
  2. | Note_on of Mm_audio.Audio.Note.t * float
  3. | Aftertouch of int * float
  4. | Control_change of int * int
  5. | Patch of int
  6. | Channel_aftertouch of int
  7. | Pitch of int
  8. | Sequence_number of int
  9. | Text of string
  10. | Copyright of string
  11. | Track_name of string
  12. | Instrument_name of string
  13. | Lyric of string
  14. | Marker of string
  15. | Cue of string
  16. | End_of_track
  17. | Tempo of int
  18. | Time_signature of int * int * int * int
  19. | Key_signature of int * bool
  20. | Custom of string
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