Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the cl-soloud Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 12:49:12 2020 GMT+0.
• Introduction | What cl-soloud is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
This is a bindings library to SoLoud which allows easy cross-platform mixing and playback.
Precompiled versions of the underlying library are included in this. If you want to build it manually however, refer to the SoLoud repository.
Load the system through ASDF or Quicklisp:
(ql:quickload :cl-soloud)
First you'll need to create an instance of the basic SoLoud object that will keep the system state around and allow you to manage playback.
(defvar *s* (make-instance 'cl-soloud:soloud))
Next you'll want to get an audio source to play back from. The simplest would be a speech source, which crudely turns text to speech.
(let ((source (make-instance 'cl-soloud:speech-source)))
(cl-soloud:load-text source "This text to speech is pretty terrible")
(cl-soloud:play source *s*))
Returned by play
is a playback handle with which you can control the playback. Note that all the objects returned by this API will take care of automatically cleaning up the underlying resources when they are finalized. This means that you must keep a reference to your SoLoud object and sources around or things will randomly stop working.
SoLoud has a limit of how many playbacks can be played simultaneously. It is initially set to 16, but if you need more active sources then you can up it with the :max-active-playback-count
initarg. Just note that the higher the number is, the more processing power will be required. If you play more things than the simultaneous limit, SoLoud will only play back the loudest ones. SoLoud also has a hard-coded maximum number of playbacks that can exist (this includes silent and active ones), which is set to 1024. The wrapper's API will make sure to check the maximum limit when you play a source.
SoLoud can be extended by adding custom audio sources, filters, attenuators, or colliders. All of those have a corresponding "virtual" class that you should subclass (virtual-source
virtual-filter
virtual-attenuator
virtual-collider
) and specialise their respective methods on. The explanation of which methods you need is described in the class' docstring, and what each method should do should be clearly outlined in its own docstring.
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The cl-soloud system |
Nicolas Hafner <shinmera@tymoon.eu>
Nicolas Hafner <shinmera@tymoon.eu>
(:git "https://github.com/shirakumo/cl-soloud.git")
zlib
Bindings to SoLoud, a multi-platform, multi-backend, minimal dependencies sound mixing and output library
1.0.0
cl-soloud.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The cl-soloud/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
cl-soloud.asd
cl-soloud (system)
Next: The cl-soloud/low-level․lisp file, Previous: The cl-soloud․asd file, Up: Lisp files [Contents][Index]
cl-soloud (system)
package.lisp
Next: The cl-soloud/toolkit․lisp file, Previous: The cl-soloud/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
cl-soloud (system)
low-level.lisp
Next: The cl-soloud/filter․lisp file, Previous: The cl-soloud/low-level․lisp file, Up: Lisp files [Contents][Index]
low-level.lisp (file)
cl-soloud (system)
toolkit.lisp
Next: The cl-soloud/source․lisp file, Previous: The cl-soloud/toolkit․lisp file, Up: Lisp files [Contents][Index]
toolkit.lisp (file)
cl-soloud (system)
filter.lisp
Next: The cl-soloud/soloud․lisp file, Previous: The cl-soloud/filter․lisp file, Up: Lisp files [Contents][Index]
filter.lisp (file)
cl-soloud (system)
source.lisp
Next: The cl-soloud/bus․lisp file, Previous: The cl-soloud/source․lisp file, Up: Lisp files [Contents][Index]
source.lisp (file)
cl-soloud (system)
soloud.lisp
Next: The cl-soloud/mp3․lisp file, Previous: The cl-soloud/soloud․lisp file, Up: Lisp files [Contents][Index]
soloud.lisp (file)
cl-soloud (system)
bus.lisp
Next: The cl-soloud/documentation․lisp file, Previous: The cl-soloud/bus․lisp file, Up: Lisp files [Contents][Index]
bus.lisp (file)
cl-soloud (system)
mp3.lisp
Previous: The cl-soloud/mp3․lisp file, Up: Lisp files [Contents][Index]
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The cl-soloud-cffi package | ||
• The cl-soloud package |
Next: The cl-soloud package, Previous: Packages, Up: Packages [Contents][Index]
package.lisp (file)
org.shirakumo.fraf.soloud.cffi
Previous: The cl-soloud-cffi package, Up: Packages [Contents][Index]
package.lisp (file)
org.shirakumo.fraf.soloud
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported classes |
Next: Exported functions, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
Next: Exported generic functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
low-level.lisp (file)
Next: Exported classes, Previous: Exported functions, Up: Exported definitions [Contents][Index]
Accessor to whether the source is processed as a 3d audio source.
See SOURCE
source.lisp (file)
(setf 3d-processed-p) (generic function)
3d-processed-p (generic function)
bus.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Returns the current number of active playbacks.
See MAX-ACTIVE-PLAYBACK-COUNT
See PLAYBACK-COUNT
See SOLOUD
soloud.lisp (file)
Add the object to another object.
For groups that’s a playback, for sources that’s a filter.
See GROUP
See SOURCE
soloud.lisp (file)
source.lisp (file)
Method called to compute the attenuation.
The return value is expected to be in the [0,1 range, and
gives the general volume level.
The custom attenuators are called while processing the 3d
audio in the update3dAudio() call, before any panning is
calculated.
Note that calling any SoLoud functions (even to set the
position of a 3d audio source) from the attenuate function will
most likely cause the application - or at least the audio thread
- to freeze due to mutex locks.
See VIRTUAL-ATTENUATOR
source.lisp (file)
Accessor to the attenuation model and rolloff factor of the source.
See PLAYBACK
See SOURCE
See 3D-DATA
(setf attenuation) (generic function)
source.lisp (file)
attenuation (generic function)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to the custom audio attenuator instance.
SoLoud expects the attenuator to be there until all instances
of the sound have stopped. The application is responsible for
cleaning up the attenuator. Several sound sources may use the
same attenuator.
See SOURCE
See ATTENUATOR
(setf attenuator) (generic function)
source.lisp (file)
attenuator (generic function)
bus.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Read out information about SoLoud’s audio backend.
Returns five values:
- The backend’s keyword ID
- The backend’s name as a string
- The number of channels of the backend
- The sample rate of the backend
- The internal buffer size of the backend
See SOLOUD
soloud.lisp (file)
Accessor to the base samplerate used for this virtual source.
The samples requested by GET-AUDIO should be in this rate.
See VIRTUAL-SOURCE
See GET-AUDIO
(setf base-samplerate) (generic function)
source.lisp (file)
base-samplerate (generic function)
source.lisp (file)
Accessor to the location of a channel in 3d space.
The vector is a list of three floats.
The channel must be a valid channel id.
See SOLOUD
soloud.lisp (file)
(setf channel-location) (generic function)
channel-location (generic function)
soloud.lisp (file)
Accessor to the number of channels used for this virtual source.
The samples requested by GET-AUDIO should respect this value.
See VIRTUAL-SOURCE
See GET-AUDIO
(setf channels) (generic function)
source.lisp (file)
channels (generic function)
source.lisp (file)
Method called to compute the collision.
The return value is expected to be in the [0,1] range, and
gives the general volume level. The Soloud object and 3D-data
instance are given for convenience. Additionally, when
setting the collider, the application may also set a user data
integer value which is also provided to the custom collider
through this call.
The custom colliders are called while processing the 3d audio in the update3dAudio() call, before any panning or attenuation is calculated. Thus, if the COLLIDE function adjusts the audio instance’s 3d position, the changes will take effect.
For example, if a river collider was to be created, the collider would check the player’s distance to the river, and adjust the sound source’s 3d position to the point closest to the player so that if the player runs along the river, the sound would be heard from the direction of the river (instead of, for instance, from just the middle of the river).
Note that calling any SoLoud functions (even to set the
position of a 3d audio source) from the collide function will
most likely cause the application - or at least the audio
thread - to freeze due to mutex locks.
See VIRTUAL-COLLIDER
source.lisp (file)
Accessor to the custom audio collider instance.
SoLoud expects the collider to be there until all instances
of the sound have stopped. The application is responsible for
cleaning up the collider. Several sound sources may use the
same collider.
See SOURCE
See COLLIDER
(setf collider) (generic function)
source.lisp (file)
collider (generic function)
bus.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to the direction in which the listener faces in 3d space.
See SOLOUD
soloud.lisp (file)
(setf direction) (generic function)
direction (generic function)
soloud.lisp (file)
Accessor to whether the sound’s playback will be delayed by its distance.
Since speed of sound is way slower than speed of light, in
reality we might see an explosion before we hear it. Default
is disabled, as this may be seen as a glitch since most games
do not bother simulating this.
See SOURCE
source.lisp (file)
(setf distance-delayed-p) (generic function)
distance-delayed-p (generic function)
bus.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to the doppler factor of the source.
See PLAYBACK
See SOURCE
See 3D-DATA
(setf doppler-factor) (generic function)
source.lisp (file)
doppler-factor (generic function)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to add or remove a filter to the source.
See FILTER
See SOURCE
filter.lisp (file)
(setf filter) (generic function)
filter (generic function)
bus.lisp (file)
bus.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Most filters are simpler to write on a channel-by-channel basis, so that they only deal with mono samples.
In this case, you may want to use this function instead. The
default implementation of FILTER calls this for every channel
in the source.
See VIRTUAL-FILTER
See FILTER
filter.lisp (file)
Accessor to a parameter of the filter.
See PLAYBACK
See FILTER
(setf filter-parameter) (generic function)
soloud.lisp (file)
filter-parameter (generic function)
soloud.lisp (file)
Accessor to the list of active flags for the source.
See VIRTUAL-SOURCE
(setf flags) (generic function)
source.lisp (file)
source.lisp (file)
flags (generic function)
source.lisp (file)
Explicitly and immediately frees the C object that this instance tracks.
See C-BACKED-OBJECT
toolkit.lisp (file)
This method is called to generate audio from a source.
SoLoud requests samples from the sound instance using this
function. If the instance generates more than one channel
(i.e, stereo sound), the expected sample data first has the
first channel samples, then second channel samples, etc.
So, for stereo this is: L{samples}R{samples}
The getAudio function is also responsible for handling looping,
if the audio source supports it. If the audio source runs out
of data, the rest of the buffer should be set to zero.
Each sample should be a single-float.
See VIRTUAL-SOURCE
source.lisp (file)
mp3.lisp (file)
This method is called when information is requested from the source.
This method is optional. You can provide the interface to let
the application query real-time information about your audio
source. This information may be channel volumes, register
values, or some other information of interest.
See VIRTUAL-SOURCE
source.lisp (file)
mp3.lisp (file)
Accessor to the pointer to the C object that this instance tracks.
See C-BACKED-OBJECT
(setf handle) (generic function)
automatically generated reader method
toolkit.lisp (file)
handle (generic function)
automatically generated writer method
toolkit.lisp (file)
This method is called to determine if the source has ended.
After mixing, SoLoud asks all audio instances whether they
have ended, and if they have, it will free the object and free
the channel. Supporting looping will likely affect the
implementation of this function.
See VIRTUAL-SOURCE
source.lisp (file)
mp3.lisp (file)
Accessor to the inaudible behaviour of the playback.
A list of two values:
- Whether the source should be ticked even when inaudible
- Whether the source should be killed once inaudible
(setf inaudible-behavior) (generic function)
source.lisp (file)
inaudible-behavior (generic function)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to whether this audio source should be killed when it is inaudible.
See FLAGS
See VIRTUAL-AUDIO-SOURCE
See INAUDIBLE-BEHAVIOR
(setf inaudible-kill-p) (generic function)
source.lisp (file)
inaudible-kill-p (generic function)
source.lisp (file)
Accessor to whether this audio source should still be ticked while inaudible.
See FLAGS
See VIRTUAL-AUDIO-SOURCE
See INAUDIBLE-BEHAVIOR
(setf inaudible-tick-p) (generic function)
source.lisp (file)
inaudible-tick-p (generic function)
source.lisp (file)
Accessor to whether the source is relative to the listener or not.
If a sound is listener-relative, the listener’s coordinates
are assumed to be (0 0 0) in calculations.
See SOURCE
source.lisp (file)
(setf listener-relative-p) (generic function)
listener-relative-p (generic function)
bus.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Load the audio source’s contents from a file on disk.
See WAV-SOURCE
See WAV-STREAM-SOURCE
See SFXR-SOURCE
See MONOTONE-SOURCE
See TED-SID-SOURCE
See MP3-SOURCE
mp3.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Load the audio source’s contents from a memory buffer.
See WAV-SOURCE
See WAV-STREAM-SOURCE
See SFXR-SOURCE
See MONOTONE-SOURCE
See TED-SID-SOURCE
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Load a preset into the SFXR-Source.
The symbol should be one of:
- :COINT
- :LASER
- :EXPLOSION
- :POWERUP
- :HURT
- :JUMP
- :BLIP
See SFXR-SOURCE
source.lisp (file)
Load the text into the speech source for playback.
See SPEECH-SOURCE
source.lisp (file)
Accessor to the location of the object in 3d space.
For the SOLOUD object, this is the location of the listener. For everything else it’s the location of the audio source.
See SOLOUD
See PLAYBACK
See 3D-DATA
(setf location) (generic function)
source.lisp (file)
location (generic function)
soloud.lisp (file)
soloud.lisp (file)
Accessor to whether the playback should loop or not.
See PLAYBACK
See SOURCE
(setf looping-p) (generic function)
soloud.lisp (file)
looping-p (generic function)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to the maximum amount of playbacks that can be heard simultaneously.
See ACTIVE-PLAYBACK-COUNT
See SOLOUD
(setf max-active-playback-count) (generic function)
soloud.lisp (file)
max-active-playback-count (generic function)
soloud.lisp (file)
Accessor to the minimum and maximum distances for the source to be audible.
See PLAYBACK
See SOURCE
See 3D-DATA
(setf min-max-distance) (generic function)
source.lisp (file)
min-max-distance (generic function)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Constantly oscillate between the two pans in the given time.
See PLAYBACK
soloud.lisp (file)
Constantly oscillate between the two relative speeds in the given time.
See PLAYBACK
soloud.lisp (file)
Constantly oscillate between two volumes in the given time.
See SOLOUD
See PLAYBACK
soloud.lisp (file)
soloud.lisp (file)
Accessor to the left/right panning of the playback.
The setf method accepts an additional argument, FADE,
which will fade the pan to the specified amount in the
given time.
See PLAYBACK
(setf pan) (generic function)
soloud.lisp (file)
pan (generic function)
soloud.lisp (file)
Accessor to whether the playback is currently paused.
See PLAYBACK
(setf paused-p) (generic function)
soloud.lisp (file)
paused-p (generic function)
soloud.lisp (file)
Play back an audio source on the target playback bus.
Returned is a PLAYBACK handle that represents
the access to the current playback. Note that SoLoud
invalidates some playback handles as soon as the audio
source has stopped playing. However, this library cannot
know about this and cannot invalidate the handle for you
automatically, which means you might end up with an
invalid handle.
The bus can be either SOLOUD or BUS.
If DELAY is given, the sound is only played back after
the specified amount of time has passed. Without the
delay, the source is always played back as soon as
possible.
If LOCATION is given, the source is played back at the
specified location in 3d space.
If PAUSED is T, the source is started but paused and
won’t play back until you unpause it.
See PLAYBACK
See SOLOUD
See BUS
See SOURCE
soloud.lisp (file)
bus.lisp (file)
bus.lisp (file)
bus.lisp (file)
Returns the current total number of playbacks.
See ACTIVE-PLAYBACK-COUNT
See SOLOUD
soloud.lisp (file)
Returns true if there is something playing back right now
See SOLOUD
See ACTIVE-PLAYBACK-COUNT
soloud.lisp (file)
Attempts to translate a pointer or pointer address of a C resource to its corresponding lisp object.
See *C-OBJECT-TABLE*
See C-BACKED-OBJECT
toolkit.lisp (file)
toolkit.lisp (file)
toolkit.lisp (file)
Accessor to whether the playback is protected or not.
Normally, if you try to play more sounds than there are slots,
SoLoud will kill off the oldest playing sound to make room.
That sound will most likely be your background music. This can
be worked around by protecting the sound.
See PLAYBACK
(setf protected-p) (generic function)
soloud.lisp (file)
protected-p (generic function)
soloud.lisp (file)
Accessor to the relative playback speed of the playback.
The setf method accepts an additional argument, FADE,
which will fade the speed to the specified amount in
the given time.
See PLAYBACK
(setf relative-speed) (generic function)
soloud.lisp (file)
relative-speed (generic function)
soloud.lisp (file)
This method is called when a complete rewind is necessary.
To enable the base implementation of seek to seek backwards
from the current play position, sound source may implement the
rewind function. In most cases the rewind is easier to
implement than actual smart seeking.
See VIRTUAL-SOURCE
source.lisp (file)
mp3.lisp (file)
Returns the sample rate used by the source or target.
See SOLOUD
See SOURCE
(setf sample-rate) (generic function)
soloud.lisp (file)
sample-rate (generic function)
soloud.lisp (file)
Seek to the specified absolute position in the source.
Note that not all audio sources support seeking, and
for those that do this operation is usually rather
heavy.
See PLAYBACK
soloud.lisp (file)
This method is called when a seek request is made.
This method is optional. The base implementation will simply
request (and discard) samples from the sound source until the
desired position has been reached; for many sound sources, a
smarter way exists.
See VIRTUAL-SOURCE
source.lisp (file)
mp3.lisp (file)
Set the absolute pan of all the possible speakers of the playback.
Currently SoLoud does not support surround sound, so this
does nothing.
See PLAYBACK
soloud.lisp (file)
Allows you to set the configuration parameters of the filter instance.
See FILTER
filter.lisp (file)
Accessor to whether there can only be a single playback instance of the audio source at once.
See FLAGS
See VIRTUAL-AUDIO-SOURCE
(setf single-instance-p) (generic function)
source.lisp (file)
single-instance-p (generic function)
source.lisp (file)
Returns the base soloud object that this object relates back to.
See BUS
See PLAYBACK
(setf soloud) (generic function)
bus.lisp (file)
bus.lisp (file)
bus.lisp (file)
automatically generated reader method
bus.lisp (file)
automatically generated reader method
soloud.lisp (file)
soloud (generic function)
automatically generated writer method
bus.lisp (file)
automatically generated writer method
soloud.lisp (file)
Accessor to the speed of sound in the system.
The speed of sound is used to calculate doppler effects in
addition to the distance delay. Since SoLoud has no knowledge of
the scale of your coordinates, you may need to adjust the speed
of sound for these effects to work correctly. The default value
is 343, which assumes that your world coordinates are in meters
(where 1 unit is 1 meter), and that the environment is dry air
at around 20 degrees Celsius.
See SOLOUD
(setf sound-speed) (generic function)
soloud.lisp (file)
sound-speed (generic function)
soloud.lisp (file)
Accessor to the playback’s audio source that is being played back.
See PLAYBACK
(setf source) (generic function)
automatically generated reader method
soloud.lisp (file)
source (generic function)
automatically generated writer method
soloud.lisp (file)
Stops the playback.
If you pass in the SOLOUD object, playback of all
sources will be stopped.
See PLAYBACK
See SOLOUD
bus.lisp (file)
soloud.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Accessor to the UP vector for the listener in 3d space.
See SOLOUD
soloud.lisp (file)
(setf up) (generic function)
up (generic function)
soloud.lisp (file)
Accessor to the velocity of the object in 3d space.
For the SOLOUD object, this is the velocity of the listener. For everything else it’s the velocity of the audio source.
See SOLOUD
See PLAYBACK
See 3D-DATA
(setf velocity) (generic function)
source.lisp (file)
velocity (generic function)
soloud.lisp (file)
soloud.lisp (file)
Accessor to the volume.
The setf method accepts an additional argument, FADE,
which will fade the volume to the specified amount in
the given time.
See PLAYBACK
See SOLOUD
See SOURCE
(setf volume) (generic function)
soloud.lisp (file)
soloud.lisp (file)
source.lisp (file)
volume (generic function)
bus.lisp (file)
soloud.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
Remove the given filter from the source again.
See FILTER
See SOURCE
source.lisp (file)
Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
Superclass for all audio attenuators.
See ATTENUATOR
See VIRTUAL-ATTENUATOR
source.lisp (file)
c-backed-object (class)
virtual-attenuator (class)
The bassboost filter is a proof of concept FFT filter.
It simply multiplies the first few bands of the FFT by the
boost value.
There is one parameter, BOOST, of how strong the boost effect
is.
See FILTER
filter.lisp (file)
filter (class)
The biquad resonant filter is a surprisingly cheap way to implement low and high pass filters, as well as some kind of band bass filter.
The implementation in SoLoud is based on
"Using the Biquad Resonant Filter",
Phil Burk, Game Programming Gems 3, p. 606.
The filter has three parameters - sample rate, cutoff frequency
and resonance. These can also be adjusted on live streams, for
instance to fade the low pass filter cutoff frequency for an
outdoors/indoors transition effect.
Currently, four parameters can be adjusted:
WET — Filter’s wet signal; 1.0f for fully filtered,
0.0f for original, 0.5f for half and half.
SAMPLERATE — Filter’s samplerate parameter
FREQUENCY — Filter’s cutoff frequency
RESONANCE — Filter’s resonance - higher means sharper cutoff
See FILTER
filter.lisp (file)
filter (class)
The mixing busses are a special case of an audio stream.
They are a kind of audio stream that plays other audio streams.
Mixing bus can also play other mixing busses. Like any other
audio stream, mixing bus has volume, panning and filters. Only
one instance of a mixing bus can play at the same time, however;
trying to play the same bus several times stops the earlier
instance.
While a mixing bus doesn’t generate audio by itself, playing
it counts against the maximum number of concurrent streams.
Mixing busses are protected by default (i.e, won’t stop playing
if maximum number of concurrent streams is reached), and also
marked as "must tick" (i.e, will always be present in the
active voices list).
See SOURCE
See SOLOUD
See PLAY
bus.lisp (file)
source (class)
soloud (generic function)
(setf soloud) (generic function)
Superclass for all objects that track a C-allocated resource.
The class takes care of automatically freeing the resource
when an instance is being garbage collected, and allows you to
retrieve the object based on a pointer address.
See *C-OBJECT-TABLE*
See HANDLE
See CREATE-HANDLE
See DESTROY-HANDLE
See FREE
toolkit.lisp (file)
standard-object (class)
:handle
handle (generic function)
(setf handle) (generic function)
Superclass for all audio colliders.
See COLLIDER
See VIRTUAL-COLLIDER
source.lisp (file)
c-backed-object (class)
virtual-collider (class)
This filter tries to remove DC signal from the audio.
In other words, it tries to center the waveform around 0. This
can be useful if some of the input waveforms gets stuck on
non-zero values for a long time.
The filter does not support changing of parameters on the fly, nor does it take changing of relative play speed into account.
The DC removal is performed by calculating the average sample
value over a relatively long period of time, and subtracting
this from the output.
There is one parameter, LENGTH, of how long the averaging
buffer should be. The time is in seconds.
See FILTER
filter.lisp (file)
filter (class)
The echo filter in SoLoud is a very simple one.
When the sound starts to play, the echo filter allocates a
buffer to contain the echo samples, and loops through this
until the sound ends.
The filter does not support changing of parameters on the fly, nor does it take changing of relative play speed into account.
There are two parameters - DELAY and DECAY. Delay is the time
in seconds until the echo, and decay is multiplier for the echo.
If the multiplier is outside the [0..1[ range, the results are
unpredictable.
See FILTER
filter.lisp (file)
filter (class)
The FFT filter is a short-time Fourier transform filter which can be used as basis for FFT-based effects.
The base implementation does a simple tone downshifting.
The filter exists mainly to adjust the speech synthesizer’s
voice in strange ways. It can also be used as basis for other
FFT-based filters.
See FILTER
filter.lisp (file)
filter (class)
Filters can be used to modify the sound some way.
Typical uses for a filter are to create environmental effects,
like echo, or to modify the way the speech synthesizer sounds
like.
See S-BACKED-OBJECT
See SET-PARAMETERS
filter.lisp (file)
c-backed-object (class)
The flanger filter can be used to create a "flanger" effect on the signal.
Applying this on a human voice may sound more "robotic", for instance.
Currently, four parameters can be adjusted:
WET — Filter’s wet signal; 1.0f for fully filtered,
0.0f for original, 0.5f for half and half.
FREQ — Filter’s frequency
DELAY — Filter’s delay
See FILTER
filter.lisp (file)
filter (class)
This class represents a "playback group".
Groups allow you to bundle together multiple playback
handles and change their properties all at once, rather
than risking updates happening between changes to
individual sources.
See PLAYBACK
See ADD
soloud.lisp (file)
playback (class)
The lofi filter is a signal degrading filter.
You can adjust both the bit depth and the sample rate of the
output, and these parameters can also be adjusted (and even faded)
on the fly.
The following parameters exist:
WET — Filter’s wet signal; 1.0f for fully filtered,
0.0f for original, 0.5f for half and half.
SAMPLERATE — Filter’s samplerate parameter
BITDEPTH — Filter’s bit-depth parameter
See FILTER
filter.lisp (file)
filter (class)
The SoLoud::Monotone is a replayer for MONOTONE tracker songs.
MONOTONE is a pc-speaker tracker, available on GitHub at
https://github.com/MobyGamer/MONOTONE/
The SoLoud MONOTONE replayer can play MONOTONE v1 songs
(only format available at the time of this writing). You can
pick the number of hardware playbacks used - typically the songs
are composed for a single playback (PC beeper).
The waveform used is square wave.
See SOURCE
See LOAD-FILE
See LOAD-MEM
source.lisp (file)
source (class)
This source uses mpg123 to play back an MP3 file.
See VIRTUAL-SOURCE
See LOAD-FILE
See FILE
mp3.lisp (file)
virtual-source (class)
file (generic function)
(setf file) (generic function)
A handle representing the playback of an audio source.
See HANDLE
See SOLOUD
See SOURCE
See PLAY
See SEEK
See VOLUME
See PAN
See SET-ABSOLUTE-PAN
See RELATIVE-SPEED
See PAUSED-P
See STOP
See LOOPING-P
See PROTECTED-P
See SAMPLE-RATE
See OSCILLATE-VOLUME
See OSCILLATE-PAN
See OSCILLATE-RELATIVE-SPEED
See LOCATION
See VELOCITY
See MIN-MAX-DISTANCE
See ATTENUATION
See DOPPLER-FACTOR
See FILTER-PARAMETER
See INAUDIBLE-BEHAVIOR
soloud.lisp (file)
standard-object (class)
group (class)
:handle
:soloud
soloud (generic function)
(setf soloud) (generic function)
:source
source (generic function)
(setf source) (generic function)
The SoLoud::Sfxr is a retro sound effect synthesizer based on the original Sfxr by Tomas Pettersson.
The original sfxr tool was designed to easily generate
sound effects for Ludum Dare 48h games. SoLoud includes the
same engine built in, so you can (should you wish) make
every coin, explosion etc. sound different.
The Sfxr sound sources also include a pseudo-random number
generator which should probably be moved to more general use
at some point.
See SOURCE
See LOAD-FILE
See LOAD-MEM
See LOAD-PRESET
source.lisp (file)
source (class)
This object represents the base instance needed to play audio with the soloud library.
It might be possible, though questionable in reasoning, to
create multiple instances of this at the same time. However,
doing so is not directly supported and probably not a good
idea. Thus, just make sure only to keep a single instance
around.
See C-BACKED-OBJECT
See BACKEND
See CHANNEL-LOCATION
See PLAY
See VOLUME
See STOP
See MAX-ACTIVE-PLAYBACK-COUNT
See ACTIVE-PLAYBACK-COUNT
See PLAYBACK-COUNT
See SAMPLE-RATE
See OSCILLATE-VOLUME
See SOUND-SPEED
See LOCATION
See DIRECTION
See UP
See VELOCITY
See PLAYING
soloud.lisp (file)
c-backed-object (class)
Superclass for all audio sources.
Audio sources represent potential playback sources.
Most sources can be played back multiple times
simultaneously.
Before a source can be played back, it must be loaded.
Depending on the source, this can be one of the
following load methods:
See LOAD-FILE
See LOAD-MEM
See LOAD-PRESET
See LOAD-TEXT
See FILTER-MAP
See ADD
See WITHDRAW
See VOLUME
See LOOPING-P
See MIN-MAX-DISTANCE
See ATTENUATION
See DOPPLER-FACTOR
See 3D-PROCESSED-P
See LISTENER-RELATIVE-P
See DISTANCE-DELAYED-P
See COLLIDER
See ATTENUATOR
See INAUDIBLE-BEHAVIOR
See FILTER
See STOP
source.lisp (file)
c-backed-object (class)
(make-hash-table :test (quote eql))
filter-map (generic function)
(setf filter-map) (generic function)
The SoLoud::Speech class implements a simple Klatt-style formant speech synthesizer.
It’s barely legible, not really human-like, but it’s free,
and it’s here.
Adjusting the speech synthesizer’s output with audio filters
should allow for various voices, which, along with subtitles,
will let you add voice to your games cheaply.
For more serious use, feel free to study the source code and
play with the various internal parameters, as well as apply
various filters to the sound.
See SOURCE
See LOAD-TEXT
source.lisp (file)
source (class)
The SoLoud::TedSid is a replayer for TED and SID soundchip register write dumps.
This is based on tedplay (c) 2012 Attila Grosz, used under
Unlicense http://unlicense.org/.
TED is the soundchip of the commodore plus/4, and SID is the
soundchip of the commodore 64.
The TED and SID songs are actually complete c64 or plus/4
programs, so in order to avoid running a complete c64 emulator
in an audio engine, we only simulate the soundchips at real time.
You can use the Soloud.getInfo() interface to query TED and SID
register values while the song is playing. The SID registers are
mapped to values 0-31 and the TED registers to 64-69.
See SOURCE
See LOAD-FILE
See LOAD-MEM
source.lisp (file)
source (class)
Superclass to create your own, custom attenuators.
You must implement the ATTENUATE method.
source.lisp (file)
attenuator (class)
Superclass to create your own, custom colliders.
3d sound sources may have custom audio colliders attached
to them. By default, audio sources are only defined by
their position and maximum range, which makes the sound
sources point sources and omnidirectional.
With custom colliders, audio sources may be made to be
bound to some area, as well as be directional.
You must implement the COLLIDE method.
See COLLIDER
See COLLIDE
source.lisp (file)
collider (class)
This is a class for your own filter classes.
Subclass this and implement the FILTER and FILTER-CHANNEL
methods to create a new kind of filter.
See FILTER
filter.lisp (file)
filter (class)
The SoLoud::Wav class represents a wave sound effect.
The source files may be in 8 or 16 bit raw RIFF WAV files,
or compressed Ogg Vorbis files.
The sounds are loaded and converted to float samples, which
means that every second of a 44100Hz stereo sound takes about
350kB of memory. The good side is, after loading, these
samples are very lightweight, as their processing is mostly
just a memory copy.
For lengthy samples like background music, you may want to
use SoLoud::WavStream instead. The Wav is all about speed, and
always decodes the whole sample into memory at load time.
See SOURCE
See LOAD-FILE
See LOAD-MEM
source.lisp (file)
source (class)
The SoLoud::WavStream class represents a wave sound effect that is streamed off disk while it’s playing.
The source files may be in 8 or 16 bit raw RIFF WAV files, or
compressed Ogg Vorbis files.
The sounds are loaded in pieces while they are playing, which
takes more processing power than playing samples from memory,
but they require much less memory.
For short or often used samples, you may want to use
SoLoud::Wav instead.
See SOURCE
See LOAD-FILE
See LOAD-MEM
source.lisp (file)
source (class)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal classes |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
Table associating pointer addresses to their lisp-side objects.
See POINTER->OBJECT
See C-BACKED-OBJECT
toolkit.lisp (file)
low-level.lisp (file)
Next: Internal functions, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
Define a shorthand accessor for a specific flag.
See FLAGS
source.lisp (file)
Define a new source class.
This will automatically create the appropriate methods
for all the common source operations.
See SOURCE
source.lisp (file)
Evaluates the body with the proper callback handling in place.
This also resolves the instance to a lisp instance if it can.
If the instance cannot be resolved, the body is not evaluated
and the default is returned instead.
If an error occurs, a message is printed to *standard-output*
and the error value is returned instead.
See POINTER->OBJECT
toolkit.lisp (file)
Next: Internal generic functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
soloud.lisp (file)
Decodes the integer of OR-combined flags into a list of keywords in the audio-source-flags enum.
See ENCODE-AUDIO-SOURCE-FLAGS
source.lisp (file)
Encodes the list of keywords form the audio-source-flags enum to an OR-combined flags integer.
See DECODE-AUDIO-SOURCE-FLAGS
source.lisp (file)
Attempt to find an equivalent symbol in the soloud CFFI package.
Replaces underscores in the temp symbol by the fill string.
toolkit.lisp (file)
low-level.lisp (file)
Next: Internal classes, Previous: Internal functions, Up: Internal definitions [Contents][Index]
Returns the volume of a single channel, with the panning in effect.
See 3D-DATA
source.lisp (file)
Returns the internal data for the audio collider.
See 3D-DATA
source.lisp (file)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
bus.lisp (file)
soloud.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
source.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
filter.lisp (file)
Returns the internal data for the doppler effect.
See 3D-DATA
source.lisp (file)
Accessor to the CL-MPG123:FILE instance used to process the MP3 file.
See MP3-SOURCE
(setf file) (generic function)
automatically generated reader method
mp3.lisp (file)
Accessor to the hash table associating filter IDs to filter instances.
See SOURCE
See FILTER
(setf filter-map) (generic function)
automatically generated reader method
source.lisp (file)
filter-map (generic function)
automatically generated writer method
source.lisp (file)
Previous: Internal generic functions, Up: Internal definitions [Contents][Index]
Container class for data related to 3d playback.
See LOCATION
See VELOCITY
See MIN-MAX-DISTANCE
See ATTENUATION
See DOPPLER-FACTOR
See COLLIDER
See ATTENUATOR
See COLLIDER-DATA
See DOPPLER-VALUE
See VOLUME
See CHANNEL-VOLUME
See FLAGS
source.lisp (file)
c-backed-object (class)
Base class for your own custom audio source implementations.
In order to create a custom source, simply subclass this and
implement the following methods:
See GET-AUDIO
See HAS-ENDED
See SEEK-TO
See REWIND
See GET-INFO
See SOURCE
See BASE-SAMPLERATE
See CHANNELS
See FLAGS
See SINGLE-INSTANCE-P
See INAUDIBLE-KILL-P
See INAUDIBLE-TICK-P
source.lisp (file)
source (class)
mp3-source (class)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | C F L |
---|
Jump to: | C F L |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | (
3
A B C D E F G H I L M O P R S U V W |
---|