sig
type t
type sound_status = Stopped | Paused | Playing
val create : unit -> SFSound.t
val copy : sound:SFSound.t -> SFSound.t
val setBuffer : sound:SFSound.t -> buffer:SFSoundBuffer.t -> unit
val play : sound:SFSound.t -> unit
val pause : sound:SFSound.t -> unit
val stop : sound:SFSound.t -> unit
val setLoop : sound:SFSound.t -> loop:bool -> unit
val getLoop : sound:SFSound.t -> bool
val getStatus : sound:SFSound.t -> SFSound.sound_status
val setPitch : sound:SFSound.t -> pitch:float -> unit
val setVolume : sound:SFSound.t -> volume:float -> unit
val setPosition : sound:SFSound.t -> pos:float * float * float -> unit
val setPosition3 : sound:SFSound.t -> x:float -> y:float -> z:float -> unit
val setRelativeToListener : sound:SFSound.t -> relative:bool -> unit
val setMinDistance : sound:SFSound.t -> minDistance:float -> unit
val setAttenuation : sound:SFSound.t -> attenuation:float -> unit
val setPlayingOffset : sound:SFSound.t -> timeOffset:SFTime.t -> unit
val getPlayingOffset : sound:SFSound.t -> SFTime.t
val getPitch : sound:SFSound.t -> float
val getVolume : sound:SFSound.t -> float
val isRelativeToListener : sound:SFSound.t -> bool
val getPosition : sound:SFSound.t -> float * float * float
val getMinDistance : sound:SFSound.t -> float
val getAttenuation : sound:SFSound.t -> float
end