ml2mxml

Generate musicxml files from OCaml
Library ml2mxml
Module Music
type note_duration = [
| `Eighth
| `Half
| `Quarter
| `Sixteenth
| `Whole
]
val range : ?step:int -> int -> int -> int list
val enumerate : 'a list -> (int * 'a) list
type played_note = {
string : int;
fret : int;
}
module Diatonic : sig ... end
type string_clef = [
| `F
| `G
]
type string_instrument = {
strings : Diatonic.t array;
string_clef : string_clef;
}
type drum_element = [
| `China
| `Cowbell
| `Crash
| `Crash_01
| `Hihat
| `Hihat_02
| `Kick
| `PedalHiHat
| `Ride
| `Ride_01
| `Ride_bell
| `Snare
| `Snare_muted
| `Splash
| `Tom
| `Tom_01
| `Tom_02
| `Tom_03
| `Tom_04
]
type string_note = [
| `Chord of played_note list
| `Rest
| `Single of played_note
]
type drum_note = [
| `Chord of drum_element list
| `Rest
| `Single of drum_element
]
type diatonic_note = [
| `Chord of Diatonic.t list
| `Rest
| `Single of Diatonic.t
]
type meter = [
| `Duple
| `Triple
]
type tied = [
| `Start
| `Stop
]
type !'a measure_elt = {
note : 'a;
duration : note_duration;
tied : tied option;
meter : meter;
dot : bool;
}
type !'a measure = 'a measure_elt list
type !'a measures = 'a measure list
val duration_to_float : 'a measure_elt -> float
val create_single_note : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> 'a -> [> `Single of 'a ] measure_elt
val create_chord : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> 'a -> [> `Chord of 'a ] measure_elt
val create_rest : ?meter:meter -> ?dot:bool -> note_duration -> [> `Rest ] measure_elt
val find_note_in_guitar : played_note -> played_note
val transpose_note : int -> played_note -> played_note
val transpose_string_note : int -> [< `Chord of played_note list | `Rest | `Single of played_note ] measure_elt -> [> `Chord of played_note list | `Rest | `Single of played_note ] measure_elt
val lower_string_note_by_fifth : [< `Chord of played_note list | `Rest | `Single of played_note ] measure_elt -> [> `Chord of played_note list | `Rest | `Single of played_note ] measure_elt
val repeat_note_patterns : int -> 'a list -> 'a list
val repeat_note : int -> 'a -> 'a list
val create_measure : 'a measure_elt list -> 'a measure_elt list
val repeat_measures : int -> 'a -> 'a list
val transpose_measure : int -> [< `Chord of played_note list | `Rest | `Single of played_note ] measure_elt list -> [> `Chord of played_note list | `Rest | `Single of played_note ] measure_elt list
val transpose_measures : int -> [< `Chord of played_note list | `Rest | `Single of played_note ] measure_elt list list -> [> `Chord of played_note list | `Rest | `Single of played_note ] measure_elt list list
val create_string_note : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> int -> int -> [> `Single of played_note ] measure_elt
val create_string_chord : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> (int * int) list -> [> `Chord of played_note list ] measure_elt
val create_diatonic_note : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> Diatonic.diatonic_scale -> int -> [> `Single of Diatonic.t ] measure_elt
val create_diatonic_chord : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> (Diatonic.diatonic_scale * int) list -> [> `Chord of Diatonic.t list ] measure_elt
val create_drum_note : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> 'a -> [> `Single of 'a ] measure_elt
val create_drum_chord : ?tied:tied option -> ?meter:meter -> ?dot:bool -> note_duration -> 'a -> [> `Chord of 'a ] measure_elt
val create_string_sixteenth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> int -> int -> [> `Single of played_note ] measure_elt
val create_string_eighth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> int -> int -> [> `Single of played_note ] measure_elt
val create_string_chord_eighth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> (int * int) list -> [> `Chord of played_note list ] measure_elt
val create_string_quarter : ?tied:tied option -> ?meter:meter -> ?dot:bool -> int -> int -> [> `Single of played_note ] measure_elt
val create_string_half : ?tied:tied option -> ?meter:meter -> ?dot:bool -> int -> int -> [> `Single of played_note ] measure_elt
val create_diatonic_sixteenth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> Diatonic.diatonic_scale -> int -> [> `Single of Diatonic.t ] measure_elt
val create_diatonic_eighth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> Diatonic.diatonic_scale -> int -> [> `Single of Diatonic.t ] measure_elt
val create_diatonic_chord_eighth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> (Diatonic.diatonic_scale * int) list -> [> `Chord of Diatonic.t list ] measure_elt
val create_diatonic_quarter : ?tied:tied option -> ?meter:meter -> ?dot:bool -> Diatonic.diatonic_scale -> int -> [> `Single of Diatonic.t ] measure_elt
val create_diatonic_half : ?tied:tied option -> ?meter:meter -> ?dot:bool -> Diatonic.diatonic_scale -> int -> [> `Single of Diatonic.t ] measure_elt
val create_drum_sixteenth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> 'a -> [> `Single of 'a ] measure_elt
val create_drum_eighth : ?tied:tied option -> ?meter:meter -> ?dot:bool -> 'a -> [> `Single of 'a ] measure_elt
val create_drum_quarter : ?tied:tied option -> ?meter:meter -> ?dot:bool -> 'a -> [> `Single of 'a ] measure_elt
val create_drum_half : ?tied:tied option -> ?meter:meter -> ?dot:bool -> 'a -> [> `Single of 'a ] measure_elt
val create_drum_chord_quarter : ?tied:tied option -> ?meter:meter -> ?dot:bool -> 'a -> [> `Chord of 'a ] measure_elt
val make_standard_bass_shift : Diatonic.t -> Diatonic.t
val generate_bass : int -> Diatonic.t -> Diatonic.t list
val std5_bass : string_instrument
val std_guitar : string_instrument