Module Alsa.Sequencer

type t
val create : string -> ?blocking:bool -> [ `Input | `Output | `Duplex ] -> t
val set_client_name : t -> string -> unit
type port_caps =
| Port_cap_read
| Port_cap_write
| Port_cap_sync_read
| Port_cap_sync_write
| Port_cap_duplex
| Port_cap_subs_read
| Port_cap_subs_write
| Port_cap_no_export
type port_type =
| Port_type_specific
| Port_type_MIDI_generic
| Port_type_MIDI_GM
| Port_type_MIDI_GM2
| Port_type_MIDI_GS
| Port_type_MIDI_XG
| Port_type_MIDI_MT32
| Port_type_hardware
| Port_type_software
| Port_type_sythesizer
| Port_type_port
| Port_type_application
val create_port : t -> string -> port_caps list -> port_type list -> int
val subscribe_read_all : t -> int -> unit

Real all possible input ports on given port.

val subscribe_write_all : t -> int -> unit

Write all possible output ports from given port.

module Event : sig ... end
type time = unit
type event = {
ev_event : Event.t;
ev_time : time;
}
val input_event : t -> event
val output_event : t -> Event.t -> unit