Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
module Id_map : sig ... end
module Ticked_action_sequence : sig ... end
module Handlers_table : sig ... end
type track = {
name : string;
mutable active : int option;
The starting tick.
*)length : int;
events : Ticked_action_sequence.t;
}
val make_track :
length:int ->
name:string ->
?active:int ->
events:Ticked_action_sequence.t ->
unit ->
track
type t = {
mutable bpm : int;
mutable ppqn : int;
tracks : track Id_map.t;
handlers : Handlers_table.t;
}
val make :
bpm:int ->
ppqn:int ->
tracks:track Id_map.t ->
handlers:Handlers_table.t ->
t
val of_scene : Vecosek_scene.Scene.t -> t
val current_tick :
t ->
current_date:float ->
previous_date:float ->
previous_tick:int ->
[> `Tick of int ] * [> `Elapsed of float ] * [> `Pulse of float ]
Returns the current “tick” by counting how many of them should have happened since the previous iteration.
It also returns the readjusted “elapsed” time, that accounts for int_of_float
imprecisions.
The pulse_length
is just for debug display.
val interesting_events_at_tick :
t ->
tick:int ->
[> `Action of Vecosek_scene.Scene_format_t.action
| `Event of Vecosek_scene.Scene.Event.t ]
list
list
val set_track_on_off : t -> id:Id_map.M.key -> int option -> unit
val set_all_tracks_off : t -> unit
val all_active_tracks : t -> (Id_map.M.key * int) list