This is the cl-mixed Reference Manual, version 2.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:09:45 2024 GMT+0.
cl-mixed/cl-mixed.asd
cl-mixed/package.lisp
cl-mixed/low-level.lisp
cl-mixed/toolkit.lisp
cl-mixed/c-object.lisp
cl-mixed/bip-buffer.lisp
cl-mixed/buffer.lisp
cl-mixed/pack.lisp
cl-mixed/segment.lisp
cl-mixed/generic.lisp
cl-mixed/drain.lisp
cl-mixed/source.lisp
cl-mixed/mixer.lisp
cl-mixed/segments/basic-mixer.lisp
cl-mixed/segments/biquad-filter.lisp
cl-mixed/segments/bundle.lisp
cl-mixed/segments/chain.lisp
cl-mixed/segments/channel-convert.lisp
cl-mixed/segments/delay.lisp
cl-mixed/segments/distribute.lisp
cl-mixed/segments/fader.lisp
cl-mixed/segments/gate.lisp
cl-mixed/segments/generator.lisp
cl-mixed/segments/ladspa.lisp
cl-mixed/segments/noise.lisp
cl-mixed/segments/null.lisp
cl-mixed/segments/packer.lisp
cl-mixed/segments/pitch.lisp
cl-mixed/segments/plane-mixer.lisp
cl-mixed/segments/quantize.lisp
cl-mixed/segments/queue.lisp
cl-mixed/segments/repeat.lisp
cl-mixed/segments/space-mixer.lisp
cl-mixed/segments/spatial-reverb.lisp
cl-mixed/segments/speed-change.lisp
cl-mixed/segments/unpacker.lisp
cl-mixed/segments/virtual.lisp
cl-mixed/segments/volume-control.lisp
cl-mixed/extensions/dummy.lisp
cl-mixed/documentation.lisp
The main system appears first, followed by any subsystem dependency.
cl-mixed
Bindings to libmixed, a sound mixing and processing library.
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shirakumo/cl-mixed.git)
zlib
2.1.0
alexandria
(system).
static-vectors
(system).
cffi
(system).
trivial-features
(system).
documentation-utils
(system).
package.lisp
(file).
low-level.lisp
(file).
toolkit.lisp
(file).
c-object.lisp
(file).
bip-buffer.lisp
(file).
buffer.lisp
(file).
pack.lisp
(file).
segment.lisp
(file).
generic.lisp
(file).
drain.lisp
(file).
source.lisp
(file).
mixer.lisp
(file).
segments
(module).
extensions
(module).
documentation.lisp
(file).
Modules are listed depth-first from the system components tree.
cl-mixed/segments
mixer.lisp
(file).
cl-mixed
(system).
basic-mixer.lisp
(file).
biquad-filter.lisp
(file).
bundle.lisp
(file).
chain.lisp
(file).
channel-convert.lisp
(file).
delay.lisp
(file).
distribute.lisp
(file).
fader.lisp
(file).
gate.lisp
(file).
generator.lisp
(file).
ladspa.lisp
(file).
noise.lisp
(file).
null.lisp
(file).
packer.lisp
(file).
pitch.lisp
(file).
plane-mixer.lisp
(file).
quantize.lisp
(file).
queue.lisp
(file).
repeat.lisp
(file).
space-mixer.lisp
(file).
spatial-reverb.lisp
(file).
speed-change.lisp
(file).
unpacker.lisp
(file).
virtual.lisp
(file).
volume-control.lisp
(file).
cl-mixed/extensions
segments
(module).
cl-mixed
(system).
dummy.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
cl-mixed/cl-mixed.asd
cl-mixed/package.lisp
cl-mixed/low-level.lisp
cl-mixed/toolkit.lisp
cl-mixed/c-object.lisp
cl-mixed/bip-buffer.lisp
cl-mixed/buffer.lisp
cl-mixed/pack.lisp
cl-mixed/segment.lisp
cl-mixed/generic.lisp
cl-mixed/drain.lisp
cl-mixed/source.lisp
cl-mixed/mixer.lisp
cl-mixed/segments/basic-mixer.lisp
cl-mixed/segments/biquad-filter.lisp
cl-mixed/segments/bundle.lisp
cl-mixed/segments/chain.lisp
cl-mixed/segments/channel-convert.lisp
cl-mixed/segments/delay.lisp
cl-mixed/segments/distribute.lisp
cl-mixed/segments/fader.lisp
cl-mixed/segments/gate.lisp
cl-mixed/segments/generator.lisp
cl-mixed/segments/ladspa.lisp
cl-mixed/segments/noise.lisp
cl-mixed/segments/null.lisp
cl-mixed/segments/packer.lisp
cl-mixed/segments/pitch.lisp
cl-mixed/segments/plane-mixer.lisp
cl-mixed/segments/quantize.lisp
cl-mixed/segments/queue.lisp
cl-mixed/segments/repeat.lisp
cl-mixed/segments/space-mixer.lisp
cl-mixed/segments/spatial-reverb.lisp
cl-mixed/segments/speed-change.lisp
cl-mixed/segments/unpacker.lisp
cl-mixed/segments/virtual.lisp
cl-mixed/segments/volume-control.lisp
cl-mixed/extensions/dummy.lisp
cl-mixed/documentation.lisp
cl-mixed/low-level.lisp
package.lisp
(file).
cl-mixed
(system).
*static*
(special variable).
buffer
(class).
buffer-available-read
(function).
buffer-available-write
(function).
buffer-data
(function).
(setf buffer-data)
(function).
buffer-finish-read
(function).
buffer-finish-write
(function).
buffer-from-pack
(function).
buffer-read
(function).
(setf buffer-read)
(function).
buffer-request-read
(function).
buffer-request-write
(function).
buffer-reserved
(function).
(setf buffer-reserved)
(function).
buffer-size
(function).
(setf buffer-size)
(function).
buffer-to-pack
(function).
buffer-virtual-p
(function).
(setf buffer-virtual-p)
(function).
buffer-write
(function).
(setf buffer-write)
(function).
chain-add
(function).
chain-add-at
(function).
chain-remove
(function).
chain-remove-at
(function).
clear-buffer
(function).
clear-pack
(function).
close-plugin
(function).
copy-buffer
(function).
deregister-segment
(function).
direct-segment-data
(function).
(setf direct-segment-data)
(function).
direct-segment-end
(function).
(setf direct-segment-end)
(function).
direct-segment-free
(function).
(setf direct-segment-free)
(function).
direct-segment-get
(function).
(setf direct-segment-get)
(function).
direct-segment-get-in
(function).
(setf direct-segment-get-in)
(function).
direct-segment-get-out
(function).
(setf direct-segment-get-out)
(function).
direct-segment-info
(function).
(setf direct-segment-info)
(function).
direct-segment-mix
(function).
(setf direct-segment-mix)
(function).
direct-segment-set
(function).
(setf direct-segment-set)
(function).
direct-segment-set-in
(function).
(setf direct-segment-set-in)
(function).
direct-segment-set-out
(function).
(setf direct-segment-set-out)
(function).
direct-segment-start
(function).
(setf direct-segment-start)
(function).
error
(function).
error-string
(function).
field-info
(class).
field-info-description
(function).
(setf field-info-description)
(function).
field-info-field
(function).
(setf field-info-field)
(function).
field-info-flags
(function).
(setf field-info-flags)
(function).
field-info-type
(function).
(setf field-info-type)
(function).
field-info-type-count
(function).
(setf field-info-type-count)
(function).
free-buffer
(function).
free-pack
(function).
free-segment
(function).
fwd-fft
(function).
inv-fft
(function).
list-segments
(function).
load-plugin
(function).
make-buffer
(function).
make-pack
(function).
make-segment
(function).
make-segment-basic-mixer
(function).
make-segment-biquad-filter
(function).
make-segment-chain
(function).
make-segment-channel-convert
(function).
make-segment-delay
(function).
make-segment-distribute
(function).
make-segment-fade
(function).
make-segment-gate
(function).
make-segment-generator
(function).
make-segment-info
(function).
make-segment-ladspa
(function).
make-segment-noise
(function).
make-segment-packer
(function).
make-segment-pitch
(function).
make-segment-plane-mixer
(function).
make-segment-quantize
(function).
make-segment-queue
(function).
make-segment-repeat
(function).
make-segment-space-mixer
(function).
make-segment-spatial-reverb
(function).
make-segment-speed-change
(function).
make-segment-unpacker
(function).
make-segment-void
(function).
make-segment-volume-control
(function).
make-segment-zero
(function).
pack
(class).
pack-available-read
(function).
pack-available-write
(function).
pack-channels
(function).
(setf pack-channels)
(function).
pack-data
(function).
(setf pack-data)
(function).
pack-encoding
(function).
(setf pack-encoding)
(function).
pack-finish-read
(function).
pack-finish-write
(function).
pack-read
(function).
(setf pack-read)
(function).
pack-request-read
(function).
pack-request-write
(function).
pack-reserved
(function).
(setf pack-reserved)
(function).
pack-samplerate
(function).
(setf pack-samplerate)
(function).
pack-size
(function).
(setf pack-size)
(function).
pack-write
(function).
(setf pack-write)
(function).
queue-add
(function).
queue-clear
(function).
queue-remove
(function).
queue-remove-at
(function).
register-segment
(function).
resize-buffer
(function).
samplesize
(function).
segment
(class).
segment-end
(function).
segment-get
(function).
segment-get-in
(function).
segment-get-out
(function).
segment-info
(function).
segment-info
(class).
segment-info-description
(function).
(setf segment-info-description)
(function).
segment-info-fields
(function).
(setf segment-info-fields)
(function).
segment-info-flags
(function).
(setf segment-info-flags)
(function).
segment-info-max-inputs
(function).
(setf segment-info-max-inputs)
(function).
segment-info-min-inputs
(function).
(setf segment-info-min-inputs)
(function).
segment-info-name
(function).
(setf segment-info-name)
(function).
segment-info-outputs
(function).
(setf segment-info-outputs)
(function).
segment-mix
(function).
segment-set
(function).
segment-set-in
(function).
segment-set-out
(function).
segment-start
(function).
transfer-buffer
(function).
translator-from
(function).
translator-to
(function).
type-string
(function).
version
(function).
*here*
(special variable).
cl-mixed/toolkit.lisp
low-level.lisp
(file).
cl-mixed
(system).
*default-channel-order*
(special variable).
*default-samplerate*
(special variable).
error-code
(reader method).
(setf error-code)
(writer method).
guess-channel-order-from-count
(function).
mixed-error
(condition).
samplesize
(function).
calloc
(function).
coerce-ctype
(function).
define-accessor
(macro).
define-callback
(macro).
define-delegated-slot-accessor
(macro).
define-field-accessor
(macro).
define-field-reader
(macro).
define-field-writer
(macro).
define-input-field-accessor
(macro).
define-input-vector-field-accessor
(macro).
define-std-callback
(macro).
define-vector-field-accessor
(macro).
do-sequence
(macro).
ptr->vec
(function).
removef
(function).
vec->ptr
(function).
vector-insert-pos
(function).
vector-remove
(function).
vector-remove-pos
(function).
with-cleanup-on-failure
(macro).
with-error-on-failure
(macro).
cl-mixed/c-object.lisp
toolkit.lisp
(file).
cl-mixed
(system).
c-object
(class).
free
(method).
free
(method).
handle
(reader method).
handle
(method).
(setf handle)
(writer method).
init
(function).
initialize-instance
(method).
initialize-instance
(method).
pointer->object
(function).
(setf pointer->object)
(function).
with-objects
(macro).
*c-object-table*
(special variable).
cl-mixed/bip-buffer.lisp
c-object.lisp
(file).
cl-mixed
(system).
available-read
(function).
available-write
(function).
data-ptr
(function).
finish-read
(function).
finish-write
(function).
request-read
(function).
request-write
(function).
with-buffer-transfer
(macro).
with-buffer-tx
(macro).
bip-buffer
(class).
with-buffer-fields
(macro).
cl-mixed/buffer.lisp
bip-buffer.lisp
(file).
cl-mixed
(system).
buffer
(class).
clear
(method).
data
(reader method).
forward-fft
(function).
framesize
(method).
free
(method).
initialize-instance
(method).
inverse-fft
(function).
make-buffer
(function).
size
(method).
(setf size)
(method).
transfer
(method).
with-buffers
(macro).
allocate-handle
(method).
cl-mixed/pack.lisp
buffer.lisp
(file).
cl-mixed
(system).
channels
(method).
(setf channels)
(method).
clear
(method).
data
(reader method).
encoding
(method).
(setf encoding)
(method).
framesize
(method).
free
(method).
initialize-instance
(method).
make-pack
(function).
pack
(class).
samplerate
(method).
(setf samplerate)
(method).
size
(method).
(setf size)
(method).
(setf size)
(method).
transfer
(method).
transfer
(method).
transfer
(method).
transfer
(method).
allocate-handle
(method).
cl-mixed/segment.lisp
pack.lisp
(file).
cl-mixed
(system).
connect
(method).
end
(method).
(setf field)
(method).
free
(method).
info
(method).
initialize-instance
(method).
input
(method).
(setf input)
(method).
input-field
(method).
input-field
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
inputs
(reader method).
match-channel-order
(method).
mix
(method).
output
(method).
(setf output)
(method).
output-field
(method).
output-field
(method).
(setf output-field)
(method).
(setf output-field)
(method).
(setf output-field)
(method).
(setf output-field)
(method).
outputs
(reader method).
revalidate
(method).
segment
(class).
start
(method).
volume
(generic function).
(setf volume)
(generic function).
allocate-handle
(method).
decode-field-info
(function).
direct-info
(reader method).
(setf direct-info)
(writer method).
encode-field-info
(function).
cl-mixed/generic.lisp
segment.lisp
(file).
cl-mixed
(system).
extract-constructor-info
(function).
list-segments
(function).
make-generic-segment
(function).
cl-mixed/drain.lisp
generic.lisp
(file).
cl-mixed
(system).
channel-order
(generic function).
channels
(method).
device
(generic reader).
(setf device)
(generic function).
device-drain
(class).
device-not-found
(condition).
drain
(class).
encoding
(method).
file
(reader method).
file-drain
(class).
frame-position
(reader method).
(setf frame-position)
(writer method).
framesize
(method).
info
(method).
initialize-instance
(method).
list-devices
(generic function).
output
(method).
output-field
(method).
(setf output-field)
(method).
(setf output-field)
(method).
pack
(reader method).
(setf pack)
(method).
print-object
(method).
print-object
(method).
program-name
(reader method).
(setf program-name)
(writer method).
samplerate
(method).
cl-mixed/source.lisp
drain.lisp
(file).
cl-mixed
(system).
byte-position
(method).
(setf byte-position)
(method).
channel-order
(method).
done-p
(reader method).
(setf done-p)
(writer method).
duration
(method).
frame-count
(generic function).
frame-position
(reader method).
(setf frame-position)
(writer method).
framesize
(method).
info
(method).
initialize-instance
(method).
output
(method).
output-field
(method).
(setf output-field)
(method).
(setf output-field)
(method).
pack
(reader method).
(setf pack)
(method).
print-object
(method).
seek
(method).
seek-to-frame
(generic function).
source
(class).
cl-mixed/mixer.lisp
source.lisp
(file).
cl-mixed
(system).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
mixer
(class).
free-locations
(reader method).
(setf free-locations)
(writer method).
next-location
(method).
cl-mixed/segments/basic-mixer.lisp
segments
(module).
add
(method).
basic-mixer
(class).
channels
(reader method).
(setf channels)
(writer method).
field
(method).
(setf field)
(method).
initialize-instance
(method).
make-basic-mixer
(function).
volume
(method).
(setf volume)
(method).
withdraw
(method).
cl-mixed/segments/biquad-filter.lisp
segments
(module).
biquad-filter
(class).
bypass
(method).
(setf bypass)
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
filter
(method).
(setf filter)
(method).
frequency
(method).
(setf frequency)
(method).
gain
(method).
(setf gain)
(method).
initialize-instance
(method).
make-biquad-filter
(function).
q
(method).
(setf q)
(method).
samplerate
(method).
(setf samplerate)
(method).
cl-mixed/segments/bundle.lisp
segments
(module).
attack
(method).
(setf attack)
(method).
bundle
(class).
bypass
(method).
(setf bypass)
(method).
close-threshold
(method).
(setf close-threshold)
(method).
direction
(method).
(setf direction)
(method).
doppler-factor
(method).
(setf doppler-factor)
(method).
duration
(method).
(setf duration)
(method).
end
(method).
fade-type
(method).
(setf fade-type)
(method).
field
(method).
(setf field)
(method).
free
(method).
frequency
(method).
(setf frequency)
(method).
from
(method).
(setf from)
(method).
hold
(method).
(setf hold)
(method).
info
(method).
initialize-instance
(method).
input
(method).
(setf input)
(method).
input-field
(method).
(setf input-field)
(method).
inputs
(method).
location
(method).
(setf location)
(method).
make-bundle
(function).
max-distance
(method).
(setf max-distance)
(method).
min-distance
(method).
(setf min-distance)
(method).
mix
(method).
noise-type
(method).
(setf noise-type)
(method).
open-threshold
(method).
(setf open-threshold)
(method).
output
(method).
(setf output)
(method).
output-field
(method).
(setf output-field)
(method).
outputs
(method).
pan
(method).
(setf pan)
(method).
pitch
(method).
(setf pitch)
(method).
release
(method).
(setf release)
(method).
repeat-mode
(method).
(setf repeat-mode)
(method).
rolloff
(method).
(setf rolloff)
(method).
samplerate
(method).
(setf samplerate)
(method).
segments
(reader method).
soundspeed
(method).
(setf soundspeed)
(method).
speed-factor
(method).
(setf speed-factor)
(method).
start
(method).
steps
(method).
(setf steps)
(method).
to
(method).
(setf to)
(method).
up
(method).
(setf up)
(method).
velocity
(method).
(setf velocity)
(method).
volume
(method).
(setf volume)
(method).
wave-type
(method).
(setf wave-type)
(method).
wet
(method).
(setf wet)
(method).
cutoff
(method).
(setf cutoff)
(method).
frequency-pass
(method).
(setf frequency-pass)
(method).
cl-mixed/segments/chain.lisp
segments
(module).
add
(method).
bypass
(method).
(setf bypass)
(method).
chain
(class).
clear
(method).
field
(method).
(setf field)
(method).
initialize-instance
(method).
make-chain
(function).
segments
(reader method).
with-chain
(macro).
withdraw
(method).
withdraw
(method).
cl-mixed/segments/channel-convert.lisp
segments
(module).
channel-convert
(class).
channel-count-in
(method).
(setf channel-count-in)
(method).
channel-count-out
(method).
(setf channel-count-out)
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-channel-convert
(function).
cl-mixed/segments/delay.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
delay
(class).
duration
(method).
(setf duration)
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-delay
(function).
samplerate
(method).
(setf samplerate)
(method).
cl-mixed/segments/distribute.lisp
segments
(module).
connect
(method).
distributor
(class).
initialize-instance
(method).
make-distributor
(function).
cl-mixed/segments/fader.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
duration
(method).
(setf duration)
(method).
fade-type
(method).
(setf fade-type)
(method).
fader
(class).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
from
(method).
(setf from)
(method).
initialize-instance
(method).
make-fader
(function).
to
(method).
(setf to)
(method).
cl-mixed/segments/gate.lisp
segments
(module).
attack
(method).
(setf attack)
(method).
bypass
(method).
(setf bypass)
(method).
close-threshold
(method).
(setf close-threshold)
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
gate
(class).
hold
(method).
(setf hold)
(method).
initialize-instance
(method).
make-gate
(function).
open-threshold
(method).
(setf open-threshold)
(method).
release
(method).
(setf release)
(method).
samplerate
(method).
(setf samplerate)
(method).
cl-mixed/segments/generator.lisp
segments
(module).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
frequency
(method).
(setf frequency)
(method).
generator
(class).
initialize-instance
(method).
make-generator
(function).
volume
(method).
(setf volume)
(method).
wave-type
(method).
(setf wave-type)
(method).
cl-mixed/segments/ladspa.lisp
segments
(module).
field
(method).
(setf field)
(method).
initialize-instance
(method).
ladspa
(class).
make-ladspa
(function).
cl-mixed/segments/noise.lisp
segments
(module).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-noise
(function).
noise
(class).
noise-type
(method).
(setf noise-type)
(method).
volume
(method).
(setf volume)
(method).
cl-mixed/segments/null.lisp
segments
(module).
initialize-instance
(method).
initialize-instance
(method).
make-void
(function).
make-zero
(function).
void
(class).
zero
(class).
cl-mixed/segments/packer.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
channels
(method).
(setf channels)
(method).
data
(method).
(setf data)
(method).
encoding
(method).
(setf encoding)
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-packer
(function).
output
(method).
output-field
(method).
pack
(reader method).
packer
(class).
samplerate
(method).
(setf samplerate)
(method).
size
(method).
(setf size)
(method).
volume
(method).
(setf volume)
(method).
cl-mixed/segments/pitch.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-pitch
(function).
pitch
(method).
(setf pitch)
(method).
pitch
(class).
samplerate
(method).
(setf samplerate)
(method).
wet
(method).
(setf wet)
(method).
cl-mixed/segments/plane-mixer.lisp
segments
(module).
add
(method).
attenuation
(method).
(setf attenuation)
(method).
channels
(method).
doppler-factor
(method).
(setf doppler-factor)
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
input-field
(method).
input-field
(method).
input-field
(method).
input-field
(method).
input-field
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
input-location
(method).
input-location
(method).
(setf input-location)
(method).
(setf input-location)
(method).
input-max-distance
(method).
input-max-distance
(method).
(setf input-max-distance)
(method).
(setf input-max-distance)
(method).
input-min-distance
(method).
input-min-distance
(method).
(setf input-min-distance)
(method).
(setf input-min-distance)
(method).
input-rolloff
(method).
input-rolloff
(method).
(setf input-rolloff)
(method).
(setf input-rolloff)
(method).
input-velocity
(method).
input-velocity
(method).
(setf input-velocity)
(method).
(setf input-velocity)
(method).
location
(method).
(setf location)
(method).
make-plane-mixer
(function).
max-distance
(method).
(setf max-distance)
(method).
min-distance
(method).
(setf min-distance)
(method).
plane-mixer
(class).
rolloff
(method).
(setf rolloff)
(method).
soundspeed
(method).
(setf soundspeed)
(method).
velocity
(method).
(setf velocity)
(method).
volume
(method).
(setf volume)
(method).
withdraw
(method).
cl-mixed/segments/quantize.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-quantize
(function).
quantize
(class).
steps
(method).
(setf steps)
(method).
wet
(method).
(setf wet)
(method).
cl-mixed/segments/queue.lisp
segments
(module).
add
(method).
bypass
(method).
(setf bypass)
(method).
clear
(method).
current-segment
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
in-count
(method).
(setf in-count)
(method).
initialize-instance
(method).
make-queue
(function).
out-count
(method).
(setf out-count)
(method).
queue
(class).
segments
(reader method).
withdraw
(method).
withdraw
(method).
cl-mixed/segments/repeat.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
duration
(method).
(setf duration)
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-repeat
(function).
repeat
(class).
repeat-mode
(method).
(setf repeat-mode)
(method).
repeat-position
(method).
(setf repeat-position)
(method).
samplerate
(method).
(setf samplerate)
(method).
cl-mixed/segments/space-mixer.lisp
segments
(module).
add
(method).
attenuation
(method).
(setf attenuation)
(method).
channels
(method).
direction
(method).
(setf direction)
(method).
doppler-factor
(method).
(setf doppler-factor)
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
input-field
(method).
input-field
(method).
input-field
(method).
input-field
(method).
input-field
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
input-location
(method).
input-location
(method).
(setf input-location)
(method).
(setf input-location)
(method).
input-max-distance
(method).
input-max-distance
(method).
(setf input-max-distance)
(method).
(setf input-max-distance)
(method).
input-min-distance
(method).
input-min-distance
(method).
(setf input-min-distance)
(method).
(setf input-min-distance)
(method).
input-rolloff
(method).
input-rolloff
(method).
(setf input-rolloff)
(method).
(setf input-rolloff)
(method).
input-velocity
(method).
input-velocity
(method).
(setf input-velocity)
(method).
(setf input-velocity)
(method).
location
(method).
(setf location)
(method).
make-space-mixer
(function).
max-distance
(method).
(setf max-distance)
(method).
min-distance
(method).
(setf min-distance)
(method).
rolloff
(method).
(setf rolloff)
(method).
soundspeed
(method).
(setf soundspeed)
(method).
space-mixer
(class).
up
(method).
(setf up)
(method).
velocity
(method).
(setf velocity)
(method).
volume
(method).
(setf volume)
(method).
withdraw
(method).
cl-mixed/segments/spatial-reverb.lisp
segments
(module).
add-spatial-probe
(method).
distance-delay
(method).
(setf distance-delay)
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-spatial-reverb
(function).
max-distance
(method).
(setf max-distance)
(method).
set-parameters
(method).
spatial-reverb
(class).
cl-mixed/segments/speed-change.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-speed-change
(function).
speed-change
(class).
speed-factor
(method).
(setf speed-factor)
(method).
cl-mixed/segments/unpacker.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
channels
(method).
(setf channels)
(method).
data
(method).
(setf data)
(method).
encoding
(method).
(setf encoding)
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
input
(method).
input-field
(method).
make-unpacker
(function).
pack
(reader method).
samplerate
(method).
(setf samplerate)
(method).
size
(method).
(setf size)
(method).
unpacker
(class).
volume
(method).
(setf volume)
(method).
cl-mixed/segments/virtual.lisp
(:not :nx)
segments
(module).
end
(method).
field
(method).
(setf field)
(method).
free
(method).
info
(method).
initialize-instance
(method).
input-field
(method).
input-field
(method).
(setf input-field)
(method).
(setf input-field)
(method).
(setf input-field)
(method).
mix
(method).
output-field
(method).
output-field
(method).
(setf output-field)
(method).
(setf output-field)
(method).
(setf output-field)
(method).
start
(method).
virtual
(class).
cl-mixed/segments/volume-control.lisp
segments
(module).
bypass
(method).
(setf bypass)
(method).
field
(method).
field
(method).
field
(method).
(setf field)
(method).
(setf field)
(method).
(setf field)
(method).
initialize-instance
(method).
make-volume-control
(function).
pan
(method).
(setf pan)
(method).
volume
(method).
(setf volume)
(method).
volume-control
(class).
cl-mixed/extensions/dummy.lisp
extensions
(module).
cl-mixed/documentation.lisp
extensions
(module).
cl-mixed
(system).
Packages are listed by definition order.
org.shirakumo.fraf.mixed
cffi
.
common-lisp
.
*default-channel-order*
(special variable).
*default-samplerate*
(special variable).
add
(generic function).
add-spatial-probe
(generic function).
attack
(generic function).
(setf attack)
(generic function).
attenuation
(generic function).
(setf attenuation)
(generic function).
available-read
(function).
available-write
(function).
basic-mixer
(class).
biquad-filter
(class).
buffer
(class).
bundle
(class).
bypass
(generic function).
(setf bypass)
(generic function).
byte-position
(generic function).
(setf byte-position)
(generic function).
c-object
(class).
chain
(class).
channel-convert
(class).
channel-count-in
(generic function).
(setf channel-count-in)
(generic function).
channel-count-out
(generic function).
(setf channel-count-out)
(generic function).
channel-order
(generic function).
channels
(generic function).
(setf channels)
(generic function).
clear
(generic function).
close-threshold
(generic function).
(setf close-threshold)
(generic function).
connect
(generic function).
current-segment
(generic function).
data
(generic function).
(setf data)
(generic function).
data-ptr
(function).
delay
(class).
device
(generic reader).
(setf device)
(generic function).
device-drain
(class).
device-not-found
(condition).
direction
(generic function).
(setf direction)
(generic function).
distance-delay
(generic function).
(setf distance-delay)
(generic function).
distributor
(class).
done-p
(generic reader).
(setf done-p)
(generic writer).
doppler-factor
(generic function).
(setf doppler-factor)
(generic function).
drain
(class).
duration
(generic function).
(setf duration)
(generic function).
encoding
(generic function).
(setf encoding)
(generic function).
end
(generic function).
error-code
(generic reader).
(setf error-code)
(generic writer).
fade-type
(generic function).
(setf fade-type)
(generic function).
fader
(class).
field
(generic function).
(setf field)
(generic function).
file
(generic reader).
file-drain
(class).
filter
(generic function).
(setf filter)
(generic function).
finish-read
(function).
finish-write
(function).
forward-fft
(function).
frame-count
(generic function).
frame-position
(generic reader).
(setf frame-position)
(generic writer).
framesize
(generic function).
free
(generic function).
frequency
(generic function).
(setf frequency)
(generic function).
from
(generic function).
(setf from)
(generic function).
gain
(generic function).
(setf gain)
(generic function).
gate
(class).
generator
(class).
guess-channel-order-from-count
(function).
handle
(generic function).
(setf handle)
(generic writer).
hold
(generic function).
(setf hold)
(generic function).
in-count
(generic function).
(setf in-count)
(generic function).
info
(generic function).
init
(function).
input
(generic function).
(setf input)
(generic function).
input-field
(generic function).
(setf input-field)
(generic function).
input-location
(generic function).
(setf input-location)
(generic function).
input-max-distance
(generic function).
(setf input-max-distance)
(generic function).
input-min-distance
(generic function).
(setf input-min-distance)
(generic function).
input-rolloff
(generic function).
(setf input-rolloff)
(generic function).
input-velocity
(generic function).
(setf input-velocity)
(generic function).
inputs
(generic function).
inverse-fft
(function).
ladspa
(class).
list-devices
(generic function).
location
(generic function).
(setf location)
(generic function).
make-basic-mixer
(function).
make-biquad-filter
(function).
make-buffer
(function).
make-bundle
(function).
make-chain
(function).
make-channel-convert
(function).
make-delay
(function).
make-distributor
(function).
make-fader
(function).
make-gate
(function).
make-generator
(function).
make-ladspa
(function).
make-noise
(function).
make-pack
(function).
make-packer
(function).
make-pitch
(function).
make-plane-mixer
(function).
make-quantize
(function).
make-queue
(function).
make-repeat
(function).
make-space-mixer
(function).
make-spatial-reverb
(function).
make-speed-change
(function).
make-unpacker
(function).
make-void
(function).
make-volume-control
(function).
make-zero
(function).
match-channel-order
(generic function).
max-distance
(generic function).
(setf max-distance)
(generic function).
min-distance
(generic function).
(setf min-distance)
(generic function).
mix
(generic function).
mixed-error
(condition).
mixer
(class).
noise
(class).
noise-type
(generic function).
(setf noise-type)
(generic function).
open-threshold
(generic function).
(setf open-threshold)
(generic function).
out-count
(generic function).
(setf out-count)
(generic function).
output
(generic function).
(setf output)
(generic function).
output-field
(generic function).
(setf output-field)
(generic function).
outputs
(generic function).
pack
(generic reader).
(setf pack)
(generic function).
pack
(class).
packer
(class).
pan
(generic function).
(setf pan)
(generic function).
pitch
(generic function).
(setf pitch)
(generic function).
pitch
(class).
plane-mixer
(class).
pointer->object
(function).
(setf pointer->object)
(function).
program-name
(generic reader).
(setf program-name)
(generic writer).
q
(generic function).
(setf q)
(generic function).
quantize
(class).
queue
(class).
release
(generic function).
(setf release)
(generic function).
repeat
(class).
repeat-mode
(generic function).
(setf repeat-mode)
(generic function).
repeat-position
(generic function).
(setf repeat-position)
(generic function).
request-read
(function).
request-write
(function).
revalidate
(generic function).
rolloff
(generic function).
(setf rolloff)
(generic function).
samplerate
(generic function).
(setf samplerate)
(generic function).
samplesize
(function).
seek
(generic function).
seek-to-frame
(generic function).
segment
(class).
segments
(generic reader).
set-parameters
(generic function).
size
(generic function).
(setf size)
(generic function).
soundspeed
(generic function).
(setf soundspeed)
(generic function).
source
(class).
space-mixer
(class).
spatial-reverb
(class).
speed-change
(class).
speed-factor
(generic function).
(setf speed-factor)
(generic function).
start
(generic function).
steps
(generic function).
(setf steps)
(generic function).
to
(generic function).
(setf to)
(generic function).
transfer
(generic function).
unpacker
(class).
up
(generic function).
(setf up)
(generic function).
velocity
(generic function).
(setf velocity)
(generic function).
virtual
(class).
void
(class).
volume
(generic function).
(setf volume)
(generic function).
volume-control
(class).
wave-type
(generic function).
(setf wave-type)
(generic function).
wet
(generic function).
(setf wet)
(generic function).
with-buffer-transfer
(macro).
with-buffer-tx
(macro).
with-buffers
(macro).
with-chain
(macro).
with-objects
(macro).
withdraw
(generic function).
zero
(class).
*c-object-table*
(special variable).
allocate-handle
(generic function).
bip-buffer
(class).
calloc
(function).
coerce-ctype
(function).
cutoff
(generic function).
(setf cutoff)
(generic function).
decode-field-info
(function).
define-accessor
(macro).
define-callback
(macro).
define-delegated-slot-accessor
(macro).
define-field-accessor
(macro).
define-field-reader
(macro).
define-field-writer
(macro).
define-input-field-accessor
(macro).
define-input-vector-field-accessor
(macro).
define-std-callback
(macro).
define-vector-field-accessor
(macro).
direct-info
(generic reader).
(setf direct-info)
(generic writer).
do-sequence
(macro).
encode-field-info
(function).
extract-constructor-info
(function).
free-locations
(generic reader).
(setf free-locations)
(generic writer).
frequency-pass
(generic function).
(setf frequency-pass)
(generic function).
list-segments
(function).
make-generic-segment
(function).
next-location
(generic function).
ptr->vec
(function).
removef
(function).
vec->ptr
(function).
vector-insert-pos
(function).
vector-remove
(function).
vector-remove-pos
(function).
with-buffer-fields
(macro).
with-cleanup-on-failure
(macro).
with-error-on-failure
(macro).
org.shirakumo.fraf.mixed.cffi
cffi
.
common-lisp
.
*static*
(special variable).
buffer
(class).
buffer-available-read
(function).
buffer-available-write
(function).
buffer-data
(function).
(setf buffer-data)
(function).
buffer-finish-read
(function).
buffer-finish-write
(function).
buffer-from-pack
(function).
buffer-read
(function).
(setf buffer-read)
(function).
buffer-request-read
(function).
buffer-request-write
(function).
buffer-reserved
(function).
(setf buffer-reserved)
(function).
buffer-size
(function).
(setf buffer-size)
(function).
buffer-to-pack
(function).
buffer-virtual-p
(function).
(setf buffer-virtual-p)
(function).
buffer-write
(function).
(setf buffer-write)
(function).
chain-add
(function).
chain-add-at
(function).
chain-remove
(function).
chain-remove-at
(function).
clear-buffer
(function).
clear-pack
(function).
close-plugin
(function).
copy-buffer
(function).
deregister-segment
(function).
direct-segment-data
(function).
(setf direct-segment-data)
(function).
direct-segment-end
(function).
(setf direct-segment-end)
(function).
direct-segment-free
(function).
(setf direct-segment-free)
(function).
direct-segment-get
(function).
(setf direct-segment-get)
(function).
direct-segment-get-in
(function).
(setf direct-segment-get-in)
(function).
direct-segment-get-out
(function).
(setf direct-segment-get-out)
(function).
direct-segment-info
(function).
(setf direct-segment-info)
(function).
direct-segment-mix
(function).
(setf direct-segment-mix)
(function).
direct-segment-set
(function).
(setf direct-segment-set)
(function).
direct-segment-set-in
(function).
(setf direct-segment-set-in)
(function).
direct-segment-set-out
(function).
(setf direct-segment-set-out)
(function).
direct-segment-start
(function).
(setf direct-segment-start)
(function).
error
(function).
error-string
(function).
field-info
(class).
field-info-description
(function).
(setf field-info-description)
(function).
field-info-field
(function).
(setf field-info-field)
(function).
field-info-flags
(function).
(setf field-info-flags)
(function).
field-info-type
(function).
(setf field-info-type)
(function).
field-info-type-count
(function).
(setf field-info-type-count)
(function).
free-buffer
(function).
free-pack
(function).
free-segment
(function).
fwd-fft
(function).
inv-fft
(function).
list-segments
(function).
load-plugin
(function).
make-buffer
(function).
make-pack
(function).
make-segment
(function).
make-segment-basic-mixer
(function).
make-segment-biquad-filter
(function).
make-segment-chain
(function).
make-segment-channel-convert
(function).
make-segment-delay
(function).
make-segment-distribute
(function).
make-segment-fade
(function).
make-segment-gate
(function).
make-segment-generator
(function).
make-segment-info
(function).
make-segment-ladspa
(function).
make-segment-noise
(function).
make-segment-packer
(function).
make-segment-pitch
(function).
make-segment-plane-mixer
(function).
make-segment-quantize
(function).
make-segment-queue
(function).
make-segment-repeat
(function).
make-segment-space-mixer
(function).
make-segment-spatial-reverb
(function).
make-segment-speed-change
(function).
make-segment-unpacker
(function).
make-segment-void
(function).
make-segment-volume-control
(function).
make-segment-zero
(function).
pack
(class).
pack-available-read
(function).
pack-available-write
(function).
pack-channels
(function).
(setf pack-channels)
(function).
pack-data
(function).
(setf pack-data)
(function).
pack-encoding
(function).
(setf pack-encoding)
(function).
pack-finish-read
(function).
pack-finish-write
(function).
pack-read
(function).
(setf pack-read)
(function).
pack-request-read
(function).
pack-request-write
(function).
pack-reserved
(function).
(setf pack-reserved)
(function).
pack-samplerate
(function).
(setf pack-samplerate)
(function).
pack-size
(function).
(setf pack-size)
(function).
pack-write
(function).
(setf pack-write)
(function).
queue-add
(function).
queue-clear
(function).
queue-remove
(function).
queue-remove-at
(function).
register-segment
(function).
resize-buffer
(function).
samplesize
(function).
segment
(class).
segment-end
(function).
segment-get
(function).
segment-get-in
(function).
segment-get-out
(function).
segment-info
(function).
segment-info
(class).
segment-info-description
(function).
(setf segment-info-description)
(function).
segment-info-fields
(function).
(setf segment-info-fields)
(function).
segment-info-flags
(function).
(setf segment-info-flags)
(function).
segment-info-max-inputs
(function).
(setf segment-info-max-inputs)
(function).
segment-info-min-inputs
(function).
(setf segment-info-min-inputs)
(function).
segment-info-name
(function).
(setf segment-info-name)
(function).
segment-info-outputs
(function).
(setf segment-info-outputs)
(function).
segment-mix
(function).
segment-set
(function).
segment-set-in
(function).
segment-set-out
(function).
segment-start
(function).
transfer-buffer
(function).
translator-from
(function).
translator-to
(function).
type-string
(function).
version
(function).
*here*
(special variable).
Definitions are sorted by export status, category, package, and then by lexicographic order.
This variable holds the default sample rate used throughout.
This is set to 44100 for 44.1 kHz, which is
the standard sample rate for CD audio and should
thus be of sufficient quality for most purposes.
Variable containing the path to the static directory. That directory contains the precompiled library binaries.
Convenience macro to handle a transfer from one buffer to another.
Both FROM and TO may be the same buffer, in which case the transfer
happens from the region available to read to itself.
Otherwise, this is akin to nesting WITH-BUFFER-TX, with the special
exemption that FINISH will complete the transaction on both buffers at
once.
See BIP-BUFFER
See BUFFER
See PACK
See WITH-BUFFER-TRANSFER
Convenience macro to handle a buffer transaction.
DATA is bound to the storage array of the buffer.
START is bound to the starting index of the transaction.
SIZE is bound to the number of elements that may be operated on during
the transaction.
BUFFER should be a BIP-BUFFER instance.
DIRECTION can be either :INPUT or :OUTPUT depending on the type of
transaction desired.
INITIAL-SIZE should be the amount of space to request.
During BODY, two functions are available:
FINISH — Completes the transaction, using the passed number of
elements. Note that this does not cause an unwind.
DATA-PTR — Returns a foreign pointer to the start of the
transaction’s valid memory.
This macro ensures that on unwind for any reason, whether after FINISH
or before, the buffer is left in a sealed state where it is safe to
call REQUEST-READ and REQUEST-WRITE again.
See BIP-BUFFER
See BUFFER
See PACK
See WITH-BUFFER-TRANSFER
Create a number of buffers for the duration of the body.
BUFFERS should be a list of symbols, to each of which a fresh instance of a BUFFER with a size of SAMPLES will be bound.
Returns the number of elements available for reading in the buffer.
See BIP-BUFFER
See BUFFER
See PACK
Returns the number of elements that can be written to the buffer.
See BIP-BUFFER
See BUFFER
See PACK
Returns a foreign pointer to the underlying storage of the data array.
See BIP-BUFFER
See BUFFER
See PACK
Finishes a reading transaction.
You must not call this function without a matching REQUEST-READ call
first. The SIZE should be the number of read elements, which may be
less than the number obtained from REQUEST-READ, but not more.
See REQUEST-READ
See BIP-BUFFER
See BUFFER
See PACK
Finishes a writing transaction.
You must not call this function without a matching REQUEST-WRITE call
first. The SIZE should be the number of written elements, which may be
less than the number obtained from REQUEST-WRITE, but not more.
See REQUEST-WRITE
See BIP-BUFFER
See BUFFER
See PACK
Perform a forward FFT on the samples in IN and store the frequency data in OUT.
FRAMESIZE must be a power of two in [2^1, 2^13] and the
buffers must be sized accordingly.
See BUFFER
See INVERSE-FFT
Loads the shared libraries to make libmixed work.
You must call this before calling any other functions. It is safe to call this multiple times.
Perform an inverse FFT on the frequency data in IN and store the samples in OUT.
FRAMESIZE must be a power of two in [2^1, 2^13] and the
buffers must be sized accordingly.
See BUFFER
See FORWARD-FFT
Create a new basic mixer, adding the given buffers as inputs.
See BASIC-MIXER
See ADD
See WITHDRAW
Create a new frequency pass segment.
PASS can be either :high or :low, which will cause
high and low frequencies to pass through the filter
respectively.
See BIQUAD-FILTER
Create a new buffer.
You may pass either an integer denoting the length of the
buffer in samples, or a vector of single-floats denoting the
buffers’ initial contents.
See BUFFER
Create a new delay segment.
See DELAY
Create a new volume fader segment.
See FADER
Create a new tone generator.
See GENERATOR
Create a new LADSPA segment.
The file must point to a valid shared library and the
index should designate the requested plugin with the
library.
Any additional keys are used to set the corresponding
fields on the segments, allowing you to directly
configure the LADSPA plugin in the same call.
See LADSPA
Create a new noise segment.
The type can be one of :WHITE, :PINK, :BROWN.
See NOISE
Create a new pack object.
See PACK
Create a new packer segment.
This automatically creates a packed-audio object to use.
If you prefer to use a packed-audio object you created
yourself, simply use MAKE-INSTANCE instead.
See PACK
See PACKER
Create a new pitch shifting segment.
See PITCH
Create a new repeat segment.
The time designates the size of the internal buffer
that it can repeat to the output.
See REPEAT
Create a new space-mixer segment for 3D audio processing.
See SPACE-MIXER
Create a new unpacker segment.
This automatically creates a packed-audi object
to use. If you prefer to use a packed-audio object
you created yourself, simply use MAKE-INSTANCE
instead.
See PACK
See UNPACKER
Create a new volume control segment.
See VOLUME-CONTROL
Accessor to the object associated with the given foreign pointer.
See *C-OBJECT-TABLE*
Prepares a reading operation on the buffer.
Returns two values:
START – The number of elements after which the read may begin.
SIZE – The number of elements that may be read.
After calling this, you **must** call FINISH-READ before calling
REQUEST-WRITE again.
See FINISH-READ
See BIP-BUFFER
See BUFFER
See PACK
Prepares a writing operation on the buffer.
Returns two values:
START – The number of elements after which the write may begin.
SIZE – The number of elements that may be written.
After calling this, you **must** call FINISH-WRITE before calling
REQUEST-WRITE again.
See FINISH-WRITE
See BIP-BUFFER
See BUFFER
See PACK
Return the number of bytes required to represent a sample in the given format.
Acceptable values are
:INT8 :UINT8 :INT16 :UINT16 :INT24 :UINT24 :INT32 :UINT32
:FLOAT :DOUBLE
Add the object to the given collection.
For segment-sequences this means adding a segment to
the sequence. For mixers this means adding another
input buffer.
See SEGMENT-SEQUENCE
See MIXER
segment
) (segment space-mixer
)) ¶segment
) (segment plane-mixer
)) ¶segment
) (segment basic-mixer
)) ¶spatial-reverb
) angle length absorption-rate) ¶Accessor to the attenuation function used to describe the distance volume falloff.
The value should be one of
:NONE :LINEAR :INVERSE :EXPONENTIAL
The value may also be a pointer to a C function
of the following signature:
float attenuation(float min,
float max,
float dist,
float roll);
See mixed.h
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Accessor to whether the segment is bypassed or not.
A bypassed segment does not perform any operations when
mixed. The exact effects of this varies per segment, but
usually for a segment that transforms its inputs
somehow this will mean that it just copies the input to
the output verbatim.
Note that not all segments support bypassing. Check the
:FIELDS value in the field’s info plist.
See SEGMENT
See INFO
volume-control
)) ¶speed-change
)) ¶biquad-filter
)) ¶volume-control
)) ¶speed-change
)) ¶biquad-filter
)) ¶channel-convert
)) ¶channel-convert
)) ¶channel-convert
)) ¶channel-convert
)) ¶Accessor to the number of channels encoded in the data buffer in the object.
See PACK
space-mixer
)) ¶plane-mixer
)) ¶basic-mixer
)) ¶automatically generated reader method
Clears the buffer to fill its data array with just zeroes.
See BUFFER
Connect two segments together by connecting their respective input and output to a specific buffer.
See INPUT
See OUTPUT
See SEGMENT
Accessor to the raw data array contained in the object.
See BUFFER
See PACK
device-not-found
)) ¶Accessor for the direction the listener is facing in space.
To set a vector, the value should be a list or a vector
of three floats. When reading, the returned value is
always a vector of three floats.
See SPACE-MIXER
space-mixer
)) ¶space-mixer
)) ¶spatial-reverb
)) ¶spatial-reverb
)) ¶Accessor to the over-/under-statement factor of the doppler effect.
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Accessor to the duration of the segment’s effect.
Must be measured in seconds.
See FADER
See DELAY
See REPEAT
Accessor to the sample encoding of the raw data buffer in the object.
The encoding has to be one of the following:
:INT8 :UINT8 :INT16 :UINT16 :INT24 :UINT24 :INT32 :UINT32
:FLOAT :DOUBLE
See PACK
End the mixing process.
This method should be called as close as possible
after all desired calls to MIX are done. Calling
MIX after END is called is an error. Some segments
may require END to be called before their fields
can be set freely. Thus mixing might need to be
’paused’ to change settings.
See SEGMENT-SEQUENCE
See SEGMENT
See START
See MIX
Accessor for the error code contained in the condition instance.
See MIXED:ERROR
See MIXED:ERROR-STRING
mixed-error
)) ¶mixed-error
)) ¶Accessor to the type of easing function used for the fade.
Must be one of :LINEAR :CUBIC-IN :CUBIC-OUT :CUBIC-IN-OUT
See FADER
Access the field of the segment.
Which fields are supported depends on the segment in
question.
Some fields may only be read and not written to or
vice-versa.
See SEGMENT
(eql :bypass)
) (segment1 volume-control
)) ¶(eql :pan)
) (segment1 volume-control
)) ¶(eql :volume)
) (segment1 volume-control
)) ¶(eql :bypass)
) (segment1 speed-change
)) ¶(eql :speed-factor)
) (segment1 speed-change
)) ¶(eql :distance-delay)
) (segment1 spatial-reverb
)) ¶(eql :max-distance)
) (segment1 spatial-reverb
)) ¶(eql :attenuation)
) (segment space-mixer
)) ¶(eql :volume)
) (segment1 space-mixer
)) ¶(eql :rolloff)
) (segment1 space-mixer
)) ¶(eql :max-distance)
) (segment1 space-mixer
)) ¶(eql :min-distance)
) (segment1 space-mixer
)) ¶(eql :doppler-factor)
) (segment1 space-mixer
)) ¶(eql :soundspeed)
) (segment1 space-mixer
)) ¶(eql :up)
) (segment2 space-mixer
)) ¶(eql :direction)
) (segment2 space-mixer
)) ¶(eql :velocity)
) (segment2 space-mixer
)) ¶(eql :location)
) (segment2 space-mixer
)) ¶(eql :attenuation)
) (segment plane-mixer
)) ¶(eql :volume)
) (segment1 plane-mixer
)) ¶(eql :rolloff)
) (segment1 plane-mixer
)) ¶(eql :max-distance)
) (segment1 plane-mixer
)) ¶(eql :min-distance)
) (segment1 plane-mixer
)) ¶(eql :doppler-factor)
) (segment1 plane-mixer
)) ¶(eql :soundspeed)
) (segment1 plane-mixer
)) ¶(eql :velocity)
) (segment2 plane-mixer
)) ¶(eql :location)
) (segment2 plane-mixer
)) ¶(eql :channel-count-out)
) (segment1 channel-convert
)) ¶(eql :channel-count-in)
) (segment1 channel-convert
)) ¶(eql :bypass)
) (segment1 biquad-filter
)) ¶(eql :samplerate)
) (segment1 biquad-filter
)) ¶(eql :gain)
) (segment1 biquad-filter
)) ¶(eql :q)
) (segment1 biquad-filter
)) ¶(eql :filter)
) (segment1 biquad-filter
)) ¶(eql :frequency)
) (segment1 biquad-filter
)) ¶(eql :volume)
) (segment1 basic-mixer
)) ¶(eql :bypass)
) (segment52 volume-control
)) ¶(eql :pan)
) (segment34 volume-control
)) ¶(eql :volume)
) (segment37 volume-control
)) ¶(eql :bypass)
) (segment40 speed-change
)) ¶(eql :speed-factor)
) (segment37 speed-change
)) ¶(eql :distance-delay)
) (segment34 spatial-reverb
)) ¶(eql :max-distance)
) (segment34 spatial-reverb
)) ¶(eql :attenuation)
) (segment space-mixer
)) ¶(eql :volume)
) (segment34 space-mixer
)) ¶(eql :rolloff)
) (segment34 space-mixer
)) ¶(eql :max-distance)
) (segment34 space-mixer
)) ¶(eql :min-distance)
) (segment34 space-mixer
)) ¶(eql :doppler-factor)
) (segment34 space-mixer
)) ¶(eql :soundspeed)
) (segment34 space-mixer
)) ¶(eql :up)
) (segment2 space-mixer
)) ¶(eql :direction)
) (segment2 space-mixer
)) ¶(eql :velocity)
) (segment2 space-mixer
)) ¶(eql :location)
) (segment2 space-mixer
)) ¶(eql :attenuation)
) (segment plane-mixer
)) ¶(eql :volume)
) (segment34 plane-mixer
)) ¶(eql :rolloff)
) (segment34 plane-mixer
)) ¶(eql :max-distance)
) (segment34 plane-mixer
)) ¶(eql :min-distance)
) (segment34 plane-mixer
)) ¶(eql :doppler-factor)
) (segment34 plane-mixer
)) ¶(eql :soundspeed)
) (segment34 plane-mixer
)) ¶(eql :velocity)
) (segment2 plane-mixer
)) ¶(eql :location)
) (segment2 plane-mixer
)) ¶(eql :channel-count-out)
) (segment channel-convert
)) ¶(eql :channel-count-in)
) (segment channel-convert
)) ¶(eql :channel-count-out)
) (segment34 channel-convert
)) ¶(eql :channel-count-in)
) (segment37 channel-convert
)) ¶(eql :bypass)
) (segment82 biquad-filter
)) ¶(eql :samplerate)
) (segment34 biquad-filter
)) ¶(eql :gain)
) (segment34 biquad-filter
)) ¶(eql :q)
) (segment34 biquad-filter
)) ¶(eql :filter)
) (segment40 biquad-filter
)) ¶(eql :frequency)
) (segment37 biquad-filter
)) ¶(eql :volume)
) (segment34 basic-mixer
)) ¶file-drain
)) ¶automatically generated reader method
file
.
biquad-filter
)) ¶biquad-filter
)) ¶source
)) ¶automatically generated reader method
file-drain
)) ¶automatically generated reader method
source
)) ¶automatically generated writer method
file-drain
)) ¶automatically generated writer method
Free the foreign data associated with this object.
This makes sure that the data is properly cleaned up and that
the object can’t accidentally be double-freed or accessed in
any way after the free.
See C-OBJECT
Accessor to the frequency of the wave.
Must be in the range [0.0, samplerate].
See GENERATOR
Accessor to the starting volume of the fading segment.
Must be in the range of [0.0, infinity[.
See FADER
biquad-filter
)) ¶biquad-filter
)) ¶Accessor to the pointer to the foreign data that this object tracks.
See CFFI:FOREIGN-POINTER
See C-OBJECT
Fetch metadata information about the segment.
Returns a plist with the following entries:
:NAME — A string denoting the name of the
type of segment this is.
:DESCRIPTION — A string denoting a human-readable
description of the segment.
:FLAGS — A list of flags for the segment.
Should be one of:
:INPLACE — Output and input buffers may be
identical as processing is
in-place.
:MODIFIES-INPUT — The data in the input buffer
is modified.
:MIN-INPUTS — The minimal number of inputs that
needs to be connected to this
segment.
:MAX-INPUTS — The maximal number of inputs that
may be connected to this segment.
:OUTPUTS — The number of outputs that this
segment provides.
:FIELDS — A list of plists describing the
possible flags. Each plist has the
following entries:
:FIELD — The keyword or integer denoting
the field.
:DESCRIPTION — A string for a human-readable
description of what the field
does.
:FLAGS — A list of keywords describing the
applicability of the field. Must
be one of:
:IN — This field is for inputs.
:OUT — This field is for outputs.
:SEGMENT — This field is for the segment.
:SET — This field may be written to.
:GET — This field may be read.
Note that this value is cached after the first
retrieval. You are thus not allowed to modify the
return value.
See SEGMENT
Accessor to the input buffer at the specified location of the segment.
See INPUT-FIELD
See SEGMENT
Access the field of an input of the segment.
Which fields are supported depends on the segment in
question. Usually the :BUFFER field will be recognised
for which the value should be a BUFFER instance.
Some fields may only be read and not written to or
vice-versa.
See SEGMENT
See INPUT
(eql :rolloff)
) location2 (segment3 space-mixer
)) ¶(eql :max-distance)
) location2 (segment3 space-mixer
)) ¶(eql :min-distance)
) location2 (segment3 space-mixer
)) ¶(eql :velocity)
) location2 (segment3 space-mixer
)) ¶(eql :location)
) location2 (segment3 space-mixer
)) ¶(eql :rolloff)
) location2 (segment3 plane-mixer
)) ¶(eql :max-distance)
) location2 (segment3 plane-mixer
)) ¶(eql :min-distance)
) location2 (segment3 plane-mixer
)) ¶(eql :velocity)
) location2 (segment3 plane-mixer
)) ¶(eql :location)
) location2 (segment3 plane-mixer
)) ¶(eql :rolloff)
) location2 (segment3 space-mixer
)) ¶(eql :max-distance)
) location2 (segment3 space-mixer
)) ¶(eql :min-distance)
) location2 (segment3 space-mixer
)) ¶(eql :velocity)
) location2 (segment3 space-mixer
)) ¶(eql :location)
) location2 (segment3 space-mixer
)) ¶(eql :rolloff)
) location2 (segment3 plane-mixer
)) ¶(eql :max-distance)
) location2 (segment3 plane-mixer
)) ¶(eql :min-distance)
) location2 (segment3 plane-mixer
)) ¶(eql :velocity)
) location2 (segment3 plane-mixer
)) ¶(eql :location)
) location2 (segment3 plane-mixer
)) ¶Accessor for the location of the source in space.
To set a vector, the value should be a list or a vector
of three floats. When reading, the returned value is
always a vector of three floats.
See SPACE-MIXER
integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶Accessor for the velocity of the source in space.
To set a vector, the value should be a list or a vector
of three floats. When reading, the returned value is
always a vector of three floats.
See SPACE-MIXER
integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶integer
) (segment3 space-mixer
)) ¶buffer
) (segment3 space-mixer
)) ¶integer
) (segment3 plane-mixer
)) ¶buffer
) (segment3 plane-mixer
)) ¶Accessor to the vector of input buffers connected to the segment.
This vector will become out of date if the segment’s
buffers are added or removed from the C side directly,
or directly through this vector. Thus you should never
modify this directly and instead always
make sure to go through INPUT.
See SEGMENT
See INPUT
Accessor for the location of the listener in space.
To set a vector, the value should be a list or a vector
of three floats. When reading, the returned value is
always a vector of three floats.
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Accessor to the maximal distance above which the source is inaudible.
See SPACE-MIXER
spatial-reverb
)) ¶space-mixer
)) ¶plane-mixer
)) ¶spatial-reverb
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Accessor to the minimal distance below which the source is at max volume.
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Perform the actual mixing.
This processes the given number of samples through
the pipeline. It is your job to make sure that
sources provide enough fresh samples and drains
will consume enough samples. Calling MIX with more
samples specified than any one buffer connected to
the segments in the sequence can hold is an error and
may crash your system. No checks for this problem
are done.
Calling MIX before START has been called or after
END has been called is an error and may result in
crashes. No checks for this problem are done.
If you want to ensure that the sequence is complete and able to process the requested number of samples, you should call CHECK-COMPLETE after running START.
When adding methods to MIX for virtual segments, you
should make sure to return true, unless your segment
has somehow ended and exhausted the samples it wants
to process, in which case you should return NIL.
See SEGMENT-SEQUENCE
See SEGMENT
See START
See END
Accessor to the type of noise being generated.
The value must be one of :WHITE, :PINK, :BROWN.
See NOISE
Accessor to the output buffer at the specified location of the segment.
See OUTPUT-FIELD
See SEGMENT
Access the field of an output of the segment.
Which fields are supported depends on the segment in
question. Usually the :BUFFER field will be recognised
for which the value should be a BUFFER instance.
Some fields may only be read and not written to or
vice-versa.
See SEGMENT
See OUTPUT
Accessor to the vector of output buffers connected to the segment.
This vector will become out of date if the segment’s
buffers are added or removed from the C side directly,
or directly through this vector. Thus you should never
modify this directly and instead always
make sure to go through OUTPUT
See SEGMENT
See OUTPUT
unpacker
)) ¶automatically generated reader method
pack
.
packer
)) ¶automatically generated reader method
pack
.
source
)) ¶automatically generated reader method
pack
.
Accessor to the outputting pan of the volume control segment.
Must be in the range [-1,1].
See VOLUME-CONTROL
volume-control
)) ¶volume-control
)) ¶Accessor to the current pitch shifting value.
The pitch shift is denoted as a float in the range
of ]0,infinity[, where 1 is no change, 0.5 halves the
pitch, and 2 doubles the pitch.
Note that extreme values on either side will result
in heavy distortions and quality loss. Anything
outside the range of [0.5,2.0] will already result in
audible artefacts.
See PITCH
biquad-filter
)) ¶biquad-filter
)) ¶Accessor to the mode the repeat segment is currently in.
The value must be either :RECORD or :PLAY.
When in record mode, the segment will fill its internal
buffer with the samples from the input buffer, and copy
them to the output buffer. While in this mode it is thus
"transparent" and does not change anything.
When in play mode, the segment continuously plays back
its internal buffer to the output buffer, ignoring all
samples on the input buffer.
See REPEAT
Accessor to the rolloff factor that describes the curvature of the attenuation function.
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Accessor to the samplerate at which the samples are expected to be.
The sample rate is in Hz.
See PACK
See DELAY
See FADER
See BIQUAD-FILTER
See PITCH
See REPEAT
See SPACE-MIXER
biquad-filter
)) ¶biquad-filter
)) ¶Accessor to a vector of segments the sequence contains.
This vector will become out of date if the sequence’s
segments are added or removed from the C side
directly, or directly through this vector. Thus you
should never modify this directly and instead always
make sure to go through ADD/WITHDRAW.
See SEGMENT-SEQUENCE
See ADD
See WITHDRAW
spatial-reverb
) distances hit-ratios absorption-rates) ¶Accessor to the size of the data contained in the object.
For packed-audio this number is in bytes.
For buffers this number is in floats.
When the size is set on a buffer, the buffer’s data array is
resized to fit the requested size.
See BUFFER
See PACK
See SEGMENT-SEQUENCE
Accessor to the speed of sound in space.
This value only influences the strength of
the doppler factor.
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶speed-change
)) ¶speed-change
)) ¶Start the mixing process.
This method should be called as close as possible
to the next calls to MIX. Calling MIX before
START is called or after END is called is an error.
After START has been called, changing some segments’
fields may result in undefined behaviour and might
even lead to crashes.
See SEGMENT-SEQUENCE
See SEGMENT
See END
See MIX
Accessor to the ending volume of the fading segment.
Must be in the range of [0.0, infinity[.
See FADER
Accessor for the vector representing "upwards" in space.
To set a vector, the value should be a list or a vector
of three floats. When reading, the returned value is
always a vector of three floats.
See SPACE-MIXER
space-mixer
)) ¶space-mixer
)) ¶Accessor for the velocity of the listener in space.
To set a vector, the value should be a list or a vector
of three floats. When reading, the returned value is
always a vector of three floats.
See SPACE-MIXER
space-mixer
)) ¶plane-mixer
)) ¶space-mixer
)) ¶plane-mixer
)) ¶Accessor to the outputting volume of the segment.
Must be in the range [0, infinity[.
See VOLUME-CONTROL
See NOISE
See GENERATOR
volume-control
)) ¶space-mixer
)) ¶plane-mixer
)) ¶basic-mixer
)) ¶volume-control
)) ¶space-mixer
)) ¶plane-mixer
)) ¶basic-mixer
)) ¶Accessor to the wave type the generator generates.
Must be one of :SINE :SQUARE :SAWTOOTH :TRIANGLE
See GENERATOR
Remove the object from the given collection.
For segment-sequences this means removing the segment
from the sequence. For mixers this means removing
the given input buffer.
See SEGMENT-SEQUENCE
See MIXER
segment
) (segment space-mixer
)) ¶segment
) (segment plane-mixer
)) ¶segment
) (segment basic-mixer
)) ¶gate
) &key samplerate open-threshold close-threshold attack hold release bypass) ¶volume-control
) &key volume pan bypass) ¶fader
) &key from to time type samplerate bypass) ¶space-mixer
) &key samplerate) ¶spatial-reverb
) &key samplerate) ¶speed-change
) &key speed-factor bypass) ¶plane-mixer
) &key samplerate) ¶bundle
) &key segment-class segment-initargs channels) ¶basic-mixer
) &key) ¶distributor
) &key) ¶channel-convert
) &key in out samplerate) ¶biquad-filter
) &key filter samplerate frequency bypass q gain) ¶device-drain
) stream) ¶file-drain
) stream) ¶error
.
Condition class for errors related to the mixed library.
See ERROR-CODE
error
.
Initarg | Value |
---|---|
:error-code | (error) |
:error-code
This segment additively mixes an arbitrary number of inputs to a single output.
Linear mixing means that all the inputs are summed
up and the resulting number is divided by the number
of inputs. This is equivalent to having all the
inputs play as "individual speakers" in real life.
See MIXER
See MAKE-BASIC-MIXER
2
:channels
A biquad filter for simple frequency filtering operations.
See SEGMENT
See MAKE-BIQUAD-FILTER
See FREQUENCY
See FILTER
See SAMPLERATE
See BYPASS
See Q
See GAIN
Initarg | Value |
---|---|
:filter | lowpass |
:samplerate | *default-samplerate* |
Buffers encapsulate raw audio data between segments.
A buffer stores a C-array of floats. This array represents
a sample buffer for a single audio channel. The data is not
encoded in any way and consists solely of single-floats.
Upon construction the foreign array of floats is automatically
allocated based on the given size.
See C-OBJECT
See DATA
See SIZE
See CLEAR
allocate-handle
.
clear
.
data
.
framesize
.
free
.
initialize-instance
.
(setf input-field)
.
(setf input-field)
.
(setf input-field)
.
(setf input-field)
.
(setf input-location)
.
input-location
.
(setf input-location)
.
input-location
.
(setf input-max-distance)
.
input-max-distance
.
(setf input-max-distance)
.
input-max-distance
.
(setf input-min-distance)
.
input-min-distance
.
(setf input-min-distance)
.
input-min-distance
.
(setf input-rolloff)
.
input-rolloff
.
(setf input-rolloff)
.
input-rolloff
.
(setf input-velocity)
.
input-velocity
.
(setf input-velocity)
.
input-velocity
.
(setf output-field)
.
(setf output-field)
.
(setf size)
.
size
.
transfer
.
transfer
.
transfer
.
foreign-struct-type
.
translatable-foreign-type
.
(setf attack)
.
attack
.
(setf bypass)
.
bypass
.
(setf close-threshold)
.
close-threshold
.
(setf cutoff)
.
cutoff
.
(setf direction)
.
direction
.
(setf doppler-factor)
.
doppler-factor
.
(setf duration)
.
duration
.
end
.
(setf fade-type)
.
fade-type
.
(setf field)
.
field
.
free
.
(setf frequency)
.
frequency
.
(setf frequency-pass)
.
frequency-pass
.
(setf from)
.
from
.
(setf hold)
.
hold
.
info
.
initialize-instance
.
(setf input)
.
input
.
(setf input-field)
.
input-field
.
inputs
.
(setf location)
.
location
.
(setf max-distance)
.
max-distance
.
(setf min-distance)
.
min-distance
.
mix
.
(setf noise-type)
.
noise-type
.
(setf open-threshold)
.
open-threshold
.
(setf output)
.
output
.
(setf output-field)
.
output-field
.
outputs
.
(setf pan)
.
pan
.
(setf pitch)
.
pitch
.
(setf release)
.
release
.
(setf repeat-mode)
.
repeat-mode
.
(setf rolloff)
.
rolloff
.
(setf samplerate)
.
samplerate
.
segments
.
(setf soundspeed)
.
soundspeed
.
(setf speed-factor)
.
speed-factor
.
start
.
(setf steps)
.
steps
.
(setf to)
.
to
.
(setf up)
.
up
.
(setf velocity)
.
velocity
.
(setf volume)
.
volume
.
(setf wave-type)
.
wave-type
.
(setf wet)
.
wet
.
Superclass for all objects that track foreign resources.
If no handle is given to the object upon creation, the proper
corresponding foreign data is automatically allocated. The
pointer to this data is then associated with the instance to
allow resolving the pointer to the original Lisp object.
Finalisation of the foreign data upon garbage collection of
the Lisp object is also handled.
The actual foreign allocation and cleanup of the data is
handled by ALLOCATE-HANDLE and FREE-HANDLE respectively. The
subclass in question is responsible for implementing
appropriate methods for them.
See HANDLE
See ALLOCATE-HANDLE
See FREE-HANDLE
See FREE
See POINTER->OBJECT
:handle
Initarg | Value |
---|---|
:in | (error in required.) |
:out | (error out required.) |
:samplerate | *default-samplerate* |
A simple delay segment.
This just delays the input to the output by a given
number of seconds. Note that it will require an
internal buffer to hold the samples for the required
length of time, which might become expensive for very
long durations.
See SEGMENT
See MAKE-DELAY
See DURATION
See SAMPLERATE
See BYPASS
Initarg | Value |
---|---|
:samplerate | *default-samplerate* |
"mixed"
:program-name
end
.
free
.
initialize-instance
.
mix
.
start
.
A volume fading segment.
This allows you to smoothly fade in and out an input.
The from and to are given in relative volume, meaning
in the range of [0.0, infinity[. The duration is given
in seconds. The fade type must be one of the following:
:LINEAR :CUBIC-IN :CUBIC-OUT :CUBIC-IN-OUT, each
referring to the respective easing function.
The time is measured from the last call to START out.
See SEGMENT
See MAKE-FADER
See FROM
See TO
See DURATION
See FADE-TYPE
Initarg | Value |
---|---|
:from | 0.0 |
:to | 1.0 |
:time | 1.0 |
:type | cubic-in-out |
:samplerate | *default-samplerate* |
foreign-struct-type
.
translatable-foreign-type
.
0
(setf attack)
.
attack
.
(setf bypass)
.
bypass
.
(setf close-threshold)
.
close-threshold
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf hold)
.
hold
.
initialize-instance
.
(setf open-threshold)
.
open-threshold
.
(setf release)
.
release
.
(setf samplerate)
.
samplerate
.
Initarg | Value |
---|---|
:samplerate | *default-samplerate* |
A primitive tone generator segment.
This segment can generate sine, square, sawtooth, and
triangle waves at a requested frequency. You can even
change the frequency and type on the fly.
See SEGMENT
See *DEFAULT-SAMPLERATE*
See WAVE-TYPE
See FREQUENCY
Initarg | Value |
---|---|
:type | sine |
:frequency | 440 |
:samplerate | *default-samplerate* |
This segment invokes a LADSPA plugin.
LADSPA (Linux Audio Developers’ Simple Plugin API)
is a standard interface for audio effects. Such effects
are contained in shared library files and can be loaded
in and used with libmixed straight up.
Please refer to the plugin’s documentation for necessary
configuration values, and to the libmixed documentation
for how to set them.
See SEGMENT
See *DEFAULT-SAMPLERATE*
See MAKE-LADSPA
Initarg | Value |
---|---|
:file | (error ladspa file required.) |
:index | 0 |
:samplerate | *default-samplerate* |
Superclass for segments that mix a variable number of sources together.
See SEGMENT
See ADD
See WITHDRAW
See SOURCES
See SOURCE
A noise generator segment.
This segment produces a single channel of noise,
either white, pink, or brownian noise.
See SEGMENT
See MAKE-NOISE
See VOLUME
See NOISE-TYPE
Initarg | Value |
---|---|
:type | pink |
A pack represents an interface to an outside sound source or drain.
The object holds all the necessary information to describe
the audio data present in a raw byte buffer. This includes
how many channels there are, how the samples are laid out
and how the samples are formatted in memory. It also includes
the samplerate of the channel’s source so that it can be
converted if necessary.
Note that a pack only supports interleaved channel data. If the data
is sequential in memory, it must be handled by multiple packs.
See MAKE-PACK
See SOURCE
See DRAIN
See C-OBJECT
See DATA
See SIZE
See ENCODING
See CHANNELS
See SAMPLERATE
See FRAMESIZE
See TRANSFER
foreign-struct-type
.
translatable-foreign-type
.
This segment converts data from individual sample buffers to data for packed-audio.
This is mostly useful at the edges to convert to
something like an audio file library or audio
playback system from the internal buffers as used
by Mixed.
The samplerate argument defines the sample rate
in the input buffers. If it diverges from the
sample rate in the packed-audio, resampling occurs to
account for this.
See mixed.h
See PACK
See SEGMENT
See MAKE-PACKER
See *DEFAULT-SAMPLERATE*
A pitch shifting segment.
This segment allows you to change the pitch of the
incoming audio.
See MAKE-PITCH
See PITCH
See SAMPLERATE
See BYPASS
Initarg | Value |
---|---|
:pitch | 1.0 |
:samplerate | *default-samplerate* |
add
.
(setf attenuation)
.
attenuation
.
channels
.
(setf doppler-factor)
.
doppler-factor
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
initialize-instance
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-location)
.
(setf input-location)
.
input-location
.
input-location
.
(setf input-max-distance)
.
(setf input-max-distance)
.
input-max-distance
.
input-max-distance
.
(setf input-min-distance)
.
(setf input-min-distance)
.
input-min-distance
.
input-min-distance
.
(setf input-rolloff)
.
(setf input-rolloff)
.
input-rolloff
.
input-rolloff
.
(setf input-velocity)
.
(setf input-velocity)
.
input-velocity
.
input-velocity
.
(setf location)
.
location
.
(setf max-distance)
.
max-distance
.
(setf min-distance)
.
min-distance
.
(setf rolloff)
.
rolloff
.
(setf soundspeed)
.
soundspeed
.
(setf velocity)
.
velocity
.
(setf volume)
.
volume
.
withdraw
.
Initarg | Value |
---|---|
:samplerate | *default-samplerate* |
Initarg | Value |
---|---|
:steps | (error steps required.) |
This segment repeats a recorded bit of its input sequence.
The segment is first in record mode when created.
Once you have the bit you want to repeat back, you
can switch the repeat-mode to :PLAY. It will then
ignore the input and instead continuously output the
recorded input bit.
See MAKE-REPEAT
See DURATION
See REPEAT-MODE
See SAMPLERATE
See BYPASS
Initarg | Value |
---|---|
:samplerate | *default-samplerate* |
Superclass for all mixing pipeline segments.
A segment is responsible for producing, consuming,
combining, splitting, or just in general somehow
processing audio data within a pipeline.
A segment is connected to several buffers at its inputs and outputs. Each input, output, and the segment itself may have a number of fields that can be accessed to change the properties of the segment’s behaviour.
Some of these properties may not be changed in real
time and instead might require a ending the mixing
first.
See C-OBJECT
See INPUTS
See OUTPUTS
See INFO
See START
See MIX
See END
See INPUT-FIELD
See OUTPUT-FIELD
See FIELD
See INPUT
See OUTPUT
See CONNECT
biquad-filter
.
chain
.
channel-convert
.
delay
.
distributor
.
fader
.
gate
.
generator
.
ladspa
.
mixer
.
noise
.
packer
.
pitch
.
quantize
.
queue
.
repeat
.
spatial-reverb
.
speed-change
.
unpacker
.
virtual
.
void
.
volume-control
.
zero
.
add
.
add
.
add
.
add
.
add
.
allocate-handle
.
connect
.
connect
.
(setf direct-info)
.
direct-info
.
end
.
(setf field)
.
free
.
info
.
initialize-instance
.
(setf input)
.
input
.
(setf input-field)
.
(setf input-field)
.
(setf input-field)
.
input-field
.
input-field
.
inputs
.
match-channel-order
.
mix
.
(setf output)
.
output
.
(setf output-field)
.
(setf output-field)
.
(setf output-field)
.
output-field
.
output-field
.
outputs
.
revalidate
.
start
.
withdraw
.
withdraw
.
withdraw
.
withdraw
.
withdraw
.
foreign-struct-type
.
translatable-foreign-type
.
foreign-struct-type
.
translatable-foreign-type
.
A segment to simulate audio effects in 3D space.
Each input represents an individual source in space.
Each such source can have a location and a velocity,
both of which are vectors of three elements. If the
velocity is non-zero, a doppler effect is applied to
the source.
The segment itself also has a :LOCATION and :VELOCITY, representing the listener’s own properties. It has some additional fields to change the properties of the 3D space. In total, the following fields are available:
:LOCATION — The location of the input or
listener. Value should be a list
of three floats.
:VELOCITY — The velocity of the input or
listener. Value should be a list
of three floats.
:DIRECTION — The direction the listener is
facing. Value should be a list of
three floats. Default is (0 0 1)
:UP — The vector pointing "up" in
space. Value should be a list of
three floats. Default is (0 1 0)
:SOUNDSPEED — The speed of sound in the medium.
Default is 34330, meaning "1" is
measured as 1cm.
:DOPPLER-FACTOR — This can be used to over- or
understate the effect of the
doppler. Default is 1.0.
:MIN-DISTANCE — The minimal distance under which
the source has reached max volume.
:MAX-DISTANCE — The maximal distance over which
the source is completely inaudible.
:ROLLOFF — The rolloff factor describing the
curvature of the attenuation
function.
:ATTENUATION — The attenuation function describing
how volume changes over distance.
Should be one of :NONE :LINEAR
:INVERSE :EXPONENTIAL.
See MIXER
See MAKE-SPACE-MIXER
See LOCATION
See INPUT-LOCATION
See VELOCITY
See INPUT-VELOCITY
See DIRECTION
See UP
See SOUNDSPEED
See DOPPLER-FACTOR
See MIN-DISTANCE
See MAX-DISTANCE
See ROLLOFF
See ATTENUATION
See *DEFAULT-SAMPLERATE*
add
.
(setf attenuation)
.
attenuation
.
channels
.
(setf direction)
.
direction
.
(setf doppler-factor)
.
doppler-factor
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
(setf field)
.
field
.
initialize-instance
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-field)
.
input-field
.
(setf input-location)
.
(setf input-location)
.
input-location
.
input-location
.
(setf input-max-distance)
.
(setf input-max-distance)
.
input-max-distance
.
input-max-distance
.
(setf input-min-distance)
.
(setf input-min-distance)
.
input-min-distance
.
input-min-distance
.
(setf input-rolloff)
.
(setf input-rolloff)
.
input-rolloff
.
input-rolloff
.
(setf input-velocity)
.
(setf input-velocity)
.
input-velocity
.
input-velocity
.
(setf location)
.
location
.
(setf max-distance)
.
max-distance
.
(setf min-distance)
.
min-distance
.
(setf rolloff)
.
rolloff
.
(setf soundspeed)
.
soundspeed
.
(setf up)
.
up
.
(setf velocity)
.
velocity
.
(setf volume)
.
volume
.
withdraw
.
Initarg | Value |
---|---|
:samplerate | *default-samplerate* |
Initarg | Value |
---|---|
:samplerate | *default-samplerate* |
Initarg | Value |
---|---|
:speed-factor | 1.0 |
This segment converts data from packed-audio to individual sample buffers.
This is mostly useful at the edges to convert from
something like an audio file library to the format
needed by Mixed.
The samplerate argument defines the sample rate
in the output buffers. If it diverges from the
sample rate in the packed-audio, resampling occurs to
account for this.
See SEGMENT
See MAKE-UNPACKER
See *DEFAULT-SAMPLERATE*
Superclass for segments implemented in Lisp.
The segment should implement the following
methods according to its need:
INFO
START
MIX
END
INPUT-FIELD
(SETF INPUT-FIELD)
OUTPUT-FIELD
(SETF OUTPUT-FIELD)
FIELD
Default methods for INPUT/OUTPUT-FIELD to
handle the recording of the input/output
buffers already exist. Every other method
by default does nothing. You should in the
very least implement a method for MIX on
your subclass.
See SEGMENT
See INFO
See START
See MIX
See END
See INPUT-FIELD
See OUTPUT-FIELD
See FIELD
See INPUTS
See OUTPUTS
A volume control segment that can change the volume and pan.
This is a stereo segment, and as such requires two
input and output buffers each. You may use the
location keywords :LEFT and :RIGHT to address them.
The pan goes from -1.0 for left to 1.0 for right.
The volume goes from 0.0 upwards. Values below zero
result in an error, and values above 1.0 will likely
lead to clipping and thus audio distortions.
See SEGMENT
See MAKE-VOLUME-CONTROL
See VOLUME
See PAN
Initarg | Value |
---|---|
:volume | 1.0 |
:pan | 0.0 |
A weak value table associating pointer addresses to corresponding objects.
This table keeps track of which foreign data is tracked
by which lisp instance.
See POINTER->OBJECT
See C-OBJECT
Variable containing the path to the low-level.lisp file.
Define a new accessor wrapper for a CFFI struct function.
Defines a new callback that handles errors automatically.
If an error occurs within BODY, the ERROR-RETURN form
is instead evaluated and its value returned.
See CFFI:DEFCALLBACK
Define an accessor that delegates its call to a slot of the instance.
Generates the necessary accessor methods to wrap
the access.
Define an accessor for a segment’s field.
Generates the necessary methods on FIELD as well as convenience wrapper methods.
Define an accessor for a segment’s input vector value field.
Generates the necessary methods on FIELD as well as
convenience wrapper methods. The values should be
lists or vectors of three floats.
Define a standard callback function.
Standard means that the function will return 1 on
success and 0 on abnormal exit.
See DEFINE-CALLBACK
Define an accessor for a segment’s vector value field.
Generates the necessary methods on FIELD as well as convenience wrapper methods. The values should be lists or vectors of three floats.
If the body unwinds abnormally, CLEANUP is run.
Shorthand to handle return values of C functions.
If the last form in the body returns a zero, an
error of type MIXED-ERROR is signalled.
See MIXED-ERROR
Allocate a region of foreign data on the heap.
This is like CFFI:FOREIGN-ALLOC, except that the memory region is zeroed out before the pointer to it is returned.
Coerce the given value to the type and range appropriate for the given C-type.
Coercion is done for:
:FLOAT
:DOUBLE
:INT
:UINT
Decode the field info contained in the pointer to a segment-info struct.
See MIXED:SEGMENT-INFO
See MIXED:FIELD-INFO
Encode the field info into the segment-info struct pointed to by the pointer.
See MIXED:SEGMENT-INFO
See MIXED:FIELD-INFO
Convert a pointer to a C array of three floats to a vector.
Remove the given key/value pairs from the plist.
Returns a fresh list.
Convert the vector into a C array of three floats
Set the value at the given position in the vector.
If the position is beyond the vector’s length, it is first adjusted to that length.
Remove the element from the vector.
Elements above it are shifted down and the vector’s
size is adjusted. Only the first occurrence is
removed.
See VECTOR-REMOVE-POS
Remove the element at the specified index in the vector.
Elements above it are shifted down and the vector’s size is adjusted.
Allocate space for the foreign resource of this object.
See C-OBJECT
Direct accessor to the info slot on the segment.
See SEGMENT
See INFO
Base class for all buffer types.
Implements an interface to allow for asynchronous read/write to the
buffer.
See DATA
See AVAILABLE-READ
See AVAILABLE-WRITE
See REQUEST-WRITE
See FINISH-WRITE
See REQUEST-READ
See FINISH-READ
See DATA-PTR
See WITH-BUFFER-TX
See WITH-BUFFER-TRANSFER
Jump to: | (
A B C D E F G H I L M N O P Q R S T U V W |
---|
Jump to: | (
A B C D E F G H I L M N O P Q R S T U V W |
---|
Jump to: | *
C D E F H I O P S |
---|
Jump to: | *
C D E F H I O P S |
---|
Jump to: | B C D E F G L M N O P Q R S T U V Z |
---|
Jump to: | B C D E F G L M N O P Q R S T U V Z |
---|