Documentation

Overview

    Package al provides OpenAL Soft bindings for Go.

    Calls are not safe for concurrent use.

    More information about OpenAL Soft is available at http://www.openal.org/documentation/openal-1.1-specification.pdf.

    In order to use this package on Linux desktop distros, you will need OpenAL library as an external dependency. On Ubuntu 14.04 'Trusty', you may have to install this library by running the command below.

    sudo apt-get install libopenal-dev
    

    When compiled for Android, this package uses OpenAL Soft. Please add its license file to the open source notices of your application. OpenAL Soft's license file could be found at http://repo.or.cz/w/openal-soft.git/blob/HEAD:/COPYING.

    Index

    Constants

    View Source
    const (
    	InvalidName      = 0xA001
    	InvalidEnum      = 0xA002
    	InvalidValue     = 0xA003
    	InvalidOperation = 0xA004
    	OutOfMemory      = 0xA005
    )

      Error returns one of these error codes.

      View Source
      const (
      	InverseDistance         = 0xD001
      	InverseDistanceClamped  = 0xD002
      	LinearDistance          = 0xD003
      	LinearDistanceClamped   = 0xD004
      	ExponentDistance        = 0xD005
      	ExponentDistanceClamped = 0xD006
      )

        Distance models.

        View Source
        const (
        	Initial = 0x1011
        	Playing = 0x1012
        	Paused  = 0x1013
        	Stopped = 0x1014
        )

          A source could be in the state of initial, playing, paused or stopped.

          View Source
          const (
          	FormatMono8    = 0x1100
          	FormatMono16   = 0x1101
          	FormatStereo8  = 0x1102
          	FormatStereo16 = 0x1103
          )

            Audio formats. Buffer.BufferData accepts one of these formats as the data format.

            View Source
            const CapabilityDistanceModel = Capability(0x200)

              CapabilityDistanceModel represents the capability of specifying a different distance model for each source.

              Variables

              This section is empty.

              Functions

              func CloseDevice

              func CloseDevice()

                CloseDevice closes the device and frees related resources. Calls to CloseDevice are safe for concurrent use.

                func DeleteBuffers

                func DeleteBuffers(buffer ...Buffer)

                  DeleteBuffers deletes the buffers.

                  func DeleteSources

                  func DeleteSources(source ...Source)

                    DeleteSources deletes the sources.

                    func DeviceError

                    func DeviceError() int32

                      DeviceError returns the last known error from the current device.

                      func Disable

                      func Disable(c Capability)

                        Disable disables a capability.

                        func DistanceModel

                        func DistanceModel() int32

                          DistanceModel returns the distance model.

                          func DopplerFactor

                          func DopplerFactor() float32

                            DopplerFactor returns the doppler factor.

                            func DopplerVelocity

                            func DopplerVelocity() float32

                              DopplerVelocity returns the doppler velocity.

                              func Enable

                              func Enable(c Capability)

                                Enable enables a capability.

                                func Enabled

                                func Enabled(c Capability) bool

                                  Enabled reports whether the specified capability is enabled.

                                  func Error

                                  func Error() int32

                                    Error returns the most recently generated error.

                                    func Extensions

                                    func Extensions() string

                                      Extensions returns the enabled extensions.

                                      func GetListenerf

                                      func GetListenerf(param int) float32

                                        GetListenerf returns the float32 value of the listener parameter.

                                        func GetListenerfv

                                        func GetListenerfv(param int, v []float32)

                                          GetListenerfv returns the float32 vector value of the listener parameter.

                                          func GetString

                                          func GetString(param int) string

                                            GetString returns the string value of the given parameter.

                                            func Getb

                                            func Getb(param int) bool

                                              Getb returns the bool value of the given parameter.

                                              func Getbv

                                              func Getbv(param int, v []bool)

                                                Getbv returns the bool vector value of the given parameter.

                                                func Getf

                                                func Getf(param int) float32

                                                  Getf returns the float32 value of the given parameter.

                                                  func Getfv

                                                  func Getfv(param int, v []float32)

                                                    Getfv returns the float32 vector value of the given parameter.

                                                    func Geti

                                                    func Geti(param int) int32

                                                      Geti returns the int32 value of the given parameter.

                                                      func Getiv

                                                      func Getiv(param int, v []int32)

                                                        Getiv returns the int32 vector value of the given parameter.

                                                        func ListenerGain

                                                        func ListenerGain() float32

                                                          ListenerGain returns the total gain applied to the final mix.

                                                          func OpenDevice

                                                          func OpenDevice() error

                                                            OpenDevice opens the default audio device. Calls to OpenDevice are safe for concurrent use.

                                                            func PauseSources

                                                            func PauseSources(source ...Source)

                                                              PauseSources pauses the sources.

                                                              func PlaySources

                                                              func PlaySources(source ...Source)

                                                                PlaySources plays the sources.

                                                                func Renderer

                                                                func Renderer() string

                                                                  Renderer returns the renderer information.

                                                                  func RewindSources

                                                                  func RewindSources(source ...Source)

                                                                    RewindSources rewinds the sources to their beginning positions.

                                                                    func SetDistanceModel

                                                                    func SetDistanceModel(v int32)

                                                                      SetDistanceModel sets the distance model.

                                                                      func SetDopplerFactor

                                                                      func SetDopplerFactor(v float32)

                                                                        SetDopplerFactor sets the doppler factor.

                                                                        func SetDopplerVelocity

                                                                        func SetDopplerVelocity(v float32)

                                                                          SetDopplerVelocity sets the doppler velocity.

                                                                          func SetListenerGain

                                                                          func SetListenerGain(v float32)

                                                                            SetListenerGain sets the total gain that will be applied to the final mix.

                                                                            func SetListenerOrientation

                                                                            func SetListenerOrientation(v Orientation)

                                                                              SetListenerOrientation sets the orientation of the listener.

                                                                              func SetListenerPosition

                                                                              func SetListenerPosition(v Vector)

                                                                                SetListenerPosition sets the position of the listener.

                                                                                func SetListenerVelocity

                                                                                func SetListenerVelocity(v Vector)

                                                                                  SetListenerVelocity sets the velocity of the listener.

                                                                                  func SetListenerf

                                                                                  func SetListenerf(param int, v float32)

                                                                                    GetListenerf sets the float32 value for the listener parameter.

                                                                                    func SetListenerfv

                                                                                    func SetListenerfv(param int, v []float32)

                                                                                      GetListenerf sets the float32 vector value of the listener parameter.

                                                                                      func SetSpeedOfSound

                                                                                      func SetSpeedOfSound(v float32)

                                                                                        SetSpeedOfSound sets the speed of sound, its unit should be meters per second (m/s).

                                                                                        func SpeedOfSound

                                                                                        func SpeedOfSound() float32

                                                                                          SpeedOfSound is the speed of sound in meters per second (m/s).

                                                                                          func StopSources

                                                                                          func StopSources(source ...Source)

                                                                                            StopSources stops the sources.

                                                                                            func Vendor

                                                                                            func Vendor() string

                                                                                              Vendor returns the vendor.

                                                                                              func Version

                                                                                              func Version() string

                                                                                                Version returns the version string.

                                                                                                Types

                                                                                                type Buffer

                                                                                                type Buffer uint32

                                                                                                  A buffer represents a chunk of PCM audio data that could be buffered to an audio source. A single buffer could be shared between multiple sources.

                                                                                                  func GenBuffers

                                                                                                  func GenBuffers(n int) []Buffer

                                                                                                    GenBuffers generates n new buffers. The generated buffers should be deleted once they are no longer in use.

                                                                                                    func (Buffer) Bits

                                                                                                    func (b Buffer) Bits() int32

                                                                                                      Bits return the number of bits used to represent a sample.

                                                                                                      func (Buffer) BufferData

                                                                                                      func (b Buffer) BufferData(format uint32, data []byte, freq int32)

                                                                                                        BufferData buffers PCM data to the current buffer.

                                                                                                        func (Buffer) Channels

                                                                                                        func (b Buffer) Channels() int32

                                                                                                          Channels return the number of the audio channels.

                                                                                                          func (Buffer) Frequency

                                                                                                          func (b Buffer) Frequency() int32

                                                                                                            Frequency returns the frequency of the buffer data in Hertz (Hz).

                                                                                                            func (Buffer) Geti

                                                                                                            func (b Buffer) Geti(param int) int32

                                                                                                              Geti returns the int32 value of the given parameter.

                                                                                                              func (Buffer) Size

                                                                                                              func (b Buffer) Size() int32

                                                                                                                Size returns the size of the data.

                                                                                                                func (Buffer) Valid

                                                                                                                func (b Buffer) Valid() bool

                                                                                                                  Valid reports whether the buffer exists and is valid.

                                                                                                                  type Capability

                                                                                                                  type Capability int32

                                                                                                                    Capability represents OpenAL extension capabilities.

                                                                                                                    type Orientation

                                                                                                                    type Orientation struct {
                                                                                                                    	// Forward vector is the direction that the object is looking at.
                                                                                                                    	Forward Vector
                                                                                                                    	// Up vector represents the rotation of the object.
                                                                                                                    	Up Vector
                                                                                                                    }

                                                                                                                      Orientation represents the angular position of an object in a right-handed Cartesian coordinate system. A cross product between the forward and up vector returns a vector that points to the right.

                                                                                                                      func ListenerOrientation

                                                                                                                      func ListenerOrientation() Orientation

                                                                                                                        ListenerOrientation returns the orientation of the listener.

                                                                                                                        type Source

                                                                                                                        type Source uint32

                                                                                                                          Source represents an individual sound source in 3D-space. They take PCM data, apply modifications and then submit them to be mixed according to their spatial location.

                                                                                                                          func GenSources

                                                                                                                          func GenSources(n int) []Source

                                                                                                                            GenSources generates n new sources. These sources should be deleted once they are not in use.

                                                                                                                            func (Source) BuffersProcessed

                                                                                                                            func (s Source) BuffersProcessed() int32

                                                                                                                              BuffersProcessed returns the number of the processed buffers.

                                                                                                                              func (Source) BuffersQueued

                                                                                                                              func (s Source) BuffersQueued() int32

                                                                                                                                BuffersQueued returns the number of the queued buffers.

                                                                                                                                func (Source) Gain

                                                                                                                                func (s Source) Gain() float32

                                                                                                                                  Gain returns the source gain.

                                                                                                                                  func (Source) Getf

                                                                                                                                  func (s Source) Getf(param int) float32

                                                                                                                                    Getf returns the float32 value of the given parameter.

                                                                                                                                    func (Source) Getfv

                                                                                                                                    func (s Source) Getfv(param int, v []float32)

                                                                                                                                      Getfv returns the float32 vector value of the given parameter.

                                                                                                                                      func (Source) Geti

                                                                                                                                      func (s Source) Geti(param int) int32

                                                                                                                                        Geti returns the int32 value of the given parameter.

                                                                                                                                        func (Source) MaxGain

                                                                                                                                        func (s Source) MaxGain() float32

                                                                                                                                          MaxGain returns the source's maximum gain setting.

                                                                                                                                          func (Source) MinGain

                                                                                                                                          func (s Source) MinGain() float32

                                                                                                                                            MinGain returns the source's minimum gain setting.

                                                                                                                                            func (Source) OffsetByte

                                                                                                                                            func (s Source) OffsetByte() int32

                                                                                                                                              OffsetByte returns the byte offset of the current playback position.

                                                                                                                                              func (Source) OffsetSample

                                                                                                                                              func (s Source) OffsetSample() int32

                                                                                                                                                OffsetSample returns the sample offset of the current playback position.

                                                                                                                                                func (Source) OffsetSeconds

                                                                                                                                                func (s Source) OffsetSeconds() int32

                                                                                                                                                  OffsetSeconds returns the current playback position of the source in seconds.

                                                                                                                                                  func (Source) Orientation

                                                                                                                                                  func (s Source) Orientation() Orientation

                                                                                                                                                    Orientation returns the orientation of the source.

                                                                                                                                                    func (Source) Position

                                                                                                                                                    func (s Source) Position() Vector

                                                                                                                                                      Position returns the position of the source.

                                                                                                                                                      func (Source) QueueBuffers

                                                                                                                                                      func (s Source) QueueBuffers(buffer ...Buffer)

                                                                                                                                                        QueueBuffers adds the buffers to the buffer queue.

                                                                                                                                                        func (Source) SetGain

                                                                                                                                                        func (s Source) SetGain(v float32)

                                                                                                                                                          SetGain sets the source gain.

                                                                                                                                                          func (Source) SetMaxGain

                                                                                                                                                          func (s Source) SetMaxGain(v float32)

                                                                                                                                                            SetMaxGain sets the source's maximum gain setting.

                                                                                                                                                            func (Source) SetMinGain

                                                                                                                                                            func (s Source) SetMinGain(v float32)

                                                                                                                                                              SetMinGain sets the source's minimum gain setting.

                                                                                                                                                              func (Source) SetOrientation

                                                                                                                                                              func (s Source) SetOrientation(o Orientation)

                                                                                                                                                                SetOrientation sets the orientation of the source.

                                                                                                                                                                func (Source) SetPosition

                                                                                                                                                                func (s Source) SetPosition(v Vector)

                                                                                                                                                                  SetPosition sets the position of the source.

                                                                                                                                                                  func (Source) SetVelocity

                                                                                                                                                                  func (s Source) SetVelocity(v Vector)

                                                                                                                                                                    SetVelocity sets the source's velocity.

                                                                                                                                                                    func (Source) Setf

                                                                                                                                                                    func (s Source) Setf(param int, v float32)

                                                                                                                                                                      Setf sets a float32 value for the given parameter.

                                                                                                                                                                      func (Source) Setfv

                                                                                                                                                                      func (s Source) Setfv(param int, v []float32)

                                                                                                                                                                        Setfv sets a float32 vector value for the given parameter.

                                                                                                                                                                        func (Source) Seti

                                                                                                                                                                        func (s Source) Seti(param int, v int32)

                                                                                                                                                                          Seti sets an int32 value for the given parameter.

                                                                                                                                                                          func (Source) State

                                                                                                                                                                          func (s Source) State() int32

                                                                                                                                                                            State returns the playing state of the source.

                                                                                                                                                                            func (Source) UnqueueBuffers

                                                                                                                                                                            func (s Source) UnqueueBuffers(buffer ...Buffer)

                                                                                                                                                                              UnqueueBuffers removes the specified buffers from the buffer queue.

                                                                                                                                                                              func (Source) Velocity

                                                                                                                                                                              func (s Source) Velocity() Vector

                                                                                                                                                                                Velocity returns the source's velocity.

                                                                                                                                                                                type Vector

                                                                                                                                                                                type Vector [3]float32

                                                                                                                                                                                  Vector represents an vector in a Cartesian coordinate system.

                                                                                                                                                                                  func ListenerPosition

                                                                                                                                                                                  func ListenerPosition() Vector

                                                                                                                                                                                    ListenerPosition returns the position of the listener.

                                                                                                                                                                                    func ListenerVelocity

                                                                                                                                                                                    func ListenerVelocity() Vector

                                                                                                                                                                                      ListenerVelocity returns the velocity of the listener.