Module Alsa.Sequencer

type t
val create : string -> ?blocking:bool -> [ `Input | `Output | `Duplex ] -> t
val set_client_name : t -> string -> unit
type port_caps =
  1. | Port_cap_read
  2. | Port_cap_write
  3. | Port_cap_sync_read
  4. | Port_cap_sync_write
  5. | Port_cap_duplex
  6. | Port_cap_subs_read
  7. | Port_cap_subs_write
  8. | Port_cap_no_export
type port_type =
  1. | Port_type_specific
  2. | Port_type_MIDI_generic
  3. | Port_type_MIDI_GM
  4. | Port_type_MIDI_GM2
  5. | Port_type_MIDI_GS
  6. | Port_type_MIDI_XG
  7. | Port_type_MIDI_MT32
  8. | Port_type_hardware
  9. | Port_type_software
  10. | Port_type_sythesizer
  11. | Port_type_port
  12. | 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 = {
  1. ev_event : Event.t;
  2. ev_time : time;
}
val input_event : t -> event
val output_event : t -> Event.t -> unit