sig
type t
external createFromFile : filename:string -> SFMusic.t
= "caml_sfMusic_CreateFromFile"
external createFromMemory : data:string -> SFMusic.t
= "caml_sfMusic_CreateFromMemory"
external destroy : music:SFMusic.t -> unit = "caml_sfMusic_Destroy"
external play : music:SFMusic.t -> unit = "caml_sfMusic_Play"
external stop : music:SFMusic.t -> unit = "caml_sfMusic_Stop"
external pause : music:SFMusic.t -> unit = "caml_sfMusic_Pause"
external setLoop : music:SFMusic.t -> loop:bool -> unit
= "caml_sfMusic_SetLoop"
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 setMinDistance : music:SFMusic.t -> minDistance:float -> unit
= "caml_sfMusic_SetMinDistance"
external setAttenuation : music:SFMusic.t -> attenuation:float -> unit
= "caml_sfMusic_SetAttenuation"
external setPosition :
music:SFMusic.t -> x:float -> y:float -> z:float -> unit
= "caml_sfMusic_SetPosition"
external setRelativeToListener : music:SFMusic.t -> relative:bool -> unit
= "caml_sfMusic_SetRelativeToListener"
external getDuration : music:SFMusic.t -> float
= "caml_sfMusic_GetDuration"
external getSampleRate : music:SFMusic.t -> int
= "caml_sfMusic_GetSampleRate"
external getChannelsCount : music:SFMusic.t -> int
= "caml_sfMusic_GetChannelsCount"
external getPlayingOffset : music:SFMusic.t -> float
= "caml_sfMusic_GetPlayingOffset"
type sound_status = Stopped | Paused | Playing
external getStatus : music:SFMusic.t -> SFMusic.sound_status
= "caml_sfMusic_GetStatus"
end