Audio source protocol
Audio playback engine

Prev:play-streaming-audio-clip ( audio-engine source generator buffer-count -- audio-clip/f )
Next:Audio listener protocol

Every audio clip has an associated source object. The audio-engine uses this object to determine the position, velocity, volume, and other attributes of the clip. These attributes are dynamic; every time update-audio runs, these attributes are queried and updated for every currently playing clip. The source object must provide methods for the following generic words:
audio-position ( source/listener -- position )

audio-gain ( source/listener -- gain )

audio-velocity ( source/listener -- velocity )

audio-relative? ( source -- relative? )

audio-distance ( source -- distance )

audio-rolloff ( source -- rolloff )

Some of these methods are shared with the Audio listener protocol.

For simple applications, a tuple class is provided with a trivial implementation of these methods: