This is the harmony Reference Manual, version 2.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:17:42 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
harmony
A common lisp sound server and sound processing library.
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shirakumo/harmony.git)
zlib
2.0.0
trivial-features
(system).
cl-mixed
(system).
atomics
(system).
bordeaux-threads
(system).
stealth-mixin
(system).
cl-mixed-wasapi
(system)., for feature :windows
cl-mixed-winmm
(system)., for feature :windows
cl-mixed-alsa
(system)., for feature :linux
cl-mixed-pulse
(system)., for feature :linux
cl-mixed-coreaudio
(system)., for feature :darwin
cl-mixed-oss
(system)., for feature :bsd
package.lisp
(file).
toolkit.lisp
(file).
server.lisp
(file).
segment.lisp
(file).
voice.lisp
(file).
simple.lisp
(file).
environment.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
harmony/harmony.asd
harmony/package.lisp
harmony/toolkit.lisp
harmony/server.lisp
harmony/segment.lisp
harmony/voice.lisp
harmony/simple.lisp
harmony/environment.lisp
harmony/documentation.lisp
harmony/toolkit.lisp
package.lisp
(file).
harmony
(system).
ease-cubic-in
(function).
ease-cubic-in-out
(function).
ease-cubic-out
(function).
ease-linear
(function).
find-symbol*
(function).
lazy-symbol
(macro).
pop*
(macro).
push*
(macro).
removef
(function).
set-process-priority
(function).
set-thread-priority
(function).
harmony/server.lisp
toolkit.lisp
(file).
harmony
(system).
*server*
(special variable).
add
(method).
allocate-buffer
(method).
allocate-unpacker
(method).
call-in-mixing-context
(method).
(setf device)
(method).
device
(method).
dot-server
(function).
end
(method).
free
(method).
free
(method).
free-buffer
(method).
free-unpacker
(method).
initialize-instance
(method).
print-object
(method).
run
(method).
run-task
(method).
segment
(method).
segment
(method).
(setf segment)
(method).
(setf segment)
(method).
(setf segment)
(method).
server
(class).
start
(method).
start
(method).
started-p
(method).
with-server
(macro).
withdraw
(method).
*in-processing-queue*
(special variable).
*in-processing-thread*
(special variable).
buffersize
(reader method).
(setf buffersize)
(writer method).
define-name-alias
(macro).
free-buffers
(reader method).
(setf free-buffers)
(writer method).
free-unpackers
(reader method).
(setf free-unpackers)
(writer method).
paused-p
(reader method).
(setf paused-p)
(writer method).
queue
(reader method).
samplerate
(reader method).
(setf samplerate)
(writer method).
segment-map
(reader method).
thread
(reader method).
(setf thread)
(writer method).
harmony/segment.lisp
server.lisp
(file).
harmony
(system).
add
(method).
add
(method).
buffer
(class).
chain
(reader method).
(setf chain)
(writer method).
connect
(method).
connect
(method).
connect
(method).
connect
(method).
connect
(method).
connect
(method).
disconnect
(method).
disconnect
(method).
disconnect
(method).
(setf done-p)
(method).
downstream
(method).
(setf frame-position)
(method).
from
(reader method).
(setf from)
(writer method).
from-location
(reader method).
(setf from-location)
(writer method).
(setf input-field)
(method).
(setf input-field)
(method).
name
(reader method).
on-end
(reader method).
(setf on-end)
(writer method).
on-frame-change
(reader method).
(setf on-frame-change)
(writer method).
(setf output-field)
(method).
(setf output-field)
(method).
(setf pack)
(method).
print-object
(method).
print-object
(method).
repeat
(reader method).
(setf repeat)
(writer method).
repeat-start
(reader method).
(setf repeat-start)
(writer method).
segment
(class).
source
(class).
to
(reader method).
(setf to)
(writer method).
to-location
(reader method).
(setf to-location)
(writer method).
unpacker
(method).
upstream
(method).
(setf volume)
(method).
volume
(method).
withdraw
(method).
withdraw
(method).
default-source-end
(function).
harmony/voice.lisp
segment.lisp
(file).
harmony
(system).
active-p
(method).
add
(method).
connect
(method).
disconnect
(method).
(setf done-p)
(method).
done-p
(method).
duration
(method).
frame-count
(method).
frame-position
(method).
free
(method).
free
(method).
initialize-instance
(method).
(setf location)
(method).
location
(method).
make-source-for
(generic function).
make-source-for-path-type
(generic function).
(setf max-distance)
(method).
max-distance
(method).
(setf min-distance)
(method).
min-distance
(method).
(setf output)
(method).
output
(method).
outputs
(method).
print-object
(method).
repeat
(method).
(setf repeat)
(method).
(setf rolloff)
(method).
rolloff
(method).
samplerate
(method).
seek
(method).
seek-to-frame
(method).
source
(method).
stop
(method).
track-end
(method).
unpacker
(method).
(setf velocity)
(method).
velocity
(method).
voice
(class).
(setf volume)
(method).
volume
(method).
clear-buffers
(function).
ensure-effect-segment
(function).
frame-change
(method).
mixer
(method).
voice-end
(function).
with-buffer
(macro).
harmony/simple.lisp
voice.lisp
(file).
harmony
(system).
(setf attenuation)
(method).
attenuation
(method).
clear
(method).
clear
(method).
create
(function).
detect-platform-drain
(function).
(setf location)
(method).
location
(method).
make-simple-server
(function).
(setf max-distance)
(method).
max-distance
(method).
maybe-start-simple-server
(function).
(setf min-distance)
(method).
min-distance
(method).
play
(generic function).
(setf rolloff)
(method).
rolloff
(method).
stop
(method).
stop
(method).
stop
(method).
(setf velocity)
(method).
velocity
(method).
voices
(method).
voices
(method).
(setf volume)
(method).
volume
(method).
construct-output
(function).
ensure-segment
(function).
resolve-drain-type
(function).
harmony/environment.lisp
simple.lisp
(file).
harmony
(system).
active-p
(method).
end
(method).
environment
(reader method).
(setf environment)
(writer method).
environment
(class).
free
(method).
initialize-instance
(method).
music-segment
(class).
shared-initialize
(method).
shared-initialize
(method).
state
(reader method).
(setf state)
(method).
track-end
(method).
transition
(generic function).
%sync
(function).
fade-rate
(reader method).
(setf fade-rate)
(writer method).
fading-out-p
(function).
frame-change
(method).
next-index
(reader method).
(setf next-index)
(writer method).
pending-transition
(reader method).
(setf pending-transition)
(writer method).
segment-sets
(reader method).
(setf segment-sets)
(writer method).
segments
(reader method).
(setf segments)
(writer method).
target-fade
(reader method).
(setf target-fade)
(writer method).
transition-fun
(reader method).
(setf transition-fun)
(writer method).
harmony/documentation.lisp
environment.lisp
(file).
harmony
(system).
Packages are listed by definition order.
org.shirakumo.fraf.harmony
common-lisp
.
*server*
(special variable).
active-p
(generic function).
add-to
(function).
allocate-buffer
(generic function).
allocate-unpacker
(generic function).
buffer
(class).
call-in-mixing-context
(generic function).
chain
(generic reader).
(setf chain)
(generic writer).
clear
(generic function).
connect
(generic function).
create
(function).
detect-platform-drain
(function).
disconnect
(generic function).
dot-server
(function).
downstream
(generic function).
environment
(generic reader).
(setf environment)
(generic writer).
environment
(class).
free-buffer
(generic function).
free-unpacker
(generic function).
from
(generic reader).
(setf from)
(generic writer).
from-location
(generic reader).
(setf from-location)
(generic writer).
make-simple-server
(function).
make-source-for
(generic function).
make-source-for-path-type
(generic function).
maybe-start-simple-server
(function).
music-segment
(class).
name
(generic reader).
on-end
(generic reader).
(setf on-end)
(generic writer).
on-frame-change
(generic reader).
(setf on-frame-change)
(generic writer).
play
(generic function).
repeat
(generic function).
(setf repeat)
(generic function).
repeat-start
(generic reader).
(setf repeat-start)
(generic writer).
run
(generic function).
run-task
(generic function).
segment
(generic function).
(setf segment)
(generic function).
segment
(class).
server
(class).
source
(generic function).
source
(class).
started-p
(generic function).
state
(generic reader).
(setf state)
(generic function).
stop
(generic function).
to
(generic reader).
(setf to)
(generic writer).
to-location
(generic reader).
(setf to-location)
(generic writer).
track-end
(generic function).
transition
(generic function).
upstream
(generic function).
voice
(class).
voices
(generic function).
with-server
(macro).
%sync
(function).
*in-processing-queue*
(special variable).
*in-processing-thread*
(special variable).
buffersize
(generic reader).
(setf buffersize)
(generic writer).
clear-buffers
(function).
construct-output
(function).
default-source-end
(function).
define-name-alias
(macro).
ease-cubic-in
(function).
ease-cubic-in-out
(function).
ease-cubic-out
(function).
ease-linear
(function).
ensure-effect-segment
(function).
ensure-segment
(function).
fade-rate
(generic reader).
(setf fade-rate)
(generic writer).
fading-out-p
(function).
find-symbol*
(function).
frame-change
(generic function).
free-buffers
(generic reader).
(setf free-buffers)
(generic writer).
free-unpackers
(generic reader).
(setf free-unpackers)
(generic writer).
lazy-symbol
(macro).
mixer
(generic function).
next-index
(generic reader).
(setf next-index)
(generic writer).
paused-p
(generic reader).
(setf paused-p)
(generic writer).
pending-transition
(generic reader).
(setf pending-transition)
(generic writer).
pop*
(macro).
push*
(macro).
queue
(generic reader).
removef
(function).
resolve-drain-type
(function).
samplerate
(generic reader).
(setf samplerate)
(generic writer).
segment-map
(generic reader).
segment-sets
(generic reader).
(setf segment-sets)
(generic writer).
segments
(generic reader).
(setf segments)
(generic writer).
set-process-priority
(function).
set-thread-priority
(function).
target-fade
(generic reader).
(setf target-fade)
(generic writer).
thread
(generic reader).
(setf thread)
(generic writer).
transition-fun
(generic reader).
(setf transition-fun)
(generic writer).
voice-end
(function).
with-buffer
(macro).
org.shirakumo.fraf.harmony.user
org.shirakumo.fraf.harmony
.
org.shirakumo.fraf.mixed
.
Definitions are sorted by export status, category, package, and then by lexicographic order.
References the currently active SERVER instance, if any.
See SERVER
Shorthand macro to run BODY within the render thread.
See CALL-IN-MIXING-CONTEXT
Convenience function to quickly MIXED:ADD several instances.
See MIXED:ADD
Creates a new voice to handle playback of a source.
CLASS should be a class designator for the voice to be constructed.
MIXER is used to ensure that the created voice has a matching channel
count to what is expected on the mixer.
IF-EXISTS may be
NIL — NIL is returned.
:IGNORE — The existing voice is returned.
:ERROR — An error is signalled.
:RESTART — The voice is seeked to the beginning.
:STOP — The voice is stopped and returned.
:SUPERSEDE
:REPLACE — The existing voice is stopped, removed, and a new
voice created.
This option is only used if a source with the same name already exists
on the server.
Arguments other than NAME, CLASS, MIXER, SERVER, VOLUME, and
IF-EXISTS are passed on as initargs for the construction of the voice
(or whatever is supplied in CLASS).
Returns the constructed and started VOICE.
See PLAY
See VOICE
Returns the class name of the type of drain to use on this platform.
May return NIL if no suitable drains are present, though most likely
will simply return the dummy drain in that case.
This will *not* load any extra code, so it will only be able to try
out drain types that have been loaded in. It’s up to you to load
modules you want to support.
See the cl-mixed extensions for supported systems.
Produces a graphviz file describing the server’s segment layout.
Useful for debugging. If CONVERT is passed, invokes ‘dot‘ on the
produced dotfile to render it to the requested image type.
See SERVER
Convenience function to construct a server.
This function will compose a server with a mixing graph, ready for
use.
DEVICE is a hint passed on to the output drain to select a specific
output device. Usually a string of some kind, though the semantics are
drain-dependent.
LATENCY (in seconds) is used to compute the standard buffer
size. Setting this to 0.02 or so should be safe.
OUTPUT-CHANNELS is the number of channels of the internal mixing
hierarchy. Note that the drain may still perform conversion to upmix
or downmix regardless of this setting.
EFFECTS is a list of effects specs:
EFFECT ::= class-designator | (class-name initarg*)
Each of the effects is applied in the same order as described and
applies to the audio stream right before output to the drain. Harmony
will automatically take care of matching up channel counts and
duplicating effects in BUNDLEs if necessary to upmix.
MIXERS is a list of mixer specs describing the mixers that are
available on the server. All of the mixers are ultimately combined
into one stream before output. The mixer specs are as follows:
MIXER ::= name | (name class-designator [:effects (EFFECT*)] initarg*)
Effects here are as described above, applied to the output buffers of
the mixer.
Aside from the specified mixers, the server will always have a mixer
named :MASTER. It will also always have two named chains, :OUTPUT and
:SOURCES.
Returns the constructed SERVER.
See SERVER
Constructs and starts a simple server if needed.
If *SERVER* is unbound, constructs a new one, using the passed
initargs and MAKE-SIMPLE-SERVER.
If *SERVER* is stopped, starts it.
See MAKE-SIMPLE-SERVER
See MIXED:START
Returns T if the environment is playing back a source set.
See ENVIRONMENT
environment
)) ¶Retrieves an unused buffer or allocates a new one if necessary.
Note: you MUST call FREE-BUFFER on the returned buffer once it is no
longer used, or you will leak memory.
See SERVER
See FREE-BUFFER
See MIXED:BUFFER
Retrieves an unused unpacker or allocates a new one if necessary.
Note: you MUST call FREE-UNPACKER on the returned instance once it is
no longer used, or you will leak memory.
See SERVER
See FREE-UNPACKER
See MIXED:UNPACKER
Schedules FUNCTION to be called within SERVER’s render thread.
If SYNCHRONIZE is T, this function will not return until the FUNCTION
has executed. In this case, the FUNCTION’s return values will be
returned from this function. If SYNCHRONIZE is T and TIMEOUT is given,
the call will only block until at most TIMEOUT has passed, after which
NIL is returned.
If this function is called within the processing of the task queue,
the FUNCTION may be called immediately and synchronously.
If the server’s task queue is full (which indicates the server has
shut down and is no longer processing), a WARNING is signalled, with
two restarts active: ABORT, to abort trying to execute FUNCTION, and
CONTINUE, to yield and continue trying to schedule. If the signal is
not handled, the function is not executed.
See SERVER
See RUN-TASK
Accesses the chain of the segment.
See SEGMENT
See MIXED:CHAIN
Removes and frees all sources from the server.
See VOICES
See *SERVER*
Connects one segment to another.
FROM/TO-LOC may also be T, in which case all available ports are
connected.
May allocate buffers on the current *SERVER* to facilitate the
connection.
See SEGMENT
Disconnects a segment’s port.
DIRECTION designates whether an output or an input port is
disconnected. After the port has been disconnected, the associated
buffer is freed in the *SERVER*.
See SEGMENT
Returns the segment connected downstream from this one on the specified port index.
See SEGMENT
music-segment
)) ¶automatically generated reader method
music-segment
)) ¶automatically generated writer method
Returns the buffer to the pool of free buffers, ready to be re-used.
Note that the memory held by the buffer is not freed until the server
itself is fully freed.
See SERVER
See ALLOCATE-BUFFER
Returns the instance to the pool of free unpackers, ready to be re-used.
Note that the memory held by the unpacker is not freed until the server
itself is fully freed.
See SERVER
See ALLOCATE-UNPACKER
Accesses the source segment of the buffer.
See BUFFER
Accesses the index on the source segment to which the buffer is attached.
See BUFFER
Creates a source segment for the given source type and initargs.
May be extended with further methods, but supports the following types
by default:
PATHNAME
The pathname is converted to a source via MAKE-SOURCE-FOR-PATH-TYPE
by using the pathname-type as a keyword for the type.
SOURCE
The source is used directly.
See MAKE-SOURCE-FOR-PATH-TYPE
pathname
) &rest initargs) ¶Attempts to construct a source that can handle the given type of file.
Note that this *may* load new code if quicklisp is available. However,
it is *heavily* recommended that you instead load all systems that you
require to decode source types yourself ahead of time to avoid bad
surprises on deployed systems or lag spikes during runtime.
See the cl-mixed extensions for supported formats.
Returns the name of the segment.
See SEGMENT
Accesses the function to be called when the source reaches its end.
The function should take one argument, the SOURCE.
See SOURCE
Accesses the function to be called when the source’s frame position changed.
The function should take two arguments, the SOURCE, and the new frame position.
See SOURCE
Plays a source back.
SOURCE may be a source segment, file, or other descriptor for an audio
source that can be coerced into a VOICE.
MIXER designates the mixer to which the resulting voice is attached to
be played back.
LOCATION and VELOCITY may be location and velocity specs to be used
with a spatial mixer.
IF-EXISTS may be
NIL — NIL is returned.
:IGNORE — The existing voice is returned.
:ERROR — An error is signalled.
:RESTART — The voice is seeked to the beginning.
:STOP — The voice is stopped and returned.
:SUPERSEDE
:REPLACE — The existing voice is stopped, removed, and a new
voice created.
This option is only used if a source with the same name already
exists on the server. Further, only :IGNORE and NIL are used if SOURCE
is a VOICE or name for a segment.
If RESET is non-NIL, the voice is seeked to the first sample.
If a new voice has to be created, it is done via CREATE, passing along
the matching arguments.
Returns the VOICE representing the SOURCE if SOURCE is a
voice-descriptor or segment of type SOURCE. If it is another kind of
segment, the segment is returned instead.
See VOICE
See WITH-SERVER
See CREATE
Accesses the repeat count for the source.
May be an integer, NIL (0), or T (infinity).
See SOURCE
Accesses the start timestamp to which the source should be seeked on a repeat.
See SOURCE
Function called within the server’s render thread.
This function should control the rendering of the audio server. To do
so, it must repeatedly call MIXDE:MIX on the server and process any
tasks that may appear on the server’s processing queue.
When this function returns, the server’s segment must shut down and
the server must enter the stopped state.
See SERVER
Function called around tasks that are executed in the server’s render thread.
The TASK must be funcallable.
See SERVER
See CALL-IN-MIXING-CONTEXT
Accesses the segment with the given name.
The index is managed via EQUAL, so both strings, symbols, etc. may be
used to name segments.
If T is used as the store, the current *SERVER* instance is used.
May also be used to search through MIXED:CHAINs.
See SERVER
See MIXED:CHAIN
See MIXED:SEGMENT
Returns the SOURCE segment of the voice.
See VOICE
Returns T if the server is currently alive and running.
Note that a freed server will always be stopped, but a stopped server
has not necessarily been freed.
See SERVER
Accesses the current state of the environment
Must be either the name of a source set available to the environment,
or NIL.
See ENVIRONMENT
environment
)) ¶automatically generated reader method
environment
)) ¶Stops the voice.
This disconnects it from the server, removes it from processing, and
clears all buffers, ensuring no leftover playback samples.
See VOICE
Accesses the drain segment of the buffer.
See BUFFER
Accesses the index on the drain segment to which the buffer is attached.
See BUFFER
Function called when voice ends.
See VOICE
music-segment
) source) ¶Transitions an environment or segment to another state.
May be used to transition an environment to a new STATE, transition
from one music-segment to another, or transition a music-segment’s
volume to a new level.
In any case, takes :IN to denote the duration of the transition in seconds and may take :SYNC to denote whether the playheads of two music-segments should be synchronised to match before transitioning.
See ENVIRONMENT
See MUSIC-SEGMENT
music-segment
) (to music-segment
) &key in volume sync) ¶music-segment
) (to real
) &key in reset) ¶music-segment
) (environment environment
) &key sync in) ¶environment
) (state symbol
) &key in error) ¶environment
) (to real
) &key in) ¶Returns the segment connected upstream from this one on the specified port index.
See SEGMENT
Returns a fresh list of active voices playing back on the server.
If T is passed, the current *SERVER* is used.
See *SERVER*
environment
)) ¶org.shirakumo.fraf.mixed
.
environment
)) ¶org.shirakumo.fraf.mixed
.
music-segment
) &rest args) ¶voice
) &rest args &key source effects channels on-end &allow-other-keys) ¶(eql :pack)
) (location integer
) (segment segment
)) ¶org.shirakumo.fraf.mixed
.
(eql :buffer)
) (location integer
) (segment segment
)) ¶org.shirakumo.fraf.mixed
.
(eql :pack)
) (location integer
) (segment segment
)) ¶org.shirakumo.fraf.mixed
.
(eql :buffer)
) (location integer
) (segment segment
)) ¶org.shirakumo.fraf.mixed
.
segment
) (chain chain
)) ¶org.shirakumo.fraf.mixed
.
segment
) (server server
)) ¶org.shirakumo.fraf.mixed
.
Superclass for MIXED:BIP-BUFFER.
Keeps track of connected segments.
See FROM
See FROM-LOCATION
See TO
See TO-LOCATION
See MIXED:BIP-BUFFER
Encapsulates a playback environment.
An environment is used for horizontal mixing and contains a set of
track lists. The environment controls playback of the segments within
the track lists by ensuring that play heads are synchronised when
switching and allowing smooth transitioning between segments.
When initialising an environment, you may pass a :SETS argument, which
should be a list of the following structure:
SETS ::= (SET*)
SET ::= (name SOURCE*)
SOURCE ::= input | (input INITARGS*)
Where input and initargs are sutable for use with CREATE. The name
given names the state in which the environment must be for the
associated list of sources to be played back. The class used to create
is a MUSIC-SEGMENT.
The environment will continuously loop the current list of tracks
smoothly until it transitions to another state.
See STATE
See ACTIVE-P
See TRANSITION
See MUSIC-SEGMENT
Subclass of VOICE that allows smooth transitions.
When initialised, takes the following initargs:
:TRANSITION-POINTS
A sequence of sample points at which a transition is considered to
be favourable. If transition points are defined, the transition
will be delayed until a transition point is hit. Otherwise, the
transition will happen immediately.
:TRANSITION-INTERVAL
:TRANSITION-OFFSET
Combined with :TRANSITION-OFFSET, defines the set of sample points
where a transition is favourable. You may use this instead of
:TRANSITION-POINTS if the points are always equidistant.
Meaning, if (SAMPLE - TRANSITION-OFFSET % TRANSITION-INTERVAL) = 0
a transition point is generated.
:TRANSITION-FUN
Instead of the above methods, you may also specify a manual
function of two arguments, OLD and NEW sample indices, and returns
a boolean indicating whether a transition may occur between OLD
and NEW.
See TRANSITION
See ENVIRONMENT
See VOICE
0.0
0.0
(constantly t)
:transition-fun
:environment
Superclass for MIXED:SEGMENT
Keeps track of an extra name and the chain on which the segment is
being played back.
See NAME
See CHAIN
See CONNECT
See DISCONNECT
See DOWNSTREAM
See UPSTREAM
See MIXED:SEGMENT
Class encapsulating a audio rendering server.
An audio server keeps track of buffers allocations, chains, segments,
synchronisation, coordination of samplerate, and manages rendering in
a background thread.
When initialized, sets *SERVER*.
See ALLOCATE-BUFFER
See ALLOCATE-UNPACKER
See FREE-BUFFER
See FREE-UNPACKER
See SEGMENT
See STARTED-P
See RUN-TASK
See RUN
See CALL-IN-MIXING-CONTEXT
See WITH-SERVER
See DOT-SERVER
See MIXED:START
See MIXED:END
See MIXED:CHAIN
chain
.
add
.
allocate-buffer
.
allocate-unpacker
.
(setf attenuation)
.
attenuation
.
(setf buffersize)
.
buffersize
.
call-in-mixing-context
.
clear
.
(setf device)
.
device
.
end
.
free
.
free
.
free-buffer
.
(setf free-buffers)
.
free-buffers
.
free-unpacker
.
(setf free-unpackers)
.
free-unpackers
.
initialize-instance
.
(setf location)
.
location
.
(setf max-distance)
.
max-distance
.
(setf min-distance)
.
min-distance
.
(setf paused-p)
.
paused-p
.
print-object
.
queue
.
(setf rolloff)
.
rolloff
.
run
.
run-task
.
(setf samplerate)
.
samplerate
.
(setf segment)
.
(setf segment)
.
segment
.
segment-map
.
start
.
start
.
started-p
.
stop
.
(setf thread)
.
thread
.
(setf velocity)
.
velocity
.
voices
.
(setf volume)
.
volume
.
withdraw
.
(make-hash-table :test (quote equal))
This slot is read-only.
48000
:samplerate
:buffersize
"harmony"
Superclass for MIXED:SOURCE
Includes extra information to allow for looping and handling of input
termination.
When initialised, takes the following initargs:
:REPEAT
How many times to repeat the source’s output. On each repeat, the
source is seeked to the :REPEAT-START. Instead of an integer, may
also be NIL for no repeats (default), or T for endless repeats.
:REPEAT-START
The second (!) timestamp to which the source should be seeked
once its end is reached. Defaults to 0.0
:ON-END
A function to be called once the source reaches its end. An end
here means that the source has completed all repeats that were
scheduled and has now run out of samples to output back. By
default the source is disconnected from its outputs.
:ON-FRAME-CHANGE
A function to be called when the source’s frame position is
changed. By default does nothing.
See MIXED:SOURCE
See SEGMENT
See REPEAT
See REPEAT-START
See ON-END
See ON-FRAME-CHANGE
source
.
0
:repeat
0
:repeat-start
(constantly nil)
:on-end
(constantly nil)
:on-frame-change
Representation of a source, unpacker, and effects chain in one.
Accepts the following additional initargs on construction:
:SOURCE
Used to construct the source that’s played back with this
voice. See MAKE-SOURCE-FOR
:EFFECTS
Designates a list of effects to be applied to the output of the
source. See MAKE-SIMPLE-SERVER for a description of the syntax.
:CHANNELS
The number of output channels. Used to downmix or upmix the source
to match with the required output.
:ON-END
This option is available to all SOURCEs, but has additionally
recognised options for VOICES:
:FREE
FREE is called on the voice.
:DISCONNECT
The voice is disconnected, unhooked from the server, and
the source seeked to the beginning.
:CALL-TRACK-END
TRACK-END is called on the voice and source.
You may still pass a function, which will receive the VOICE as
argument.
Note that the voice can be directly manipulated "as expected"
through most CL-MIXED functions. Wrapper methods exist that will defer
to the appropriate parts of the voice. Control of specific effects
still requires retrieving the effects instances (through SEGMENT) and
manually setting their parameters. However, even parameters on the
connected mixer, such as MAX-DISTANCE, may be set directly on the
voice for convenience.
See SEGMENT
See SOURCE
See TRACK-END
See MAKE-SOURCE-FOR
See MAKE-SOURCE-FOR-PATH-TYPE
See SOURCE
See STOP
See MAKE-SIMPLE-SERVER
See MIXER
See CONNECT
See DISCONNECT
See REPEAT
See ACTIVE-P
See MIXED:FREE
See MIXED:ADD
See MIXED:OUTPUTS
See MIXED:OUTPUT
See MIXED:DONE-P
See MIXED:MIN-DISTANCE
See MIXED:MAX-DISTANCE
See MIXED:ROLLOFF
See MIXED:LOCATION
See MIXED:VELOCITY
See MIXED:SEEK-TO-FRAME
See MIXED:SEEK
See MIXED:FRAME-POSITION
See MIXED:SAMPLERATE
chain
.
active-p
.
add
.
connect
.
disconnect
.
(setf done-p)
.
done-p
.
duration
.
frame-change
.
frame-count
.
frame-position
.
free
.
free
.
initialize-instance
.
(setf location)
.
location
.
(setf max-distance)
.
max-distance
.
(setf min-distance)
.
min-distance
.
mixer
.
(setf output)
.
output
.
outputs
.
print-object
.
(setf repeat)
.
repeat
.
(setf rolloff)
.
rolloff
.
samplerate
.
seek
.
seek-to-frame
.
source
.
stop
.
track-end
.
unpacker
.
(setf velocity)
.
velocity
.
(setf volume)
.
volume
.
music-segment
)) ¶automatically generated reader method
music-segment
)) ¶automatically generated writer method
music-segment
) old new) ¶environment
)) ¶automatically generated reader method
environment
)) ¶automatically generated writer method
music-segment
)) ¶automatically generated reader method
music-segment
)) ¶automatically generated writer method
environment
)) ¶automatically generated reader method
environment
)) ¶automatically generated writer method
environment
)) ¶automatically generated reader method
environment
)) ¶automatically generated writer method
music-segment
)) ¶automatically generated reader method
music-segment
)) ¶automatically generated writer method
music-segment
)) ¶automatically generated reader method
music-segment
)) ¶automatically generated writer method
Jump to: | %
(
A B C D E F G I L M N O P Q R S T U V W |
---|
Jump to: | %
(
A B C D E F G I L M N O P Q R S T U V W |
---|
Jump to: | *
B C E F N O P Q R S T |
---|
Jump to: | *
B C E F N O P Q R S T |
---|
Jump to: | B C D E F H M O P S T V |
---|
Jump to: | B C D E F H M O P S T V |
---|