The harmony Reference Manual

This is the harmony Reference Manual, version 2.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:39:14 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 harmony

A common lisp sound server and sound processing library.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shirakumo.github.io/harmony/

Source Control

(GIT https://github.com/Shirakumo/harmony.git)

Bug Tracker

https://github.com/Shirakumo/harmony/issues

License

zlib

Version

2.0.0

Defsystem Dependency

trivial-features (system).

Dependencies
  • 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
Source

harmony.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 harmony/harmony.asd

Source

harmony.asd.

Parent Component

harmony (system).

ASDF Systems

harmony.


3.1.2 harmony/package.lisp

Source

harmony.asd.

Parent Component

harmony (system).

Packages

3.1.3 harmony/toolkit.lisp

Dependency

package.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).

Public Interface
Internals

3.1.4 harmony/server.lisp

Dependency

toolkit.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).

Public Interface
Internals

3.1.5 harmony/segment.lisp

Dependency

server.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).

Public Interface
Internals

default-source-end (function).


3.1.6 harmony/voice.lisp

Dependency

segment.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).

Public Interface
Internals

3.1.7 harmony/simple.lisp

Dependency

voice.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).

Public Interface
Internals

3.1.8 harmony/environment.lisp

Dependency

simple.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).

Public Interface
Internals

3.1.9 harmony/documentation.lisp

Dependency

environment.lisp (file).

Source

harmony.asd.

Parent Component

harmony (system).


4 Packages

Packages are listed by definition order.


4.1 org.shirakumo.fraf.harmony

Source

package.lisp.

Use List

common-lisp.

Used By List

org.shirakumo.fraf.harmony.user.

Public Interface
Internals

4.2 org.shirakumo.fraf.harmony.user

Source

package.lisp.

Use List

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *server*

References the currently active SERVER instance, if any.

See SERVER

Package

org.shirakumo.fraf.harmony.

Source

server.lisp.


5.1.2 Macros

Macro: with-server ((&optional server &rest args &key synchronize timeout) &body body)

Shorthand macro to run BODY within the render thread.

See CALL-IN-MIXING-CONTEXT

Package

org.shirakumo.fraf.harmony.

Source

server.lisp.


5.1.3 Ordinary functions

Function: add-to (target &rest parts)

Convenience function to quickly MIXED:ADD several instances.

See MIXED:ADD

Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: create (source &rest args &key name class mixer server on-end volume if-exists &allow-other-keys)

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

Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Function: detect-platform-drain ()

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.

Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Function: dot-server (&key server file convert)

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

Package

org.shirakumo.fraf.harmony.

Source

server.lisp.

Function: make-simple-server (&key name samplerate drain device latency output-channels effects mixers)

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

Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Function: maybe-start-simple-server (&rest initargs)

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

Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.


5.1.4 Generic functions

Generic Function: active-p (voice)

Returns T if the environment is playing back a source set.

See ENVIRONMENT

Package

org.shirakumo.fraf.harmony.

Methods
Method: active-p ((environment environment))
Source

environment.lisp.

Method: active-p ((voice voice))
Source

voice.lisp.

Generic Function: allocate-buffer (server)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: allocate-buffer ((server server))
Source

server.lisp.

Generic Function: allocate-unpacker (server)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: allocate-unpacker ((server server))
Source

server.lisp.

Generic Function: call-in-mixing-context (function server &key synchronize timeout)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: call-in-mixing-context ((function function) (server server) &key synchronize timeout)
Source

server.lisp.

Generic Reader: chain (object)

Accesses the chain of the segment.

See SEGMENT
See MIXED:CHAIN

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: chain ((segment segment))

automatically generated reader method

Source

segment.lisp.

Target Slot

chain.

Generic Writer: (setf chain) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf chain) ((segment segment))

automatically generated writer method

Source

segment.lisp.

Target Slot

chain.

Generic Function: clear (server)

Removes and frees all sources from the server.

See VOICES
See *SERVER*

Package

org.shirakumo.fraf.harmony.

Methods
Method: clear ((server server))
Source

simple.lisp.

Method: clear ((server (eql t)))
Source

simple.lisp.

Generic Function: connect (from from-loc to to-loc)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: connect ((from voice) from-loc to to-loc)
Source

voice.lisp.

Method: connect ((from source) from-loc (to segment) to-loc)
Source

segment.lisp.

Method: connect ((from segment) (all (eql t)) (to plane-mixer) (_all (eql t)))
Source

segment.lisp.

Method: connect ((from segment) (all (eql t)) (to space-mixer) (_all (eql t)))
Source

segment.lisp.

Method: connect ((from segment) (all (eql t)) (to basic-mixer) (_all (eql t)))
Source

segment.lisp.

Method: connect ((from segment) (all (eql t)) (to segment) (_all (eql t)))
Source

segment.lisp.

Method: connect ((from segment) from-loc (to segment) to-loc)
Source

segment.lisp.

Generic Function: disconnect (from from-loc &key direction)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: disconnect ((from voice) from-loc &key direction)
Source

voice.lisp.

Method: disconnect ((from source) from-loc &key direction)
Source

segment.lisp.

Method: disconnect ((from segment) (all (eql t)) &key direction)
Source

segment.lisp.

Method: disconnect ((from segment) from-loc &key direction)
Source

segment.lisp.

Generic Function: downstream (segment index)

Returns the segment connected downstream from this one on the specified port index.

See SEGMENT

Package

org.shirakumo.fraf.harmony.

Methods
Method: downstream ((segment segment) index)
Source

segment.lisp.

Generic Reader: environment (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: environment ((music-segment music-segment))

automatically generated reader method

Source

environment.lisp.

Target Slot

environment.

Generic Writer: (setf environment) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf environment) ((music-segment music-segment))

automatically generated writer method

Source

environment.lisp.

Target Slot

environment.

Generic Function: free-buffer (buffer server)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: free-buffer (buffer (server server))
Source

server.lisp.

Generic Function: free-unpacker (unpacker server)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: free-unpacker (unpacker (server server))
Source

server.lisp.

Generic Reader: from (object)

Accesses the source segment of the buffer.

See BUFFER

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: from ((buffer buffer))

automatically generated reader method

Source

segment.lisp.

Target Slot

from.

Generic Writer: (setf from) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf from) ((buffer buffer))

automatically generated writer method

Source

segment.lisp.

Target Slot

from.

Generic Reader: from-location (object)

Accesses the index on the source segment to which the buffer is attached.

See BUFFER

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: from-location ((buffer buffer))

automatically generated reader method

Source

segment.lisp.

Target Slot

from-location.

Generic Writer: (setf from-location) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf from-location) ((buffer buffer))

automatically generated writer method

Source

segment.lisp.

Target Slot

from-location.

Generic Function: make-source-for (source &rest initargs &key on-end)

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

Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.

Methods
Method: make-source-for ((source pathname) &rest initargs)
Method: make-source-for ((source source) &rest initargs &key on-end)
Generic Function: make-source-for-path-type (pathname type &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.

Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.

Methods
Method: make-source-for-path-type (source type &rest initargs)
Generic Reader: name (object)

Returns the name of the segment.

See SEGMENT

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: name ((segment segment))

automatically generated reader method

Source

segment.lisp.

Target Slot

name.

Generic Reader: on-end (object)

Accesses the function to be called when the source reaches its end.

The function should take one argument, the SOURCE.

See SOURCE

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: on-end ((source source))

automatically generated reader method

Source

segment.lisp.

Target Slot

on-end.

Generic Writer: (setf on-end) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf on-end) ((source source))

automatically generated writer method

Source

segment.lisp.

Target Slot

on-end.

Generic Reader: on-frame-change (object)

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

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: on-frame-change ((source source))

automatically generated reader method

Source

segment.lisp.

Target Slot

on-frame-change.

Generic Writer: (setf on-frame-change) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf on-frame-change) ((source source))

automatically generated writer method

Source

segment.lisp.

Target Slot

on-frame-change.

Generic Function: play (source &key name class mixer effects server repeat repeat-start on-end location velocity volume if-exists synchronize reset)

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

Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Methods
Method: play (source &key name class mixer effects server repeat repeat-start on-end location velocity volume if-exists synchronize reset)
Generic Function: repeat (object)

Accesses the repeat count for the source.

May be an integer, NIL (0), or T (infinity).

See SOURCE

Package

org.shirakumo.fraf.harmony.

Methods
Method: repeat ((voice voice))
Source

voice.lisp.

Reader Method: repeat ((source source))

automatically generated reader method

Source

segment.lisp.

Target Slot

repeat.

Generic Function: (setf repeat) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Method: (setf repeat) ((voice voice))
Source

voice.lisp.

Writer Method: (setf repeat) ((source source))

automatically generated writer method

Source

segment.lisp.

Target Slot

repeat.

Generic Reader: repeat-start (object)

Accesses the start timestamp to which the source should be seeked on a repeat.

See SOURCE

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: repeat-start ((source source))

automatically generated reader method

Source

segment.lisp.

Target Slot

repeat-start.

Generic Writer: (setf repeat-start) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf repeat-start) ((source source))

automatically generated writer method

Source

segment.lisp.

Target Slot

repeat-start.

Generic Function: run (server)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: run ((server server))
Source

server.lisp.

Generic Function: run-task (server task)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: run-task ((server server) task)
Source

server.lisp.

Generic Function: segment (idx chain &optional errorp)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: segment (name (server server) &optional errorp)
Source

server.lisp.

Method: segment (name (server (eql t)) &optional errorp)
Source

server.lisp.

Method: segment (name (chain chain) &optional errorp)
Source

toolkit.lisp.

Method: segment ((idx integer) (chain chain) &optional errorp)
Source

toolkit.lisp.

Generic Function: (setf segment) (name server)
Package

org.shirakumo.fraf.harmony.

Methods
Method: (setf segment) (name (server server))
Source

server.lisp.

Method: (setf segment) (name (server server))
Source

server.lisp.

Method: (setf segment) (name (server (eql t)))
Source

server.lisp.

Generic Function: source (voice)

Returns the SOURCE segment of the voice.

See VOICE

Package

org.shirakumo.fraf.harmony.

Methods
Method: source ((voice voice))
Source

voice.lisp.

Generic Function: started-p (server)

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

Package

org.shirakumo.fraf.harmony.

Methods
Method: started-p ((server server))
Source

server.lisp.

Generic Reader: state (object)

Accesses the current state of the environment

Must be either the name of a source set available to the environment, or NIL.

See ENVIRONMENT

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: state ((environment environment))

automatically generated reader method

Source

environment.lisp.

Target Slot

state.

Generic Function: (setf state) (environment)
Package

org.shirakumo.fraf.harmony.

Methods
Method: (setf state) ((environment environment))
Source

environment.lisp.

Generic Function: stop (voice)

Stops the voice.

This disconnects it from the server, removes it from processing, and clears all buffers, ensuring no leftover playback samples.

See VOICE

Package

org.shirakumo.fraf.harmony.

Methods
Method: stop ((segment segment))
Source

simple.lisp.

Method: stop ((server server))
Source

simple.lisp.

Method: stop (name)
Source

simple.lisp.

Method: stop ((voice voice))
Source

voice.lisp.

Generic Reader: to (object)

Accesses the drain segment of the buffer.

See BUFFER

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: to ((buffer buffer))

automatically generated reader method

Source

segment.lisp.

Target Slot

to.

Generic Writer: (setf to) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf to) ((buffer buffer))

automatically generated writer method

Source

segment.lisp.

Target Slot

to.

Generic Reader: to-location (object)

Accesses the index on the drain segment to which the buffer is attached.

See BUFFER

Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: to-location ((buffer buffer))

automatically generated reader method

Source

segment.lisp.

Target Slot

to-location.

Generic Writer: (setf to-location) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf to-location) ((buffer buffer))

automatically generated writer method

Source

segment.lisp.

Target Slot

to-location.

Generic Function: track-end (voice source)

Function called when voice ends.

See VOICE

Package

org.shirakumo.fraf.harmony.

Methods
Method: track-end ((segment music-segment) source)
Source

environment.lisp.

Method: track-end ((voice voice) source)
Source

voice.lisp.

Generic Function: transition (thing to &key in volume sync reset error)

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

Package

org.shirakumo.fraf.harmony.

Source

environment.lisp.

Methods
Method: transition ((from music-segment) (to music-segment) &key in volume sync)
Method: transition ((segment music-segment) (to real) &key in reset)
Method: transition ((segment music-segment) (environment environment) &key sync in)
Method: transition ((environment environment) (state symbol) &key in error)
Method: transition ((environment environment) (to real) &key in)
Generic Function: upstream (segment index)

Returns the segment connected upstream from this one on the specified port index.

See SEGMENT

Package

org.shirakumo.fraf.harmony.

Methods
Method: upstream ((segment segment) index)
Source

segment.lisp.

Generic Function: voices (server)

Returns a fresh list of active voices playing back on the server.

If T is passed, the current *SERVER* is used.

See *SERVER*

Package

org.shirakumo.fraf.harmony.

Methods
Method: voices ((server server))
Source

simple.lisp.

Method: voices ((server (eql t)))
Source

simple.lisp.


5.1.5 Standalone methods

Method: add :before ((segment segment) (voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: add :after ((segment segment) (chain chain))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: add :before ((segment segment) (chain chain))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: add :after ((segment segment) (server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: (setf attenuation) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: attenuation ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: (setf device) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: device ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: (setf done-p) :around ((source source))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: (setf done-p) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: done-p ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: duration ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: end ((environment environment))
Package

org.shirakumo.fraf.mixed.

Source

environment.lisp.

Method: end ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: frame-count ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf frame-position) :before ((source source))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: frame-position ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: free :after ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: free :before ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: free ((environment environment))
Package

org.shirakumo.fraf.mixed.

Source

environment.lisp.

Method: free :after ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: free :before ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: initialize-instance :around ((segment music-segment) &rest args)
Source

environment.lisp.

Method: initialize-instance :after ((voice voice) &rest args &key source effects channels on-end &allow-other-keys)
Source

voice.lisp.

Method: initialize-instance :after ((server server) &key queue-size)
Source

server.lisp.

Method: (setf input-field) :after ((field (eql :pack)) (location integer) (segment segment))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: (setf input-field) :after ((field (eql :buffer)) (location integer) (segment segment))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: (setf location) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: location ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf location) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: location ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: (setf max-distance) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: max-distance ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf max-distance) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: max-distance ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: (setf min-distance) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: min-distance ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf min-distance) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: min-distance ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: (setf output) (location (from voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: output (location (from voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf output-field) :after ((field (eql :pack)) (location integer) (segment segment))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: (setf output-field) :after ((field (eql :buffer)) (location integer) (segment segment))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: outputs ((from voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf pack) :after ((segment segment))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: print-object ((buffer buffer) stream)
Source

segment.lisp.

Method: print-object ((voice voice) stream)
Source

voice.lisp.

Method: print-object ((segment segment) stream)
Source

segment.lisp.

Method: print-object ((server server) stream)
Source

server.lisp.

Method: (setf rolloff) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: rolloff ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf rolloff) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: rolloff ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: samplerate ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: seek ((voice voice) position &rest args)
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: seek-to-frame ((voice voice) frame)
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: shared-initialize :after ((segment music-segment) slots &key transition-points transition-interval transition-offset)
Source

environment.lisp.

Method: shared-initialize :after ((environment environment) slots &key sets)
Source

environment.lisp.

Method: start ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: start :before ((server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.

Method: unpacker ((source source))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: unpacker ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf velocity) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: velocity ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf velocity) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: velocity ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: (setf volume) ((source source))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: volume ((source source))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: (setf volume) ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: volume ((voice voice))
Package

org.shirakumo.fraf.mixed.

Source

voice.lisp.

Method: (setf volume) ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: volume ((server server))
Package

org.shirakumo.fraf.mixed.

Source

simple.lisp.

Method: withdraw ((segment segment) (chain (eql t)))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: withdraw :after ((segment segment) (chain chain))
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Method: withdraw :after ((segment segment) (server server))
Package

org.shirakumo.fraf.mixed.

Source

server.lisp.


5.1.6 Classes

Class: buffer

Superclass for MIXED:BIP-BUFFER.

Keeps track of connected segments.

See FROM
See FROM-LOCATION
See TO
See TO-LOCATION
See MIXED:BIP-BUFFER

Package

org.shirakumo.fraf.harmony.

Source

segment.lisp.

Direct subclasses

bip-buffer.

Direct methods
Direct slots
Slot: from
Readers

from.

Writers

(setf from).

Slot: from-location
Readers

from-location.

Writers

(setf from-location).

Slot: to
Readers

to.

Writers

(setf to).

Slot: to-location
Readers

to-location.

Writers

(setf to-location).

Class: environment

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

Package

org.shirakumo.fraf.harmony.

Source

environment.lisp.

Direct methods
Direct slots
Slot: segments
Initform

#()

Readers

segments.

Writers

(setf segments).

Slot: segment-sets
Initform

(make-hash-table :test (quote eql))

Readers

segment-sets.

Writers

(setf segment-sets).

Slot: next-index
Initform

0

Readers

next-index.

Writers

(setf next-index).

Slot: state
Readers

state.

Writers

This slot is read-only.

Class: 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

Package

org.shirakumo.fraf.harmony.

Source

environment.lisp.

Direct superclasses

voice.

Direct methods
Direct slots
Slot: fade-rate
Initform

0.0

Readers

fade-rate.

Writers

(setf fade-rate).

Slot: target-fade
Initform

0.0

Readers

target-fade.

Writers

(setf target-fade).

Slot: pending-transition
Readers

pending-transition.

Writers

(setf pending-transition).

Slot: transition-fun
Initform

(constantly t)

Initargs

:transition-fun

Readers

transition-fun.

Writers

(setf transition-fun).

Slot: environment
Initargs

:environment

Readers

environment.

Writers

(setf environment).

Class: segment

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

Package

org.shirakumo.fraf.harmony.

Source

segment.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: chain
Readers

chain.

Writers

(setf chain).

Class: server

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

Package

org.shirakumo.fraf.harmony.

Source

server.lisp.

Direct superclasses

chain.

Direct methods
Direct slots
Slot: segment-map
Initform

(make-hash-table :test (quote equal))

Readers

segment-map.

Writers

This slot is read-only.

Slot: free-buffers
Readers

free-buffers.

Writers

(setf free-buffers).

Slot: free-unpackers
Readers

free-unpackers.

Writers

(setf free-unpackers).

Slot: thread
Readers

thread.

Writers

(setf thread).

Slot: queue
Readers

queue.

Writers

This slot is read-only.

Slot: samplerate
Initform

48000

Initargs

:samplerate

Readers

samplerate.

Writers

(setf samplerate).

Slot: buffersize
Initargs

:buffersize

Readers

buffersize.

Writers

(setf buffersize).

Slot: name
Initform

"harmony"

Slot: paused
Readers

paused-p.

Writers

(setf paused-p).

Class: source

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

Package

org.shirakumo.fraf.harmony.

Source

segment.lisp.

Direct superclasses

segment.

Direct subclasses

source.

Direct methods
Direct slots
Slot: repeat
Initform

0

Initargs

:repeat

Readers

repeat.

Writers

(setf repeat).

Slot: repeat-start
Initform

0

Initargs

:repeat-start

Readers

repeat-start.

Writers

(setf repeat-start).

Slot: on-end
Initform

(constantly nil)

Initargs

:on-end

Readers

on-end.

Writers

(setf on-end).

Slot: on-frame-change
Initform

(constantly nil)

Initargs

:on-frame-change

Readers

on-frame-change.

Writers

(setf on-frame-change).

Class: voice

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

Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.

Direct superclasses

chain.

Direct subclasses

music-segment.

Direct methods

5.2 Internals


5.2.1 Special variables

Special Variable: *in-processing-queue*
Package

org.shirakumo.fraf.harmony.

Source

server.lisp.

Special Variable: *in-processing-thread*
Package

org.shirakumo.fraf.harmony.

Source

server.lisp.


5.2.2 Macros

Macro: lazy-symbol (package name)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Macro: pop* (place)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Macro: push* (value place)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Macro: with-buffer ((buffer voice) &body body)
Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.


5.2.3 Ordinary functions

Function: %sync (thing with)
Package

org.shirakumo.fraf.harmony.

Source

environment.lisp.

Function: clear-buffers (thing)
Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.

Function: construct-output (&key drain source-channels target-channels server program-name device)
Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Function: default-source-end (source)
Package

org.shirakumo.fraf.harmony.

Source

segment.lisp.

Function: ease-cubic-in (x)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: ease-cubic-in-out (x)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: ease-cubic-out (x)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: ease-linear (x)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: ensure-effect-segment (segment-ish channels)
Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.

Function: ensure-segment (segment-ish &optional server)
Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Function: fading-out-p (segment)
Package

org.shirakumo.fraf.harmony.

Source

environment.lisp.

Function: find-symbol* (package name)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: removef (plist &rest keys)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: resolve-drain-type (drain &optional errorp)
Package

org.shirakumo.fraf.harmony.

Source

simple.lisp.

Function: set-process-priority (&optional priority)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: set-thread-priority (&optional priority)
Package

org.shirakumo.fraf.harmony.

Source

toolkit.lisp.

Function: voice-end (voice)
Package

org.shirakumo.fraf.harmony.

Source

voice.lisp.


5.2.4 Generic functions

Generic Reader: buffersize (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: buffersize ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

buffersize.

Generic Writer: (setf buffersize) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf buffersize) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

buffersize.

Generic Reader: fade-rate (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: fade-rate ((music-segment music-segment))

automatically generated reader method

Source

environment.lisp.

Target Slot

fade-rate.

Generic Writer: (setf fade-rate) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf fade-rate) ((music-segment music-segment))

automatically generated writer method

Source

environment.lisp.

Target Slot

fade-rate.

Generic Function: frame-change (voice old new)
Package

org.shirakumo.fraf.harmony.

Methods
Method: frame-change ((segment music-segment) old new)
Source

environment.lisp.

Method: frame-change ((voice voice) old new)
Source

voice.lisp.

Generic Reader: free-buffers (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: free-buffers ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

free-buffers.

Generic Writer: (setf free-buffers) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf free-buffers) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

free-buffers.

Generic Reader: free-unpackers (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: free-unpackers ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

free-unpackers.

Generic Writer: (setf free-unpackers) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf free-unpackers) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

free-unpackers.

Generic Function: mixer (voice)
Package

org.shirakumo.fraf.harmony.

Methods
Method: mixer ((voice voice))
Source

voice.lisp.

Generic Reader: next-index (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: next-index ((environment environment))

automatically generated reader method

Source

environment.lisp.

Target Slot

next-index.

Generic Writer: (setf next-index) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf next-index) ((environment environment))

automatically generated writer method

Source

environment.lisp.

Target Slot

next-index.

Generic Reader: paused-p (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: paused-p ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

paused.

Generic Writer: (setf paused-p) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf paused-p) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

paused.

Generic Reader: pending-transition (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: pending-transition ((music-segment music-segment))

automatically generated reader method

Source

environment.lisp.

Target Slot

pending-transition.

Generic Writer: (setf pending-transition) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf pending-transition) ((music-segment music-segment))

automatically generated writer method

Source

environment.lisp.

Target Slot

pending-transition.

Generic Reader: queue (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: queue ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

queue.

Generic Reader: samplerate (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: samplerate ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

samplerate.

Generic Writer: (setf samplerate) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf samplerate) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

samplerate.

Generic Reader: segment-map (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: segment-map ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

segment-map.

Generic Reader: segment-sets (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: segment-sets ((environment environment))

automatically generated reader method

Source

environment.lisp.

Target Slot

segment-sets.

Generic Writer: (setf segment-sets) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf segment-sets) ((environment environment))

automatically generated writer method

Source

environment.lisp.

Target Slot

segment-sets.

Generic Reader: segments (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: segments ((environment environment))

automatically generated reader method

Source

environment.lisp.

Target Slot

segments.

Generic Writer: (setf segments) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf segments) ((environment environment))

automatically generated writer method

Source

environment.lisp.

Target Slot

segments.

Generic Reader: target-fade (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: target-fade ((music-segment music-segment))

automatically generated reader method

Source

environment.lisp.

Target Slot

target-fade.

Generic Writer: (setf target-fade) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf target-fade) ((music-segment music-segment))

automatically generated writer method

Source

environment.lisp.

Target Slot

target-fade.

Generic Reader: thread (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: thread ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

thread.

Generic Writer: (setf thread) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf thread) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

thread.

Generic Reader: transition-fun (object)
Package

org.shirakumo.fraf.harmony.

Methods
Reader Method: transition-fun ((music-segment music-segment))

automatically generated reader method

Source

environment.lisp.

Target Slot

transition-fun.

Generic Writer: (setf transition-fun) (object)
Package

org.shirakumo.fraf.harmony.

Methods
Writer Method: (setf transition-fun) ((music-segment music-segment))

automatically generated writer method

Source

environment.lisp.

Target Slot

transition-fun.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   L   M   N   O   P   Q   R   S   T   U   V   W  
Index Entry  Section

%
%sync: Private ordinary functions

(
(setf attenuation): Public standalone methods
(setf buffersize): Private generic functions
(setf buffersize): Private generic functions
(setf chain): Public generic functions
(setf chain): Public generic functions
(setf device): Public standalone methods
(setf done-p): Public standalone methods
(setf done-p): Public standalone methods
(setf environment): Public generic functions
(setf environment): Public generic functions
(setf fade-rate): Private generic functions
(setf fade-rate): Private generic functions
(setf frame-position): Public standalone methods
(setf free-buffers): Private generic functions
(setf free-buffers): Private generic functions
(setf free-unpackers): Private generic functions
(setf free-unpackers): Private generic functions
(setf from): Public generic functions
(setf from): Public generic functions
(setf from-location): Public generic functions
(setf from-location): Public generic functions
(setf input-field): Public standalone methods
(setf input-field): Public standalone methods
(setf location): Public standalone methods
(setf location): Public standalone methods
(setf max-distance): Public standalone methods
(setf max-distance): Public standalone methods
(setf min-distance): Public standalone methods
(setf min-distance): Public standalone methods
(setf next-index): Private generic functions
(setf next-index): Private generic functions
(setf on-end): Public generic functions
(setf on-end): Public generic functions
(setf on-frame-change): Public generic functions
(setf on-frame-change): Public generic functions
(setf output): Public standalone methods
(setf output-field): Public standalone methods
(setf output-field): Public standalone methods
(setf pack): Public standalone methods
(setf paused-p): Private generic functions
(setf paused-p): Private generic functions
(setf pending-transition): Private generic functions
(setf pending-transition): Private generic functions
(setf repeat): Public generic functions
(setf repeat): Public generic functions
(setf repeat): Public generic functions
(setf repeat-start): Public generic functions
(setf repeat-start): Public generic functions
(setf rolloff): Public standalone methods
(setf rolloff): Public standalone methods
(setf samplerate): Private generic functions
(setf samplerate): Private generic functions
(setf segment): Public generic functions
(setf segment): Public generic functions
(setf segment): Public generic functions
(setf segment): Public generic functions
(setf segment-sets): Private generic functions
(setf segment-sets): Private generic functions
(setf segments): Private generic functions
(setf segments): Private generic functions
(setf state): Public generic functions
(setf state): Public generic functions
(setf target-fade): Private generic functions
(setf target-fade): Private generic functions
(setf thread): Private generic functions
(setf thread): Private generic functions
(setf to): Public generic functions
(setf to): Public generic functions
(setf to-location): Public generic functions
(setf to-location): Public generic functions
(setf transition-fun): Private generic functions
(setf transition-fun): Private generic functions
(setf velocity): Public standalone methods
(setf velocity): Public standalone methods
(setf volume): Public standalone methods
(setf volume): Public standalone methods
(setf volume): Public standalone methods

A
active-p: Public generic functions
active-p: Public generic functions
active-p: Public generic functions
add: Public standalone methods
add: Public standalone methods
add: Public standalone methods
add: Public standalone methods
add-to: Public ordinary functions
allocate-buffer: Public generic functions
allocate-buffer: Public generic functions
allocate-unpacker: Public generic functions
allocate-unpacker: Public generic functions
attenuation: Public standalone methods

B
buffersize: Private generic functions
buffersize: Private generic functions

C
call-in-mixing-context: Public generic functions
call-in-mixing-context: Public generic functions
chain: Public generic functions
chain: Public generic functions
clear: Public generic functions
clear: Public generic functions
clear: Public generic functions
clear-buffers: Private ordinary functions
connect: Public generic functions
connect: Public generic functions
connect: Public generic functions
connect: Public generic functions
connect: Public generic functions
connect: Public generic functions
connect: Public generic functions
connect: Public generic functions
construct-output: Private ordinary functions
create: Public ordinary functions

D
default-source-end: Private ordinary functions
detect-platform-drain: Public ordinary functions
device: Public standalone methods
disconnect: Public generic functions
disconnect: Public generic functions
disconnect: Public generic functions
disconnect: Public generic functions
disconnect: Public generic functions
done-p: Public standalone methods
dot-server: Public ordinary functions
downstream: Public generic functions
downstream: Public generic functions
duration: Public standalone methods

E
ease-cubic-in: Private ordinary functions
ease-cubic-in-out: Private ordinary functions
ease-cubic-out: Private ordinary functions
ease-linear: Private ordinary functions
end: Public standalone methods
end: Public standalone methods
ensure-effect-segment: Private ordinary functions
ensure-segment: Private ordinary functions
environment: Public generic functions
environment: Public generic functions

F
fade-rate: Private generic functions
fade-rate: Private generic functions
fading-out-p: Private ordinary functions
find-symbol*: Private ordinary functions
frame-change: Private generic functions
frame-change: Private generic functions
frame-change: Private generic functions
frame-count: Public standalone methods
frame-position: Public standalone methods
free: Public standalone methods
free: Public standalone methods
free: Public standalone methods
free: Public standalone methods
free: Public standalone methods
free-buffer: Public generic functions
free-buffer: Public generic functions
free-buffers: Private generic functions
free-buffers: Private generic functions
free-unpacker: Public generic functions
free-unpacker: Public generic functions
free-unpackers: Private generic functions
free-unpackers: Private generic functions
from: Public generic functions
from: Public generic functions
from-location: Public generic functions
from-location: Public generic functions
Function, %sync: Private ordinary functions
Function, add-to: Public ordinary functions
Function, clear-buffers: Private ordinary functions
Function, construct-output: Private ordinary functions
Function, create: Public ordinary functions
Function, default-source-end: Private ordinary functions
Function, detect-platform-drain: Public ordinary functions
Function, dot-server: Public ordinary functions
Function, ease-cubic-in: Private ordinary functions
Function, ease-cubic-in-out: Private ordinary functions
Function, ease-cubic-out: Private ordinary functions
Function, ease-linear: Private ordinary functions
Function, ensure-effect-segment: Private ordinary functions
Function, ensure-segment: Private ordinary functions
Function, fading-out-p: Private ordinary functions
Function, find-symbol*: Private ordinary functions
Function, make-simple-server: Public ordinary functions
Function, maybe-start-simple-server: Public ordinary functions
Function, removef: Private ordinary functions
Function, resolve-drain-type: Private ordinary functions
Function, set-process-priority: Private ordinary functions
Function, set-thread-priority: Private ordinary functions
Function, voice-end: Private ordinary functions

G
Generic Function, (setf buffersize): Private generic functions
Generic Function, (setf chain): Public generic functions
Generic Function, (setf environment): Public generic functions
Generic Function, (setf fade-rate): Private generic functions
Generic Function, (setf free-buffers): Private generic functions
Generic Function, (setf free-unpackers): Private generic functions
Generic Function, (setf from): Public generic functions
Generic Function, (setf from-location): Public generic functions
Generic Function, (setf next-index): Private generic functions
Generic Function, (setf on-end): Public generic functions
Generic Function, (setf on-frame-change): Public generic functions
Generic Function, (setf paused-p): Private generic functions
Generic Function, (setf pending-transition): Private generic functions
Generic Function, (setf repeat): Public generic functions
Generic Function, (setf repeat-start): Public generic functions
Generic Function, (setf samplerate): Private generic functions
Generic Function, (setf segment): Public generic functions
Generic Function, (setf segment-sets): Private generic functions
Generic Function, (setf segments): Private generic functions
Generic Function, (setf state): Public generic functions
Generic Function, (setf target-fade): Private generic functions
Generic Function, (setf thread): Private generic functions
Generic Function, (setf to): Public generic functions
Generic Function, (setf to-location): Public generic functions
Generic Function, (setf transition-fun): Private generic functions
Generic Function, active-p: Public generic functions
Generic Function, allocate-buffer: Public generic functions
Generic Function, allocate-unpacker: Public generic functions
Generic Function, buffersize: Private generic functions
Generic Function, call-in-mixing-context: Public generic functions
Generic Function, chain: Public generic functions
Generic Function, clear: Public generic functions
Generic Function, connect: Public generic functions
Generic Function, disconnect: Public generic functions
Generic Function, downstream: Public generic functions
Generic Function, environment: Public generic functions
Generic Function, fade-rate: Private generic functions
Generic Function, frame-change: Private generic functions
Generic Function, free-buffer: Public generic functions
Generic Function, free-buffers: Private generic functions
Generic Function, free-unpacker: Public generic functions
Generic Function, free-unpackers: Private generic functions
Generic Function, from: Public generic functions
Generic Function, from-location: Public generic functions
Generic Function, make-source-for: Public generic functions
Generic Function, make-source-for-path-type: Public generic functions
Generic Function, mixer: Private generic functions
Generic Function, name: Public generic functions
Generic Function, next-index: Private generic functions
Generic Function, on-end: Public generic functions
Generic Function, on-frame-change: Public generic functions
Generic Function, paused-p: Private generic functions
Generic Function, pending-transition: Private generic functions
Generic Function, play: Public generic functions
Generic Function, queue: Private generic functions
Generic Function, repeat: Public generic functions
Generic Function, repeat-start: Public generic functions
Generic Function, run: Public generic functions
Generic Function, run-task: Public generic functions
Generic Function, samplerate: Private generic functions
Generic Function, segment: Public generic functions
Generic Function, segment-map: Private generic functions
Generic Function, segment-sets: Private generic functions
Generic Function, segments: Private generic functions
Generic Function, source: Public generic functions
Generic Function, started-p: Public generic functions
Generic Function, state: Public generic functions
Generic Function, stop: Public generic functions
Generic Function, target-fade: Private generic functions
Generic Function, thread: Private generic functions
Generic Function, to: Public generic functions
Generic Function, to-location: Public generic functions
Generic Function, track-end: Public generic functions
Generic Function, transition: Public generic functions
Generic Function, transition-fun: Private generic functions
Generic Function, upstream: Public generic functions
Generic Function, voices: Public generic functions

I
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods

L
lazy-symbol: Private macros
location: Public standalone methods
location: Public standalone methods

M
Macro, lazy-symbol: Private macros
Macro, pop*: Private macros
Macro, push*: Private macros
Macro, with-buffer: Private macros
Macro, with-server: Public macros
make-simple-server: Public ordinary functions
make-source-for: Public generic functions
make-source-for: Public generic functions
make-source-for: Public generic functions
make-source-for-path-type: Public generic functions
make-source-for-path-type: Public generic functions
max-distance: Public standalone methods
max-distance: Public standalone methods
maybe-start-simple-server: Public ordinary functions
Method, (setf attenuation): Public standalone methods
Method, (setf buffersize): Private generic functions
Method, (setf chain): Public generic functions
Method, (setf device): Public standalone methods
Method, (setf done-p): Public standalone methods
Method, (setf done-p): Public standalone methods
Method, (setf environment): Public generic functions
Method, (setf fade-rate): Private generic functions
Method, (setf frame-position): Public standalone methods
Method, (setf free-buffers): Private generic functions
Method, (setf free-unpackers): Private generic functions
Method, (setf from): Public generic functions
Method, (setf from-location): Public generic functions
Method, (setf input-field): Public standalone methods
Method, (setf input-field): Public standalone methods
Method, (setf location): Public standalone methods
Method, (setf location): Public standalone methods
Method, (setf max-distance): Public standalone methods
Method, (setf max-distance): Public standalone methods
Method, (setf min-distance): Public standalone methods
Method, (setf min-distance): Public standalone methods
Method, (setf next-index): Private generic functions
Method, (setf on-end): Public generic functions
Method, (setf on-frame-change): Public generic functions
Method, (setf output): Public standalone methods
Method, (setf output-field): Public standalone methods
Method, (setf output-field): Public standalone methods
Method, (setf pack): Public standalone methods
Method, (setf paused-p): Private generic functions
Method, (setf pending-transition): Private generic functions
Method, (setf repeat): Public generic functions
Method, (setf repeat): Public generic functions
Method, (setf repeat-start): Public generic functions
Method, (setf rolloff): Public standalone methods
Method, (setf rolloff): Public standalone methods
Method, (setf samplerate): Private generic functions
Method, (setf segment): Public generic functions
Method, (setf segment): Public generic functions
Method, (setf segment): Public generic functions
Method, (setf segment-sets): Private generic functions
Method, (setf segments): Private generic functions
Method, (setf state): Public generic functions
Method, (setf target-fade): Private generic functions
Method, (setf thread): Private generic functions
Method, (setf to): Public generic functions
Method, (setf to-location): Public generic functions
Method, (setf transition-fun): Private generic functions
Method, (setf velocity): Public standalone methods
Method, (setf velocity): Public standalone methods
Method, (setf volume): Public standalone methods
Method, (setf volume): Public standalone methods
Method, (setf volume): Public standalone methods
Method, active-p: Public generic functions
Method, active-p: Public generic functions
Method, add: Public standalone methods
Method, add: Public standalone methods
Method, add: Public standalone methods
Method, add: Public standalone methods
Method, allocate-buffer: Public generic functions
Method, allocate-unpacker: Public generic functions
Method, attenuation: Public standalone methods
Method, buffersize: Private generic functions
Method, call-in-mixing-context: Public generic functions
Method, chain: Public generic functions
Method, clear: Public generic functions
Method, clear: Public generic functions
Method, connect: Public generic functions
Method, connect: Public generic functions
Method, connect: Public generic functions
Method, connect: Public generic functions
Method, connect: Public generic functions
Method, connect: Public generic functions
Method, connect: Public generic functions
Method, device: Public standalone methods
Method, disconnect: Public generic functions
Method, disconnect: Public generic functions
Method, disconnect: Public generic functions
Method, disconnect: Public generic functions
Method, done-p: Public standalone methods
Method, downstream: Public generic functions
Method, duration: Public standalone methods
Method, end: Public standalone methods
Method, end: Public standalone methods
Method, environment: Public generic functions
Method, fade-rate: Private generic functions
Method, frame-change: Private generic functions
Method, frame-change: Private generic functions
Method, frame-count: Public standalone methods
Method, frame-position: Public standalone methods
Method, free: Public standalone methods
Method, free: Public standalone methods
Method, free: Public standalone methods
Method, free: Public standalone methods
Method, free: Public standalone methods
Method, free-buffer: Public generic functions
Method, free-buffers: Private generic functions
Method, free-unpacker: Public generic functions
Method, free-unpackers: Private generic functions
Method, from: Public generic functions
Method, from-location: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, location: Public standalone methods
Method, location: Public standalone methods
Method, make-source-for: Public generic functions
Method, make-source-for: Public generic functions
Method, make-source-for-path-type: Public generic functions
Method, max-distance: Public standalone methods
Method, max-distance: Public standalone methods
Method, min-distance: Public standalone methods
Method, min-distance: Public standalone methods
Method, mixer: Private generic functions
Method, name: Public generic functions
Method, next-index: Private generic functions
Method, on-end: Public generic functions
Method, on-frame-change: Public generic functions
Method, output: Public standalone methods
Method, outputs: Public standalone methods
Method, paused-p: Private generic functions
Method, pending-transition: Private generic functions
Method, play: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, queue: Private generic functions
Method, repeat: Public generic functions
Method, repeat: Public generic functions
Method, repeat-start: Public generic functions
Method, rolloff: Public standalone methods
Method, rolloff: Public standalone methods
Method, run: Public generic functions
Method, run-task: Public generic functions
Method, samplerate: Public standalone methods
Method, samplerate: Private generic functions
Method, seek: Public standalone methods
Method, seek-to-frame: Public standalone methods
Method, segment: Public generic functions
Method, segment: Public generic functions
Method, segment: Public generic functions
Method, segment: Public generic functions
Method, segment-map: Private generic functions
Method, segment-sets: Private generic functions
Method, segments: Private generic functions
Method, shared-initialize: Public standalone methods
Method, shared-initialize: Public standalone methods
Method, source: Public generic functions
Method, start: Public standalone methods
Method, start: Public standalone methods
Method, started-p: Public generic functions
Method, state: Public generic functions
Method, stop: Public generic functions
Method, stop: Public generic functions
Method, stop: Public generic functions
Method, stop: Public generic functions
Method, target-fade: Private generic functions
Method, thread: Private generic functions
Method, to: Public generic functions
Method, to-location: Public generic functions
Method, track-end: Public generic functions
Method, track-end: Public generic functions
Method, transition: Public generic functions
Method, transition: Public generic functions
Method, transition: Public generic functions
Method, transition: Public generic functions
Method, transition: Public generic functions
Method, transition-fun: Private generic functions
Method, unpacker: Public standalone methods
Method, unpacker: Public standalone methods
Method, upstream: Public generic functions
Method, velocity: Public standalone methods
Method, velocity: Public standalone methods
Method, voices: Public generic functions
Method, voices: Public generic functions
Method, volume: Public standalone methods
Method, volume: Public standalone methods
Method, volume: Public standalone methods
Method, withdraw: Public standalone methods
Method, withdraw: Public standalone methods
Method, withdraw: Public standalone methods
min-distance: Public standalone methods
min-distance: Public standalone methods
mixer: Private generic functions
mixer: Private generic functions

N
name: Public generic functions
name: Public generic functions
next-index: Private generic functions
next-index: Private generic functions

O
on-end: Public generic functions
on-end: Public generic functions
on-frame-change: Public generic functions
on-frame-change: Public generic functions
output: Public standalone methods
outputs: Public standalone methods

P
paused-p: Private generic functions
paused-p: Private generic functions
pending-transition: Private generic functions
pending-transition: Private generic functions
play: Public generic functions
play: Public generic functions
pop*: Private macros
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
push*: Private macros

Q
queue: Private generic functions
queue: Private generic functions

R
removef: Private ordinary functions
repeat: Public generic functions
repeat: Public generic functions
repeat: Public generic functions
repeat-start: Public generic functions
repeat-start: Public generic functions
resolve-drain-type: Private ordinary functions
rolloff: Public standalone methods
rolloff: Public standalone methods
run: Public generic functions
run: Public generic functions
run-task: Public generic functions
run-task: Public generic functions

S
samplerate: Public standalone methods
samplerate: Private generic functions
samplerate: Private generic functions
seek: Public standalone methods
seek-to-frame: Public standalone methods
segment: Public generic functions
segment: Public generic functions
segment: Public generic functions
segment: Public generic functions
segment: Public generic functions
segment-map: Private generic functions
segment-map: Private generic functions
segment-sets: Private generic functions
segment-sets: Private generic functions
segments: Private generic functions
segments: Private generic functions
set-process-priority: Private ordinary functions
set-thread-priority: Private ordinary functions
shared-initialize: Public standalone methods
shared-initialize: Public standalone methods
source: Public generic functions
source: Public generic functions
start: Public standalone methods
start: Public standalone methods
started-p: Public generic functions
started-p: Public generic functions
state: Public generic functions
state: Public generic functions
stop: Public generic functions
stop: Public generic functions
stop: Public generic functions
stop: Public generic functions
stop: Public generic functions

T
target-fade: Private generic functions
target-fade: Private generic functions
thread: Private generic functions
thread: Private generic functions
to: Public generic functions
to: Public generic functions
to-location: Public generic functions
to-location: Public generic functions
track-end: Public generic functions
track-end: Public generic functions
track-end: Public generic functions
transition: Public generic functions
transition: Public generic functions
transition: Public generic functions
transition: Public generic functions
transition: Public generic functions
transition: Public generic functions
transition-fun: Private generic functions
transition-fun: Private generic functions

U
unpacker: Public standalone methods
unpacker: Public standalone methods
upstream: Public generic functions
upstream: Public generic functions

V
velocity: Public standalone methods
velocity: Public standalone methods
voice-end: Private ordinary functions
voices: Public generic functions
voices: Public generic functions
voices: Public generic functions
volume: Public standalone methods
volume: Public standalone methods
volume: Public standalone methods

W
with-buffer: Private macros
with-server: Public macros
withdraw: Public standalone methods
withdraw: Public standalone methods
withdraw: Public standalone methods


A.3 Variables

Jump to:   *  
B   C   E   F   N   O   P   Q   R   S   T  
Index Entry  Section

*
*in-processing-queue*: Private special variables
*in-processing-thread*: Private special variables
*server*: Public special variables

B
buffersize: Public classes

C
chain: Public classes

E
environment: Public classes

F
fade-rate: Public classes
free-buffers: Public classes
free-unpackers: Public classes
from: Public classes
from-location: Public classes

N
name: Public classes
name: Public classes
next-index: Public classes

O
on-end: Public classes
on-frame-change: Public classes

P
paused: Public classes
pending-transition: Public classes

Q
queue: Public classes

R
repeat: Public classes
repeat-start: Public classes

S
samplerate: Public classes
segment-map: Public classes
segment-sets: Public classes
segments: Public classes
Slot, buffersize: Public classes
Slot, chain: Public classes
Slot, environment: Public classes
Slot, fade-rate: Public classes
Slot, free-buffers: Public classes
Slot, free-unpackers: Public classes
Slot, from: Public classes
Slot, from-location: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, next-index: Public classes
Slot, on-end: Public classes
Slot, on-frame-change: Public classes
Slot, paused: Public classes
Slot, pending-transition: Public classes
Slot, queue: Public classes
Slot, repeat: Public classes
Slot, repeat-start: Public classes
Slot, samplerate: Public classes
Slot, segment-map: Public classes
Slot, segment-sets: Public classes
Slot, segments: Public classes
Slot, state: Public classes
Slot, target-fade: Public classes
Slot, thread: Public classes
Slot, to: Public classes
Slot, to-location: Public classes
Slot, transition-fun: Public classes
Special Variable, *in-processing-queue*: Private special variables
Special Variable, *in-processing-thread*: Private special variables
Special Variable, *server*: Public special variables
state: Public classes

T
target-fade: Public classes
thread: Public classes
to: Public classes
to-location: Public classes
transition-fun: Public classes


A.4 Data types

Jump to:   B   C   D   E   F   H   M   O   P   S   T   V  
Index Entry  Section

B
buffer: Public classes

C
Class, buffer: Public classes
Class, environment: Public classes
Class, music-segment: Public classes
Class, segment: Public classes
Class, server: Public classes
Class, source: Public classes
Class, voice: Public classes

D
documentation.lisp: The harmony/documentation․lisp file

E
environment: Public classes
environment.lisp: The harmony/environment․lisp file

F
File, documentation.lisp: The harmony/documentation․lisp file
File, environment.lisp: The harmony/environment․lisp file
File, harmony.asd: The harmony/harmony․asd file
File, package.lisp: The harmony/package․lisp file
File, segment.lisp: The harmony/segment․lisp file
File, server.lisp: The harmony/server․lisp file
File, simple.lisp: The harmony/simple․lisp file
File, toolkit.lisp: The harmony/toolkit․lisp file
File, voice.lisp: The harmony/voice․lisp file

H
harmony: The harmony system
harmony.asd: The harmony/harmony․asd file

M
music-segment: Public classes

O
org.shirakumo.fraf.harmony: The org․shirakumo․fraf․harmony package
org.shirakumo.fraf.harmony.user: The org․shirakumo․fraf․harmony․user package

P
Package, org.shirakumo.fraf.harmony: The org․shirakumo․fraf․harmony package
Package, org.shirakumo.fraf.harmony.user: The org․shirakumo․fraf․harmony․user package
package.lisp: The harmony/package․lisp file

S
segment: Public classes
segment.lisp: The harmony/segment․lisp file
server: Public classes
server.lisp: The harmony/server․lisp file
simple.lisp: The harmony/simple․lisp file
source: Public classes
System, harmony: The harmony system

T
toolkit.lisp: The harmony/toolkit․lisp file

V
voice: Public classes
voice.lisp: The harmony/voice․lisp file