sig
type t
external openFromFile : filename:string -> SFMusic.t
= "caml_sfMusic_openFromFile"
external openFromMemory : data:string -> SFMusic.t
= "caml_sfMusic_openFromMemory"
external destroy : music:SFMusic.t -> unit = "caml_sfMusic_destroy"
external getDuration : music:SFMusic.t -> SFTime.t
= "caml_sfMusic_getDuration"
external play : music:SFMusic.t -> unit = "caml_sfMusic_play"
external pause : music:SFMusic.t -> unit = "caml_sfMusic_pause"
external stop : music:SFMusic.t -> unit = "caml_sfMusic_stop"
external getChannelCount : music:SFMusic.t -> int
= "caml_sfMusic_getChannelCount"
external getSampleRate : music:SFMusic.t -> int
= "caml_sfMusic_getSampleRate"
type sound_status = Stopped | Paused | Playing
external getStatus : music:SFMusic.t -> SFMusic.sound_status
= "caml_sfMusic_getStatus"
external setPlayingOffset : music:SFMusic.t -> timeOffset:SFTime.t -> unit
= "caml_sfMusic_setPlayingOffset"
external getPlayingOffset : music:SFMusic.t -> SFTime.t
= "caml_sfMusic_getPlayingOffset"
external setLoop : music:SFMusic.t -> loop:bool -> unit
= "caml_sfMusic_setLoop"
external getLoop : music:SFMusic.t -> bool = "caml_sfMusic_getLoop"
external setVolume : music:SFMusic.t -> volume:float -> unit
= "caml_sfMusic_setVolume"
external getVolume : music:SFMusic.t -> float = "caml_sfMusic_getVolume"
external setPitch : music:SFMusic.t -> pitch:float -> unit
= "caml_sfMusic_setPitch"
external getPitch : music:SFMusic.t -> float = "caml_sfMusic_getPitch"
external setRelativeToListener : music:SFMusic.t -> relative:bool -> unit
= "caml_sfMusic_setRelativeToListener"
external isRelativeToListener : music:SFMusic.t -> bool
= "caml_sfMusic_isRelativeToListener"
external setMinDistance : music:SFMusic.t -> minDistance:float -> unit
= "caml_sfMusic_setMinDistance"
external getMinDistance : music:SFMusic.t -> float
= "caml_sfMusic_getMinDistance"
external setAttenuation : music:SFMusic.t -> attenuation:float -> unit
= "caml_sfMusic_setAttenuation"
external getAttenuation : music:SFMusic.t -> float
= "caml_sfMusic_getAttenuation"
external setPosition : music:SFMusic.t -> pos:float * float * float -> unit
= "caml_sfMusic_setPosition3"
external setPosition3 :
music:SFMusic.t -> x:float -> y:float -> z:float -> unit
= "caml_sfMusic_setPosition"
external getPosition : music:SFMusic.t -> float * float * float
= "caml_sfMusic_getPosition"
end