The cl-mixed Reference Manual

This is the cl-mixed Reference Manual, version 2.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 04:13:50 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cl-mixed

Bindings to libmixed, a sound mixing and processing library.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shirakumo.github.io/cl-mixed/

Source Control

(GIT https://github.com/Shirakumo/cl-mixed.git)

Bug Tracker

https://github.com/Shirakumo/cl-mixed/issues

License

zlib

Version

2.1.0

Dependencies
  • alexandria (system).
  • static-vectors (system).
  • cffi (system).
  • trivial-features (system).
  • documentation-utils (system).
Source

cl-mixed.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-mixed/segments

Dependency

mixer.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Child Components

3.2 cl-mixed/extensions

Dependency

segments (module).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Child Component

dummy.lisp (file).


4 Files

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


4.1 Lisp


4.1.1 cl-mixed/cl-mixed.asd

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

ASDF Systems

cl-mixed.


4.1.2 cl-mixed/package.lisp

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Packages

4.1.3 cl-mixed/low-level.lisp

Dependency

package.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

*here* (special variable).


4.1.4 cl-mixed/toolkit.lisp

Dependency

low-level.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

4.1.5 cl-mixed/c-object.lisp

Dependency

toolkit.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

*c-object-table* (special variable).


4.1.6 cl-mixed/bip-buffer.lisp

Dependency

c-object.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

4.1.7 cl-mixed/buffer.lisp

Dependency

bip-buffer.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

allocate-handle (method).


4.1.8 cl-mixed/pack.lisp

Dependency

buffer.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

allocate-handle (method).


4.1.9 cl-mixed/segment.lisp

Dependency

pack.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

4.1.10 cl-mixed/generic.lisp

Dependency

segment.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Internals

4.1.11 cl-mixed/drain.lisp

Dependency

generic.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface

4.1.12 cl-mixed/source.lisp

Dependency

drain.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface

4.1.13 cl-mixed/mixer.lisp

Dependency

source.lisp (file).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).

Public Interface
Internals

4.1.14 cl-mixed/segments/basic-mixer.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.15 cl-mixed/segments/biquad-filter.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.16 cl-mixed/segments/bundle.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface
Internals

4.1.17 cl-mixed/segments/chain.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.18 cl-mixed/segments/channel-convert.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.19 cl-mixed/segments/delay.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.20 cl-mixed/segments/distribute.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.21 cl-mixed/segments/fader.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.22 cl-mixed/segments/gate.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.23 cl-mixed/segments/generator.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.24 cl-mixed/segments/ladspa.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.25 cl-mixed/segments/noise.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.26 cl-mixed/segments/null.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.27 cl-mixed/segments/packer.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.28 cl-mixed/segments/pitch.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.29 cl-mixed/segments/plane-mixer.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.30 cl-mixed/segments/quantize.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.31 cl-mixed/segments/queue.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.32 cl-mixed/segments/repeat.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.33 cl-mixed/segments/space-mixer.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.34 cl-mixed/segments/spatial-reverb.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.35 cl-mixed/segments/speed-change.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.36 cl-mixed/segments/unpacker.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.37 cl-mixed/segments/virtual.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.38 cl-mixed/segments/volume-control.lisp

Source

cl-mixed.asd.

Parent Component

segments (module).

Public Interface

4.1.39 cl-mixed/extensions/dummy.lisp

Source

cl-mixed.asd.

Parent Component

extensions (module).

Packages

org.shirakumo.fraf.mixed.dummy.

Public Interface

4.1.40 cl-mixed/documentation.lisp

Dependency

extensions (module).

Source

cl-mixed.asd.

Parent Component

cl-mixed (system).


5 Packages

Packages are listed by definition order.


5.1 org.shirakumo.fraf.mixed

Source

package.lisp.

Use List
  • cffi.
  • common-lisp.
Public Interface
Internals

5.2 org.shirakumo.fraf.mixed.dummy

Source

dummy.lisp.

Use List

common-lisp.

Public Interface

drain (class).


5.3 org.shirakumo.fraf.mixed.cffi

Source

package.lisp.

Use List
  • cffi.
  • common-lisp.
Public Interface
Internals

*here* (special variable).


6 Definitions

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


6.1 Public Interface


6.1.1 Special variables

Special Variable: *default-channel-order*
Package

org.shirakumo.fraf.mixed.

Source

toolkit.lisp.

Special Variable: *default-samplerate*

This variable holds the default sample rate used throughout.

This is set to 44100 for 44.1 kHz, which is
the standard sample rate for CD audio and should
thus be of sufficient quality for most purposes.

Package

org.shirakumo.fraf.mixed.

Source

toolkit.lisp.

Special Variable: *static*

Variable containing the path to the static directory. That directory contains the precompiled library binaries.

Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.


6.1.2 Macros

Macro: with-buffer-transfer ((fdata fstart from) (tdata tstart to) size &body body)

Convenience macro to handle a transfer from one buffer to another.

Both FROM and TO may be the same buffer, in which case the transfer happens from the region available to read to itself.

Otherwise, this is akin to nesting WITH-BUFFER-TX, with the special exemption that FINISH will complete the transaction on both buffers at once.

See BIP-BUFFER
See BUFFER
See PACK
See WITH-BUFFER-TRANSFER

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Macro: with-buffer-tx ((data start size buffer &key direction size) &body body)

Convenience macro to handle a buffer transaction.

DATA is bound to the storage array of the buffer.
START is bound to the starting index of the transaction.
SIZE is bound to the number of elements that may be operated on during the transaction.
BUFFER should be a BIP-BUFFER instance.
DIRECTION can be either :INPUT or :OUTPUT depending on the type of transaction desired.
INITIAL-SIZE should be the amount of space to request.

During BODY, two functions are available:
FINISH — Completes the transaction, using the passed number of elements. Note that this does not cause an unwind. DATA-PTR — Returns a foreign pointer to the start of the transaction’s valid memory.

This macro ensures that on unwind for any reason, whether after FINISH or before, the buffer is left in a sealed state where it is safe to call REQUEST-READ and REQUEST-WRITE again.

See BIP-BUFFER
See BUFFER
See PACK
See WITH-BUFFER-TRANSFER

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Macro: with-buffers (size buffers &body body)

Create a number of buffers for the duration of the body.

BUFFERS should be a list of symbols, to each of which a fresh instance of a BUFFER with a size of SAMPLES will be bound.

Package

org.shirakumo.fraf.mixed.

Source

buffer.lisp.

Macro: with-chain (name segments &body body)
Package

org.shirakumo.fraf.mixed.

Source

chain.lisp.

Macro: with-objects (bindings &body body)
Package

org.shirakumo.fraf.mixed.

Source

c-object.lisp.


6.1.3 Ordinary functions

Function: available-read (buffer)

Returns the number of elements available for reading in the buffer.

See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: available-write (buffer)

Returns the number of elements that can be written to the buffer.

See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: buffer-available-read (buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-available-write (buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-data (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf buffer-data) (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-finish-read (size buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-finish-write (size buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-from-pack (pack buffers volume target-volume)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-read (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf buffer-read) (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-request-read (area size buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-request-write (area size buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-reserved (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf buffer-reserved) (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-size (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf buffer-size) (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-to-pack (buffers pack volume target-volume)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-virtual-p (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf buffer-virtual-p) (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: buffer-write (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf buffer-write) (pointer-to-buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: chain-add (segment chain)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: chain-add-at (i segment chain)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: chain-remove (segment chain)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: chain-remove-at (i chain)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: clear-buffer (buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: clear-pack (pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: close-plugin (file)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: copy-buffer (from to)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: data-ptr (data &optional start)

Returns a foreign pointer to the underlying storage of the data array.

See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: deregister-segment (name)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-data (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-data) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-end (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-end) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-free (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-free) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-get (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-get) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-get-in (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-get-in) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-get-out (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-get-out) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-info (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-info) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-mix (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-mix) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-set (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-set) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-set-in (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-set-in) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-set-out (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-set-out) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: direct-segment-start (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf direct-segment-start) (pointer-to-segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: error ()
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: error-string (error)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: field-info-description (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf field-info-description) (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: field-info-field (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf field-info-field) (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: field-info-flags (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf field-info-flags) (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: field-info-type (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf field-info-type) (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: field-info-type-count (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf field-info-type-count) (pointer-to-field-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: finish-read (buffer size)

Finishes a reading transaction.

You must not call this function without a matching REQUEST-READ call first. The SIZE should be the number of read elements, which may be less than the number obtained from REQUEST-READ, but not more.

See REQUEST-READ
See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: finish-write (buffer size)

Finishes a writing transaction.

You must not call this function without a matching REQUEST-WRITE call first. The SIZE should be the number of written elements, which may be less than the number obtained from REQUEST-WRITE, but not more.

See REQUEST-WRITE
See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: free-buffer (buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: free-pack (pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: free-segment (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: guess-channel-order-from-count (channels)
Package

org.shirakumo.fraf.mixed.

Source

toolkit.lisp.

Function: list-segments (count names)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: load-plugin (file)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-basic-mixer (&optional channels)

Create a new basic mixer, adding the given buffers as inputs.

See BASIC-MIXER
See ADD
See WITHDRAW

Package

org.shirakumo.fraf.mixed.

Source

basic-mixer.lisp.

Function: make-biquad-filter (&rest args &key pass cutoff samplerate)

Create a new frequency pass segment.

PASS can be either :high or :low, which will cause high and low frequencies to pass through the filter respectively.

See BIQUAD-FILTER

Package

org.shirakumo.fraf.mixed.

Source

biquad-filter.lisp.

Function: make-buffer (size)

Create a new buffer.

You may pass either an integer denoting the length of the buffer in samples, or a vector of single-floats denoting the buffers’ initial contents.

See BUFFER

Package

org.shirakumo.fraf.mixed.

Source

buffer.lisp.

Function: make-buffer (size buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-bundle (channels &optional class &rest initargs)
Package

org.shirakumo.fraf.mixed.

Source

bundle.lisp.

Function: make-chain (&rest segments)
Package

org.shirakumo.fraf.mixed.

Source

chain.lisp.

Function: make-channel-convert (&rest args &key in out samplerate)
Package

org.shirakumo.fraf.mixed.

Source

channel-convert.lisp.

Function: make-delay (&rest args &key time samplerate)

Create a new delay segment.

See DELAY

Package

org.shirakumo.fraf.mixed.

Source

delay.lisp.

Function: make-distributor (&rest args &key)
Package

org.shirakumo.fraf.mixed.

Source

distribute.lisp.

Function: make-fader (&rest args &key from to time type samplerate)

Create a new volume fader segment.

See FADER

Package

org.shirakumo.fraf.mixed.

Source

fader.lisp.

Function: make-gate (&rest args &key samplerate)
Package

org.shirakumo.fraf.mixed.

Source

gate.lisp.

Function: make-generator (&rest args &key type frequency samplerate)

Create a new tone generator.

See GENERATOR

Package

org.shirakumo.fraf.mixed.

Source

generator.lisp.

Function: make-ladspa (&rest args &key file index samplerate &allow-other-keys)

Create a new LADSPA segment.

The file must point to a valid shared library and the index should designate the requested plugin with the library.

Any additional keys are used to set the corresponding fields on the segments, allowing you to directly configure the LADSPA plugin in the same call.

See LADSPA

Package

org.shirakumo.fraf.mixed.

Source

ladspa.lisp.

Function: make-noise (&rest args &key type)

Create a new noise segment.

The type can be one of :WHITE, :PINK, :BROWN.

See NOISE

Package

org.shirakumo.fraf.mixed.

Source

noise.lisp.

Function: make-pack (&key encoding channels samplerate frames)

Create a new pack object.

See PACK

Package

org.shirakumo.fraf.mixed.

Source

pack.lisp.

Function: make-pack (frames pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-packer (&key pack encoding channels samplerate frames target-samplerate)

Create a new packer segment.

This automatically creates a packed-audio object to use. If you prefer to use a packed-audio object you created yourself, simply use MAKE-INSTANCE instead.

See PACK
See PACKER

Package

org.shirakumo.fraf.mixed.

Source

packer.lisp.

Function: make-pitch (&rest args &key pitch samplerate)

Create a new pitch shifting segment.

See PITCH

Package

org.shirakumo.fraf.mixed.

Source

pitch.lisp.

Function: make-plane-mixer (&rest args &key samplerate soundspeed doppler-factor min-distance max-distance rolloff attenuation)
Package

org.shirakumo.fraf.mixed.

Source

plane-mixer.lisp.

Function: make-quantize (&rest args &key steps)
Package

org.shirakumo.fraf.mixed.

Source

quantize.lisp.

Function: make-queue (&rest args)
Package

org.shirakumo.fraf.mixed.

Source

queue.lisp.

Function: make-repeat (&rest args &key time mode samplerate)

Create a new repeat segment.

The time designates the size of the internal buffer that it can repeat to the output.

See REPEAT

Package

org.shirakumo.fraf.mixed.

Source

repeat.lisp.

Function: make-segment (name args segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-basic-mixer (channels segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-biquad-filter (pass frequency samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-chain (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-channel-convert (in out samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-delay (time samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-distribute (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-fade (from to time type samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-gate (samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-generator (type frequency samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-info (name argc args)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-ladspa (file index samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-noise (type segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-packer (pack samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-pitch (pitch samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-plane-mixer (samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-quantize (steps segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-queue (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-repeat (time samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-space-mixer (samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-spatial-reverb (samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-speed-change (speed segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-unpacker (pack samplerate segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-void (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-volume-control (volume pan segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-segment-zero (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: make-space-mixer (&rest args &key samplerate up soundspeed doppler-factor min-distance max-distance rolloff attenuation)

Create a new space-mixer segment for 3D audio processing.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Source

space-mixer.lisp.

Function: make-spatial-reverb (&key samplerate distance-delay max-distance)
Package

org.shirakumo.fraf.mixed.

Source

spatial-reverb.lisp.

Function: make-speed-change (&rest args &key speed-factor)
Package

org.shirakumo.fraf.mixed.

Source

speed-change.lisp.

Function: make-unpacker (&key pack encoding channels samplerate frames source-samplerate)

Create a new unpacker segment.

This automatically creates a packed-audi object to use. If you prefer to use a packed-audio object you created yourself, simply use MAKE-INSTANCE instead.

See PACK
See UNPACKER

Package

org.shirakumo.fraf.mixed.

Source

unpacker.lisp.

Function: make-void (&rest args &key)
Package

org.shirakumo.fraf.mixed.

Source

null.lisp.

Function: make-volume-control (&rest args &key volume pan)

Create a new volume control segment.

See VOLUME-CONTROL

Package

org.shirakumo.fraf.mixed.

Source

volume-control.lisp.

Function: make-zero (&rest args &key)
Package

org.shirakumo.fraf.mixed.

Source

null.lisp.

Function: pack-available-read (pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-available-write (pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-channels (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-channels) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-data (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-data) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-encoding (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-encoding) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-finish-read (size pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-finish-write (size pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-read (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-read) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-request-read (area size pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-request-write (area size pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-reserved (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-reserved) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-samplerate (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-samplerate) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-size (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-size) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pack-write (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf pack-write) (pointer-to-pack)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: pointer->object (pointer)

Accessor to the object associated with the given foreign pointer.

See *C-OBJECT-TABLE*

Package

org.shirakumo.fraf.mixed.

Source

c-object.lisp.

Function: (setf pointer->object) (pointer)
Package

org.shirakumo.fraf.mixed.

Source

c-object.lisp.

Function: queue-add (new queue)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: queue-clear (queue)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: queue-remove (old queue)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: queue-remove-at (pos queue)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: register-segment (name argc args function)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: request-read (buffer size)

Prepares a reading operation on the buffer.

Returns two values:
START – The number of elements after which the read may begin. SIZE – The number of elements that may be read.

After calling this, you **must** call FINISH-READ before calling REQUEST-WRITE again.

See FINISH-READ
See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: request-write (buffer size)

Prepares a writing operation on the buffer.

Returns two values:
START – The number of elements after which the write may begin. SIZE – The number of elements that may be written.

After calling this, you **must** call FINISH-WRITE before calling REQUEST-WRITE again.

See FINISH-WRITE
See BIP-BUFFER
See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Source

bip-buffer.lisp.

Function: resize-buffer (size buffer)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: samplesize (type)
Package

org.shirakumo.fraf.mixed.

Source

toolkit.lisp.

Function: samplesize (encoding)

Return the number of bytes required to represent a sample in the given format.

Acceptable values are
:INT8 :UINT8 :INT16 :UINT16 :INT24 :UINT24 :INT32 :UINT32
:FLOAT :DOUBLE

Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-end (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-get (field value segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-get-in (field location value segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-get-out (field location value segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info (info segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-description (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-description) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-fields (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-fields) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-flags (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-flags) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-max-inputs (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-max-inputs) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-min-inputs (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-min-inputs) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-name (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-name) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-info-outputs (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: (setf segment-info-outputs) (pointer-to-segment-info)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-mix (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-set (field value segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-set-in (field location value segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-set-out (field location value segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: segment-start (segment)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: transfer-buffer (from to)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: translator-from (encoding)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: translator-to (encoding)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: type-string (type)
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Function: version ()
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.


6.1.4 Generic functions

Generic Function: add (new segment)

Add the object to the given collection.

For segment-sequences this means adding a segment to the sequence. For mixers this means adding another input buffer.

See SEGMENT-SEQUENCE
See MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: add ((new segment) (segment space-mixer))
Source

space-mixer.lisp.

Method: add ((segment segment) (queue queue))
Source

queue.lisp.

Method: add ((new segment) (segment plane-mixer))
Source

plane-mixer.lisp.

Method: add ((segment segment) (chain chain))
Source

chain.lisp.

Method: add ((new segment) (segment basic-mixer))
Source

basic-mixer.lisp.

Generic Function: add-spatial-probe (segment angle length absorption-rate)
Package

org.shirakumo.fraf.mixed.

Methods
Method: add-spatial-probe ((segment spatial-reverb) angle length absorption-rate)
Source

spatial-reverb.lisp.

Generic Function: attack (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: attack ((segment1 gate))
Source

gate.lisp.

Method: attack ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf attack) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf attack) ((segment34 gate))
Source

gate.lisp.

Method: (setf attack) ((bundle bundle))
Source

bundle.lisp.

Generic Function: attenuation (plane)

Accessor to the attenuation function used to describe the distance volume falloff.

The value should be one of

:NONE :LINEAR :INVERSE :EXPONENTIAL

The value may also be a pointer to a C function
of the following signature:

float attenuation(float min,
float max,
float dist,
float roll);

See mixed.h
See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: attenuation ((space space-mixer))
Source

space-mixer.lisp.

Method: attenuation ((plane plane-mixer))
Source

plane-mixer.lisp.

Generic Function: (setf attenuation) (plane)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf attenuation) ((space space-mixer))
Source

space-mixer.lisp.

Method: (setf attenuation) ((plane plane-mixer))
Source

plane-mixer.lisp.

Generic Function: bypass (segment1)

Accessor to whether the segment is bypassed or not.

A bypassed segment does not perform any operations when mixed. The exact effects of this varies per segment, but usually for a segment that transforms its inputs somehow this will mean that it just copies the input to the output verbatim.

Note that not all segments support bypassing. Check the :FIELDS value in the field’s info plist.

See SEGMENT
See INFO

Package

org.shirakumo.fraf.mixed.

Methods
Method: bypass ((segment1 volume-control))
Source

volume-control.lisp.

Method: bypass ((segment1 unpacker))
Source

unpacker.lisp.

Method: bypass ((segment1 speed-change))
Source

speed-change.lisp.

Method: bypass ((segment1 repeat))
Source

repeat.lisp.

Method: bypass ((segment1 queue))
Source

queue.lisp.

Method: bypass ((segment1 quantize))
Source

quantize.lisp.

Method: bypass ((segment1 pitch))
Source

pitch.lisp.

Method: bypass ((segment1 packer))
Source

packer.lisp.

Method: bypass ((segment1 gate))
Source

gate.lisp.

Method: bypass ((segment1 fader))
Source

fader.lisp.

Method: bypass ((segment1 delay))
Source

delay.lisp.

Method: bypass ((segment1 chain))
Source

chain.lisp.

Method: bypass ((bundle bundle))
Source

bundle.lisp.

Method: bypass ((segment1 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: (setf bypass) (segment82)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf bypass) ((segment52 volume-control))
Source

volume-control.lisp.

Method: (setf bypass) ((segment46 unpacker))
Source

unpacker.lisp.

Method: (setf bypass) ((segment40 speed-change))
Source

speed-change.lisp.

Method: (setf bypass) ((segment58 repeat))
Source

repeat.lisp.

Method: (setf bypass) ((segment52 queue))
Source

queue.lisp.

Method: (setf bypass) ((segment40 quantize))
Source

quantize.lisp.

Method: (setf bypass) ((segment52 pitch))
Source

pitch.lisp.

Method: (setf bypass) ((segment46 packer))
Source

packer.lisp.

Method: (setf bypass) ((segment37 gate))
Source

gate.lisp.

Method: (setf bypass) ((segment46 fader))
Source

fader.lisp.

Method: (setf bypass) ((segment52 delay))
Source

delay.lisp.

Method: (setf bypass) ((segment34 chain))
Source

chain.lisp.

Method: (setf bypass) ((bundle bundle))
Source

bundle.lisp.

Method: (setf bypass) ((segment82 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: byte-position (source)
Package

org.shirakumo.fraf.mixed.

Methods
Method: byte-position ((source source))
Source

source.lisp.

Generic Function: (setf byte-position) (source)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf byte-position) ((source source))
Source

source.lisp.

Generic Function: channel-count-in (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: channel-count-in ((segment1 channel-convert))
Source

channel-convert.lisp.

Generic Function: (setf channel-count-in) (segment37)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf channel-count-in) ((segment37 channel-convert))
Source

channel-convert.lisp.

Generic Function: channel-count-out (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: channel-count-out ((segment1 channel-convert))
Source

channel-convert.lisp.

Generic Function: (setf channel-count-out) (segment34)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf channel-count-out) ((segment34 channel-convert))
Source

channel-convert.lisp.

Generic Function: channel-order (drain)
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Methods
Method: channel-order ((source source))
Source

source.lisp.

Method: channel-order ((drain drain))
Generic Function: channels (pack)

Accessor to the number of channels encoded in the data buffer in the object.

See PACK

Package

org.shirakumo.fraf.mixed.

Methods
Method: channels ((unpacker unpacker))
Source

unpacker.lisp.

Method: channels ((mixer space-mixer))
Source

space-mixer.lisp.

Method: channels ((mixer plane-mixer))
Source

plane-mixer.lisp.

Method: channels ((packer packer))
Source

packer.lisp.

Reader Method: channels ((basic-mixer basic-mixer))

automatically generated reader method

Source

basic-mixer.lisp.

Target Slot

channels.

Method: channels ((drain drain))
Source

drain.lisp.

Method: channels ((pack pack))
Source

pack.lisp.

Generic Function: (setf channels) (pack)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf channels) ((unpacker unpacker))
Source

unpacker.lisp.

Method: (setf channels) ((packer packer))
Source

packer.lisp.

Writer Method: (setf channels) ((basic-mixer basic-mixer))

automatically generated writer method

Source

basic-mixer.lisp.

Target Slot

channels.

Method: (setf channels) ((pack pack))
Source

pack.lisp.

Generic Function: clear (buffer)

Clears the buffer to fill its data array with just zeroes.

See BUFFER

Package

org.shirakumo.fraf.mixed.

Methods
Method: clear ((queue queue))
Source

queue.lisp.

Method: clear ((chain chain))
Source

chain.lisp.

Method: clear ((pack pack))
Source

pack.lisp.

Method: clear ((buffer buffer))
Source

buffer.lisp.

Generic Function: close-threshold (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: close-threshold ((segment1 gate))
Source

gate.lisp.

Method: close-threshold ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf close-threshold) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf close-threshold) ((segment34 gate))
Source

gate.lisp.

Method: (setf close-threshold) ((bundle bundle))
Source

bundle.lisp.

Generic Function: connect (source source-location drain drain-location &optional buffer)

Connect two segments together by connecting their respective input and output to a specific buffer.

See INPUT
See OUTPUT
See SEGMENT

Package

org.shirakumo.fraf.mixed.

Methods
Method: connect ((source distributor) source-location (drain segment) drain-location &optional buffer)
Source

distribute.lisp.

Method: connect ((source segment) source-location (drain segment) drain-location &optional buffer)
Source

segment.lisp.

Generic Function: current-segment (segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: current-segment ((segment queue))
Source

queue.lisp.

Generic Function: data (object)

Accessor to the raw data array contained in the object.

See BUFFER
See PACK

Package

org.shirakumo.fraf.mixed.

Methods
Method: data ((unpacker unpacker))
Source

unpacker.lisp.

Method: data ((packer packer))
Source

packer.lisp.

Reader Method: data ((pack pack))

automatically generated reader method

Source

pack.lisp.

Target Slot

data.

Reader Method: data ((buffer buffer))

automatically generated reader method

Source

buffer.lisp.

Target Slot

data.

Generic Function: (setf data) (packer)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf data) ((unpacker unpacker))
Source

unpacker.lisp.

Method: (setf data) ((packer packer))
Source

packer.lisp.

Generic Reader: device (device-drain)
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Methods
Reader Method: device ((condition device-not-found))
Target Slot

device.

Generic Function: (setf device) (device-drain)
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Generic Function: direction (bundle)

Accessor for the direction the listener is facing in space.

To set a vector, the value should be a list or a vector of three floats. When reading, the returned value is always a vector of three floats.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: direction ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: direction ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf direction) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf direction) ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf direction) ((bundle bundle))
Source

bundle.lisp.

Generic Function: distance-delay (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: distance-delay ((segment1 spatial-reverb))
Source

spatial-reverb.lisp.

Generic Function: (setf distance-delay) (segment34)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf distance-delay) ((segment34 spatial-reverb))
Source

spatial-reverb.lisp.

Generic Reader: done-p (object)
Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: done-p ((source source))

automatically generated reader method

Source

source.lisp.

Target Slot

done-p.

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

org.shirakumo.fraf.mixed.

Methods
Writer Method: (setf done-p) ((source source))

automatically generated writer method

Source

source.lisp.

Target Slot

done-p.

Generic Function: doppler-factor (bundle)

Accessor to the over-/under-statement factor of the doppler effect.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: doppler-factor ((segment1 space-mixer))
Source

space-mixer.lisp.

Method: doppler-factor ((segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: doppler-factor ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf doppler-factor) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf doppler-factor) ((segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf doppler-factor) ((segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf doppler-factor) ((bundle bundle))
Source

bundle.lisp.

Generic Function: duration (source)

Accessor to the duration of the segment’s effect.

Must be measured in seconds.

See FADER
See DELAY
See REPEAT

Package

org.shirakumo.fraf.mixed.

Methods
Method: duration ((segment1 repeat))
Source

repeat.lisp.

Method: duration ((segment1 fader))
Source

fader.lisp.

Method: duration ((segment1 delay))
Source

delay.lisp.

Method: duration ((bundle bundle))
Source

bundle.lisp.

Method: duration ((source source))
Source

source.lisp.

Generic Function: (setf duration) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf duration) ((segment34 repeat))
Source

repeat.lisp.

Method: (setf duration) ((segment34 fader))
Source

fader.lisp.

Method: (setf duration) ((segment37 delay))
Source

delay.lisp.

Method: (setf duration) ((bundle bundle))
Source

bundle.lisp.

Generic Function: encoding (pack)

Accessor to the sample encoding of the raw data buffer in the object.

The encoding has to be one of the following:
:INT8 :UINT8 :INT16 :UINT16 :INT24 :UINT24 :INT32 :UINT32
:FLOAT :DOUBLE

See PACK

Package

org.shirakumo.fraf.mixed.

Methods
Method: encoding ((unpacker unpacker))
Source

unpacker.lisp.

Method: encoding ((packer packer))
Source

packer.lisp.

Method: encoding ((drain drain))
Source

drain.lisp.

Method: encoding ((pack pack))
Source

pack.lisp.

Generic Function: (setf encoding) (pack)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf encoding) ((unpacker unpacker))
Source

unpacker.lisp.

Method: (setf encoding) ((packer packer))
Source

packer.lisp.

Method: (setf encoding) ((pack pack))
Source

pack.lisp.

Generic Function: end (segment)

End the mixing process.

This method should be called as close as possible after all desired calls to MIX are done. Calling MIX after END is called is an error. Some segments may require END to be called before their fields can be set freely. Thus mixing might need to be ’paused’ to change settings.

See SEGMENT-SEQUENCE
See SEGMENT
See START
See MIX

Package

org.shirakumo.fraf.mixed.

Methods
Method: end ((drain drain))
Source

dummy.lisp.

Method: end ((virtual virtual))
Source

virtual.lisp.

Method: end ((bundle bundle))
Source

bundle.lisp.

Method: end ((segment segment))
Source

segment.lisp.

Generic Reader: error-code (condition)

Accessor for the error code contained in the condition instance.

See MIXED:ERROR
See MIXED:ERROR-STRING

Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: error-code ((condition mixed-error))
Source

toolkit.lisp.

Target Slot

error-code.

Generic Writer: (setf error-code) (condition)
Package

org.shirakumo.fraf.mixed.

Methods
Writer Method: (setf error-code) ((condition mixed-error))
Source

toolkit.lisp.

Target Slot

error-code.

Generic Function: fade-type (bundle)

Accessor to the type of easing function used for the fade.

Must be one of :LINEAR :CUBIC-IN :CUBIC-OUT :CUBIC-IN-OUT

See FADER

Package

org.shirakumo.fraf.mixed.

Methods
Method: fade-type ((segment1 fader))
Source

fader.lisp.

Method: fade-type ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf fade-type) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf fade-type) ((segment64 fader))
Source

fader.lisp.

Method: (setf fade-type) ((bundle bundle))
Source

bundle.lisp.

Generic Function: field (field segment1)

Access the field of the segment.

Which fields are supported depends on the segment in question.

Some fields may only be read and not written to or vice-versa.

See SEGMENT

Package

org.shirakumo.fraf.mixed.

Methods
Method: field ((field (eql :bypass)) (segment1 volume-control))
Source

volume-control.lisp.

Method: field ((field (eql :pan)) (segment1 volume-control))
Source

volume-control.lisp.

Method: field ((field (eql :volume)) (segment1 volume-control))
Source

volume-control.lisp.

Method: field (field (virtual virtual))
Source

virtual.lisp.

Method: field ((field (eql :bypass)) (segment1 unpacker))
Source

unpacker.lisp.

Method: field ((field (eql :volume)) (segment1 unpacker))
Source

unpacker.lisp.

Method: field ((field (eql :bypass)) (segment1 speed-change))
Source

speed-change.lisp.

Method: field ((field (eql :speed-factor)) (segment1 speed-change))
Source

speed-change.lisp.

Method: field ((field (eql :distance-delay)) (segment1 spatial-reverb))
Source

spatial-reverb.lisp.

Method: field ((field (eql :max-distance)) (segment1 spatial-reverb))
Source

spatial-reverb.lisp.

Method: field ((field (eql :attenuation)) (segment space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :volume)) (segment1 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :rolloff)) (segment1 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :max-distance)) (segment1 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :min-distance)) (segment1 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :doppler-factor)) (segment1 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :soundspeed)) (segment1 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :up)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :direction)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :velocity)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :location)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: field ((field (eql :bypass)) (segment1 repeat))
Source

repeat.lisp.

Method: field ((field (eql :samplerate)) (segment1 repeat))
Source

repeat.lisp.

Method: field ((field (eql :repeat-mode)) (segment1 repeat))
Source

repeat.lisp.

Method: field ((field (eql :duration)) (segment1 repeat))
Source

repeat.lisp.

Method: field ((field (eql :repeat-position)) (segment1 repeat))
Source

repeat.lisp.

Method: field ((field (eql :bypass)) (segment1 queue))
Source

queue.lisp.

Method: field ((field (eql :out-count)) (segment1 queue))
Source

queue.lisp.

Method: field ((field (eql :in-count)) (segment1 queue))
Source

queue.lisp.

Method: field ((field (eql :current-segment)) (segment queue))
Source

queue.lisp.

Method: field ((field (eql :wet)) (segment1 quantize))
Source

quantize.lisp.

Method: field ((field (eql :bypass)) (segment1 quantize))
Source

quantize.lisp.

Method: field ((field (eql :steps)) (segment1 quantize))
Source

quantize.lisp.

Method: field ((field (eql :attenuation)) (segment plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :volume)) (segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :rolloff)) (segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :max-distance)) (segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :min-distance)) (segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :doppler-factor)) (segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :soundspeed)) (segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :velocity)) (segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :location)) (segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: field ((field (eql :wet)) (segment1 pitch))
Source

pitch.lisp.

Method: field ((field (eql :bypass)) (segment1 pitch))
Source

pitch.lisp.

Method: field ((field (eql :samplerate)) (segment1 pitch))
Source

pitch.lisp.

Method: field ((field (eql :pitch)) (segment1 pitch))
Source

pitch.lisp.

Method: field ((field (eql :bypass)) (segment1 packer))
Source

packer.lisp.

Method: field ((field (eql :volume)) (segment1 packer))
Source

packer.lisp.

Method: field ((field (eql :noise-type)) (segment1 noise))
Source

noise.lisp.

Method: field ((field (eql :volume)) (segment1 noise))
Source

noise.lisp.

Method: field (field (segment ladspa))
Source

ladspa.lisp.

Method: field ((field (eql :frequency)) (segment1 generator))
Source

generator.lisp.

Method: field ((field (eql :wave-type)) (segment1 generator))
Source

generator.lisp.

Method: field ((field (eql :volume)) (segment1 generator))
Source

generator.lisp.

Method: field ((field (eql :bypass)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :release)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :hold)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :attack)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :close-threshold)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :open-threshold)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :samplerate)) (segment1 gate))
Source

gate.lisp.

Method: field ((field (eql :bypass)) (segment1 fader))
Source

fader.lisp.

Method: field ((field (eql :fade-type)) (segment1 fader))
Source

fader.lisp.

Method: field ((field (eql :duration)) (segment1 fader))
Source

fader.lisp.

Method: field ((field (eql :to)) (segment1 fader))
Source

fader.lisp.

Method: field ((field (eql :from)) (segment1 fader))
Source

fader.lisp.

Method: field ((field (eql :bypass)) (segment1 delay))
Source

delay.lisp.

Method: field ((field (eql :samplerate)) (segment1 delay))
Source

delay.lisp.

Method: field ((field (eql :duration)) (segment1 delay))
Source

delay.lisp.

Method: field ((field (eql :channel-count-out)) (segment1 channel-convert))
Source

channel-convert.lisp.

Method: field ((field (eql :channel-count-in)) (segment1 channel-convert))
Source

channel-convert.lisp.

Method: field ((field (eql :bypass)) (segment1 chain))
Source

chain.lisp.

Method: field (field (bundle bundle))
Source

bundle.lisp.

Method: field ((field (eql :bypass)) (segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: field ((field (eql :samplerate)) (segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: field ((field (eql :gain)) (segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: field ((field (eql :q)) (segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: field ((field (eql :filter)) (segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: field ((field (eql :frequency)) (segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: field ((field (eql :volume)) (segment1 basic-mixer))
Source

basic-mixer.lisp.

Generic Function: (setf field) (field segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf field) ((field (eql :bypass)) (segment52 volume-control))
Source

volume-control.lisp.

Method: (setf field) ((field (eql :pan)) (segment34 volume-control))
Source

volume-control.lisp.

Method: (setf field) ((field (eql :volume)) (segment37 volume-control))
Source

volume-control.lisp.

Method: (setf field) (field (virtual virtual))
Source

virtual.lisp.

Method: (setf field) ((field (eql :bypass)) (segment46 unpacker))
Source

unpacker.lisp.

Method: (setf field) ((field (eql :volume)) (segment61 unpacker))
Source

unpacker.lisp.

Method: (setf field) ((field (eql :bypass)) (segment40 speed-change))
Source

speed-change.lisp.

Method: (setf field) ((field (eql :speed-factor)) (segment37 speed-change))
Source

speed-change.lisp.

Method: (setf field) ((field (eql :distance-delay)) (segment34 spatial-reverb))
Source

spatial-reverb.lisp.

Method: (setf field) ((field (eql :max-distance)) (segment34 spatial-reverb))
Source

spatial-reverb.lisp.

Method: (setf field) ((field (eql :attenuation)) (segment space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :volume)) (segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :rolloff)) (segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :max-distance)) (segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :min-distance)) (segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :doppler-factor)) (segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :soundspeed)) (segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :up)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :direction)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :velocity)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :location)) (segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf field) ((field (eql :bypass)) (segment58 repeat))
Source

repeat.lisp.

Method: (setf field) ((field (eql :samplerate)) (segment34 repeat))
Source

repeat.lisp.

Method: (setf field) ((field (eql :repeat-mode)) (segment52 repeat))
Source

repeat.lisp.

Method: (setf field) ((field (eql :duration)) (segment34 repeat))
Source

repeat.lisp.

Method: (setf field) ((field (eql :repeat-position)) (segment37 repeat))
Source

repeat.lisp.

Method: (setf field) ((field (eql :bypass)) (segment52 queue))
Source

queue.lisp.

Method: (setf field) ((field (eql :out-count)) (segment34 queue))
Source

queue.lisp.

Method: (setf field) ((field (eql :in-count)) (segment40 queue))
Source

queue.lisp.

Method: (setf field) ((field (eql :wet)) (segment34 quantize))
Source

quantize.lisp.

Method: (setf field) ((field (eql :bypass)) (segment40 quantize))
Source

quantize.lisp.

Method: (setf field) ((field (eql :steps)) (segment37 quantize))
Source

quantize.lisp.

Method: (setf field) ((field (eql :attenuation)) (segment plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :volume)) (segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :rolloff)) (segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :max-distance)) (segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :min-distance)) (segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :doppler-factor)) (segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :soundspeed)) (segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :velocity)) (segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :location)) (segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf field) ((field (eql :wet)) (segment34 pitch))
Source

pitch.lisp.

Method: (setf field) ((field (eql :bypass)) (segment52 pitch))
Source

pitch.lisp.

Method: (setf field) ((field (eql :samplerate)) (segment34 pitch))
Source

pitch.lisp.

Method: (setf field) ((field (eql :pitch)) (segment37 pitch))
Source

pitch.lisp.

Method: (setf field) ((field (eql :bypass)) (segment46 packer))
Source

packer.lisp.

Method: (setf field) ((field (eql :volume)) (segment61 packer))
Source

packer.lisp.

Method: (setf field) ((field (eql :noise-type)) (segment40 noise))
Source

noise.lisp.

Method: (setf field) ((field (eql :volume)) (segment37 noise))
Source

noise.lisp.

Method: (setf field) (field (segment ladspa))
Source

ladspa.lisp.

Method: (setf field) ((field (eql :frequency)) (segment34 generator))
Source

generator.lisp.

Method: (setf field) ((field (eql :wave-type)) (segment40 generator))
Source

generator.lisp.

Method: (setf field) ((field (eql :volume)) (segment37 generator))
Source

generator.lisp.

Method: (setf field) ((field (eql :bypass)) (segment37 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :release)) (segment34 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :hold)) (segment34 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :attack)) (segment34 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :close-threshold)) (segment34 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :open-threshold)) (segment34 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :samplerate)) (segment37 gate))
Source

gate.lisp.

Method: (setf field) ((field (eql :bypass)) (segment46 fader))
Source

fader.lisp.

Method: (setf field) ((field (eql :fade-type)) (segment64 fader))
Source

fader.lisp.

Method: (setf field) ((field (eql :duration)) (segment34 fader))
Source

fader.lisp.

Method: (setf field) ((field (eql :to)) (segment34 fader))
Source

fader.lisp.

Method: (setf field) ((field (eql :from)) (segment37 fader))
Source

fader.lisp.

Method: (setf field) ((field (eql :bypass)) (segment52 delay))
Source

delay.lisp.

Method: (setf field) ((field (eql :samplerate)) (segment34 delay))
Source

delay.lisp.

Method: (setf field) ((field (eql :duration)) (segment37 delay))
Source

delay.lisp.

Method: (setf field) :after ((field (eql :channel-count-out)) (segment channel-convert))
Source

channel-convert.lisp.

Method: (setf field) :after ((field (eql :channel-count-in)) (segment channel-convert))
Source

channel-convert.lisp.

Method: (setf field) ((field (eql :channel-count-out)) (segment34 channel-convert))
Source

channel-convert.lisp.

Method: (setf field) ((field (eql :channel-count-in)) (segment37 channel-convert))
Source

channel-convert.lisp.

Method: (setf field) ((field (eql :bypass)) (segment34 chain))
Source

chain.lisp.

Method: (setf field) (field (bundle bundle))
Source

bundle.lisp.

Method: (setf field) ((field (eql :bypass)) (segment82 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf field) ((field (eql :samplerate)) (segment34 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf field) ((field (eql :gain)) (segment34 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf field) ((field (eql :q)) (segment34 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf field) ((field (eql :filter)) (segment40 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf field) ((field (eql :frequency)) (segment37 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf field) ((field (eql :volume)) (segment34 basic-mixer))
Source

basic-mixer.lisp.

Method: (setf field) (field (segment segment))
Source

segment.lisp.

Generic Reader: file (object)
Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: file ((file-drain file-drain))

automatically generated reader method

Source

drain.lisp.

Target Slot

file.

Generic Function: filter (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: filter ((segment1 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: (setf filter) (segment40)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf filter) ((segment40 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: frame-count (source)
Package

org.shirakumo.fraf.mixed.

Source

source.lisp.

Generic Reader: frame-position (object)
Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: frame-position ((source source))

automatically generated reader method

Source

source.lisp.

Target Slot

frame-position.

Reader Method: frame-position ((file-drain file-drain))

automatically generated reader method

Source

drain.lisp.

Target Slot

frame-position.

Generic Writer: (setf frame-position) (object)
Package

org.shirakumo.fraf.mixed.

Methods
Writer Method: (setf frame-position) ((source source))

automatically generated writer method

Source

source.lisp.

Target Slot

frame-position.

Writer Method: (setf frame-position) ((file-drain file-drain))

automatically generated writer method

Source

drain.lisp.

Target Slot

frame-position.

Generic Function: framesize (buffer)
Package

org.shirakumo.fraf.mixed.

Methods
Method: framesize ((source source))
Source

source.lisp.

Method: framesize ((drain drain))
Source

drain.lisp.

Method: framesize ((pack pack))
Source

pack.lisp.

Method: framesize ((buffer buffer))
Source

buffer.lisp.

Generic Function: free (object)

Free the foreign data associated with this object.

This makes sure that the data is properly cleaned up and that the object can’t accidentally be double-freed or accessed in any way after the free.

See C-OBJECT

Package

org.shirakumo.fraf.mixed.

Methods
Method: free ((drain drain))
Source

dummy.lisp.

Method: free ((virtual virtual))
Source

virtual.lisp.

Method: free ((bundle bundle))
Source

bundle.lisp.

Method: free ((segment segment))
Source

segment.lisp.

Method: free ((pack pack))
Source

pack.lisp.

Method: free ((buffer buffer))
Source

buffer.lisp.

Method: free :after ((object c-object))
Source

c-object.lisp.

Method: free ((object c-object))
Source

c-object.lisp.

Generic Function: frequency (segment1)

Accessor to the frequency of the wave.

Must be in the range [0.0, samplerate].

See GENERATOR

Package

org.shirakumo.fraf.mixed.

Methods
Method: frequency ((segment1 generator))
Source

generator.lisp.

Method: frequency ((bundle bundle))
Source

bundle.lisp.

Method: frequency ((segment1 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: (setf frequency) (segment37)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf frequency) ((segment34 generator))
Source

generator.lisp.

Method: (setf frequency) ((bundle bundle))
Source

bundle.lisp.

Method: (setf frequency) ((segment37 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: from (bundle)

Accessor to the starting volume of the fading segment.

Must be in the range of [0.0, infinity[.

See FADER

Package

org.shirakumo.fraf.mixed.

Methods
Method: from ((segment1 fader))
Source

fader.lisp.

Method: from ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf from) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf from) ((segment37 fader))
Source

fader.lisp.

Method: (setf from) ((bundle bundle))
Source

bundle.lisp.

Generic Function: gain (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: gain ((segment1 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: (setf gain) (segment34)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf gain) ((segment34 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: handle (thing)

Accessor to the pointer to the foreign data that this object tracks.

See CFFI:FOREIGN-POINTER
See C-OBJECT

Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: handle ((c-object c-object))

automatically generated reader method

Source

c-object.lisp.

Target Slot

handle.

Method: handle (thing)
Source

c-object.lisp.

Generic Writer: (setf handle) (object)
Package

org.shirakumo.fraf.mixed.

Methods
Writer Method: (setf handle) ((c-object c-object))

automatically generated writer method

Source

c-object.lisp.

Target Slot

handle.

Generic Function: hold (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: hold ((segment1 gate))
Source

gate.lisp.

Method: hold ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf hold) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf hold) ((segment34 gate))
Source

gate.lisp.

Method: (setf hold) ((bundle bundle))
Source

bundle.lisp.

Generic Function: in-count (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: in-count ((segment1 queue))
Source

queue.lisp.

Generic Function: (setf in-count) (segment40)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf in-count) ((segment40 queue))
Source

queue.lisp.

Generic Function: info (segment)

Fetch metadata information about the segment.

Returns a plist with the following entries:
:NAME — A string denoting the name of the type of segment this is. :DESCRIPTION — A string denoting a human-readable description of the segment. :FLAGS — A list of flags for the segment. Should be one of:
:INPLACE — Output and input buffers may be identical as processing is in-place.
:MODIFIES-INPUT — The data in the input buffer is modified.
:MIN-INPUTS — The minimal number of inputs that needs to be connected to this segment.
:MAX-INPUTS — The maximal number of inputs that may be connected to this segment. :OUTPUTS — The number of outputs that this segment provides.
:FIELDS — A list of plists describing the possible flags. Each plist has the following entries:
:FIELD — The keyword or integer denoting the field.
:DESCRIPTION — A string for a human-readable description of what the field does.
:FLAGS — A list of keywords describing the applicability of the field. Must be one of:
:IN — This field is for inputs. :OUT — This field is for outputs. :SEGMENT — This field is for the segment. :SET — This field may be written to. :GET — This field may be read.

Note that this value is cached after the first retrieval. You are thus not allowed to modify the return value.

See SEGMENT

Package

org.shirakumo.fraf.mixed.

Methods
Method: info ((virtual virtual))
Source

virtual.lisp.

Method: info ((bundle bundle))
Source

bundle.lisp.

Method: info ((source source))
Source

source.lisp.

Method: info ((drain drain))
Source

drain.lisp.

Method: info ((segment segment))
Source

segment.lisp.

Generic Function: input (location segment)

Accessor to the input buffer at the specified location of the segment.

See INPUT-FIELD
See SEGMENT

Package

org.shirakumo.fraf.mixed.

Methods
Method: input ((location (eql 0)) (unpacker unpacker))
Source

unpacker.lisp.

Method: input ((location integer) (bundle bundle))
Source

bundle.lisp.

Method: input (location (segment segment))
Source

segment.lisp.

Generic Function: (setf input) (location segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input) ((location integer) (bundle bundle))
Source

bundle.lisp.

Method: (setf input) (location (segment segment))
Source

segment.lisp.

Generic Function: input-field (field location segment)

Access the field of an input of the segment.

Which fields are supported depends on the segment in question. Usually the :BUFFER field will be recognised for which the value should be a BUFFER instance.

Some fields may only be read and not written to or vice-versa.

See SEGMENT
See INPUT

Package

org.shirakumo.fraf.mixed.

Methods
Method: input-field ((field (eql :buffer)) (location integer) (segment virtual))
Source

virtual.lisp.

Method: input-field (field location (virtual virtual))
Source

virtual.lisp.

Method: input-field ((field (eql :pack)) (location (eql 0)) (unpacker unpacker))
Source

unpacker.lisp.

Method: input-field ((field (eql :rolloff)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-field ((field (eql :max-distance)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-field ((field (eql :min-distance)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-field ((field (eql :velocity)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-field ((field (eql :location)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-field ((field (eql :rolloff)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-field ((field (eql :max-distance)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-field ((field (eql :min-distance)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-field ((field (eql :velocity)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-field ((field (eql :location)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-field (field (location integer) (bundle bundle))
Source

bundle.lisp.

Method: input-field ((field (eql :buffer)) (location integer) (segment segment))
Source

segment.lisp.

Method: input-field ((field (eql :buffer)) (location symbol) (segment segment))
Source

segment.lisp.

Generic Function: (setf input-field) (field location segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input-field) ((field (eql :buffer)) (location integer) (segment virtual))
Source

virtual.lisp.

Method: (setf input-field) ((field (eql :buffer)) (location integer) (segment virtual))
Source

virtual.lisp.

Method: (setf input-field) (field location (virtual virtual))
Source

virtual.lisp.

Method: (setf input-field) ((field (eql :rolloff)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-field) ((field (eql :max-distance)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-field) ((field (eql :min-distance)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-field) ((field (eql :velocity)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-field) ((field (eql :location)) location2 (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-field) ((field (eql :rolloff)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-field) ((field (eql :max-distance)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-field) ((field (eql :min-distance)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-field) ((field (eql :velocity)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-field) ((field (eql :location)) location2 (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-field) (field (location integer) (bundle bundle))
Source

bundle.lisp.

Method: (setf input-field) ((field (eql :buffer)) (location integer) (mixer mixer))
Source

mixer.lisp.

Method: (setf input-field) ((field (eql :buffer)) (location integer) (mixer mixer))
Source

mixer.lisp.

Method: (setf input-field) ((field (eql :buffer)) (location (eql t)) (mixer mixer))
Source

mixer.lisp.

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

segment.lisp.

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

segment.lisp.

Method: (setf input-field) ((field (eql :buffer)) (location symbol) (segment segment))
Source

segment.lisp.

Method: (setf input-field) (field location segment)
Source

segment.lisp.

Generic Function: input-location (location2 segment3)

Accessor for the location of the source in space.

To set a vector, the value should be a list or a vector of three floats. When reading, the returned value is always a vector of three floats.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: input-location ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-location ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-location ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-location ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: (setf input-location) (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input-location) ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-location) ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-location) ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-location) ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: input-max-distance (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: input-max-distance ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-max-distance ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-max-distance ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-max-distance ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: (setf input-max-distance) (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input-max-distance) ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-max-distance) ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-max-distance) ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-max-distance) ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: input-min-distance (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: input-min-distance ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-min-distance ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-min-distance ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-min-distance ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: (setf input-min-distance) (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input-min-distance) ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-min-distance) ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-min-distance) ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-min-distance) ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: input-rolloff (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: input-rolloff ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-rolloff ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-rolloff ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-rolloff ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: (setf input-rolloff) (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input-rolloff) ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-rolloff) ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-rolloff) ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-rolloff) ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: input-velocity (location2 segment3)

Accessor for the velocity of the source in space.

To set a vector, the value should be a list or a vector of three floats. When reading, the returned value is always a vector of three floats.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: input-velocity ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-velocity ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: input-velocity ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: input-velocity ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: (setf input-velocity) (location2 segment3)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf input-velocity) ((location2 integer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-velocity) ((location2 buffer) (segment3 space-mixer))
Source

space-mixer.lisp.

Method: (setf input-velocity) ((location2 integer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf input-velocity) ((location2 buffer) (segment3 plane-mixer))
Source

plane-mixer.lisp.

Generic Function: inputs (object)

Accessor to the vector of input buffers connected to the segment.

This vector will become out of date if the segment’s
buffers are added or removed from the C side directly,
or directly through this vector. Thus you should never
modify this directly and instead always
make sure to go through INPUT.

See SEGMENT
See INPUT

Package

org.shirakumo.fraf.mixed.

Methods
Method: inputs ((bundle bundle))
Source

bundle.lisp.

Reader Method: inputs ((segment segment))

automatically generated reader method

Source

segment.lisp.

Target Slot

inputs.

Generic Function: list-devices (device-drain)
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Generic Function: location (bundle)

Accessor for the location of the listener in space.

To set a vector, the value should be a list or a vector of three floats. When reading, the returned value is always a vector of three floats.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: location ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: location ((segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: location ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf location) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf location) ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf location) ((segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf location) ((bundle bundle))
Source

bundle.lisp.

Generic Function: match-channel-order (segment new-order &key old-order side)
Package

org.shirakumo.fraf.mixed.

Methods
Method: match-channel-order ((segment segment) new-order &key old-order side)
Source

segment.lisp.

Generic Function: max-distance (bundle)

Accessor to the maximal distance above which the source is inaudible.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: max-distance ((segment1 spatial-reverb))
Source

spatial-reverb.lisp.

Method: max-distance ((segment1 space-mixer))
Source

space-mixer.lisp.

Method: max-distance ((segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: max-distance ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf max-distance) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf max-distance) ((segment34 spatial-reverb))
Source

spatial-reverb.lisp.

Method: (setf max-distance) ((segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf max-distance) ((segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf max-distance) ((bundle bundle))
Source

bundle.lisp.

Generic Function: min-distance (bundle)

Accessor to the minimal distance below which the source is at max volume.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: min-distance ((segment1 space-mixer))
Source

space-mixer.lisp.

Method: min-distance ((segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: min-distance ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf min-distance) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf min-distance) ((segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf min-distance) ((segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf min-distance) ((bundle bundle))
Source

bundle.lisp.

Generic Function: mix (segment)

Perform the actual mixing.

This processes the given number of samples through the pipeline. It is your job to make sure that sources provide enough fresh samples and drains will consume enough samples. Calling MIX with more samples specified than any one buffer connected to the segments in the sequence can hold is an error and may crash your system. No checks for this problem are done.

Calling MIX before START has been called or after END has been called is an error and may result in crashes. No checks for this problem are done.

If you want to ensure that the sequence is complete and able to process the requested number of samples, you should call CHECK-COMPLETE after running START.

When adding methods to MIX for virtual segments, you should make sure to return true, unless your segment has somehow ended and exhausted the samples it wants to process, in which case you should return NIL.

See SEGMENT-SEQUENCE
See SEGMENT
See START
See END

Package

org.shirakumo.fraf.mixed.

Methods
Method: mix ((drain drain))
Source

dummy.lisp.

Method: mix ((virtual virtual))
Source

virtual.lisp.

Method: mix ((bundle bundle))
Source

bundle.lisp.

Method: mix ((segment segment))
Source

segment.lisp.

Generic Function: noise-type (bundle)

Accessor to the type of noise being generated.

The value must be one of :WHITE, :PINK, :BROWN.

See NOISE

Package

org.shirakumo.fraf.mixed.

Methods
Method: noise-type ((segment1 noise))
Source

noise.lisp.

Method: noise-type ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf noise-type) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf noise-type) ((segment40 noise))
Source

noise.lisp.

Method: (setf noise-type) ((bundle bundle))
Source

bundle.lisp.

Generic Function: open-threshold (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: open-threshold ((segment1 gate))
Source

gate.lisp.

Method: open-threshold ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf open-threshold) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf open-threshold) ((segment34 gate))
Source

gate.lisp.

Method: (setf open-threshold) ((bundle bundle))
Source

bundle.lisp.

Generic Function: out-count (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: out-count ((segment1 queue))
Source

queue.lisp.

Generic Function: (setf out-count) (segment34)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf out-count) ((segment34 queue))
Source

queue.lisp.

Generic Function: output (location segment)

Accessor to the output buffer at the specified location of the segment.

See OUTPUT-FIELD
See SEGMENT

Package

org.shirakumo.fraf.mixed.

Methods
Method: output ((location (eql 0)) (packer packer))
Source

packer.lisp.

Method: output ((location integer) (bundle bundle))
Source

bundle.lisp.

Method: output ((location (eql 0)) (source source))
Source

source.lisp.

Method: output ((location (eql 0)) (drain drain))
Source

drain.lisp.

Method: output (location (segment segment))
Source

segment.lisp.

Generic Function: (setf output) (location segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf output) ((location integer) (bundle bundle))
Source

bundle.lisp.

Method: (setf output) (location (segment segment))
Source

segment.lisp.

Generic Function: output-field (field location segment)

Access the field of an output of the segment.

Which fields are supported depends on the segment in question. Usually the :BUFFER field will be recognised for which the value should be a BUFFER instance.

Some fields may only be read and not written to or vice-versa.

See SEGMENT
See OUTPUT

Package

org.shirakumo.fraf.mixed.

Methods
Method: output-field ((field (eql :buffer)) (location integer) (segment virtual))
Source

virtual.lisp.

Method: output-field (field location (virtual virtual))
Source

virtual.lisp.

Method: output-field ((field (eql :pack)) (location (eql 0)) (packer packer))
Source

packer.lisp.

Method: output-field (field (location integer) (bundle bundle))
Source

bundle.lisp.

Method: output-field ((field (eql :pack)) (location (eql 0)) (source source))
Source

source.lisp.

Method: output-field ((field (eql :pack)) (location (eql 0)) (drain drain))
Source

drain.lisp.

Method: output-field ((field (eql :buffer)) (location integer) (segment segment))
Source

segment.lisp.

Method: output-field ((field (eql :buffer)) (location symbol) (segment segment))
Source

segment.lisp.

Generic Function: (setf output-field) (field location segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf output-field) ((field (eql :buffer)) (location integer) (segment virtual))
Source

virtual.lisp.

Method: (setf output-field) ((field (eql :buffer)) (location integer) (segment virtual))
Source

virtual.lisp.

Method: (setf output-field) (field location (virtual virtual))
Source

virtual.lisp.

Method: (setf output-field) (field (location integer) (bundle bundle))
Source

bundle.lisp.

Method: (setf output-field) ((field (eql :pack)) (location (eql 0)) (source source))
Source

source.lisp.

Method: (setf output-field) ((field (eql :pack)) (location (eql 0)) (source source))
Source

source.lisp.

Method: (setf output-field) ((field (eql :pack)) (location (eql 0)) (drain drain))
Source

drain.lisp.

Method: (setf output-field) ((field (eql :pack)) (location (eql 0)) (drain drain))
Source

drain.lisp.

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

segment.lisp.

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

segment.lisp.

Method: (setf output-field) ((field (eql :buffer)) (location symbol) (segment segment))
Source

segment.lisp.

Method: (setf output-field) (field location segment)
Source

segment.lisp.

Generic Function: outputs (object)

Accessor to the vector of output buffers connected to the segment.

This vector will become out of date if the segment’s
buffers are added or removed from the C side directly,
or directly through this vector. Thus you should never
modify this directly and instead always
make sure to go through OUTPUT

See SEGMENT
See OUTPUT

Package

org.shirakumo.fraf.mixed.

Methods
Method: outputs ((bundle bundle))
Source

bundle.lisp.

Reader Method: outputs ((segment segment))

automatically generated reader method

Source

segment.lisp.

Target Slot

outputs.

Generic Reader: pack (object)
Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: pack ((unpacker unpacker))

automatically generated reader method

Source

unpacker.lisp.

Target Slot

pack.

Reader Method: pack ((packer packer))

automatically generated reader method

Source

packer.lisp.

Target Slot

pack.

Reader Method: pack ((source source))

automatically generated reader method

Source

source.lisp.

Target Slot

pack.

Reader Method: pack ((drain drain))

automatically generated reader method

Source

drain.lisp.

Target Slot

pack.

Generic Function: (setf pack) (drain)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf pack) ((source source))
Source

source.lisp.

Method: (setf pack) ((drain drain))
Source

drain.lisp.

Generic Function: pan (bundle)

Accessor to the outputting pan of the volume control segment.

Must be in the range [-1,1].

See VOLUME-CONTROL

Package

org.shirakumo.fraf.mixed.

Methods
Method: pan ((segment1 volume-control))
Source

volume-control.lisp.

Method: pan ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf pan) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf pan) ((segment34 volume-control))
Source

volume-control.lisp.

Method: (setf pan) ((bundle bundle))
Source

bundle.lisp.

Generic Function: pitch (bundle)

Accessor to the current pitch shifting value.

The pitch shift is denoted as a float in the range of ]0,infinity[, where 1 is no change, 0.5 halves the pitch, and 2 doubles the pitch.

Note that extreme values on either side will result in heavy distortions and quality loss. Anything outside the range of [0.5,2.0] will already result in audible artefacts.

See PITCH

Package

org.shirakumo.fraf.mixed.

Methods
Method: pitch ((segment1 pitch))
Source

pitch.lisp.

Method: pitch ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf pitch) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf pitch) ((segment37 pitch))
Source

pitch.lisp.

Method: (setf pitch) ((bundle bundle))
Source

bundle.lisp.

Generic Reader: program-name (object)
Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: program-name ((drain drain))

automatically generated reader method

Source

drain.lisp.

Target Slot

program-name.

Generic Writer: (setf program-name) (object)
Package

org.shirakumo.fraf.mixed.

Methods
Writer Method: (setf program-name) ((drain drain))

automatically generated writer method

Source

drain.lisp.

Target Slot

program-name.

Generic Function: q (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: q ((segment1 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: (setf q) (segment34)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf q) ((segment34 biquad-filter))
Source

biquad-filter.lisp.

Generic Function: release (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: release ((segment1 gate))
Source

gate.lisp.

Method: release ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf release) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf release) ((segment34 gate))
Source

gate.lisp.

Method: (setf release) ((bundle bundle))
Source

bundle.lisp.

Generic Function: repeat-mode (bundle)

Accessor to the mode the repeat segment is currently in.

The value must be either :RECORD or :PLAY.
When in record mode, the segment will fill its internal buffer with the samples from the input buffer, and copy them to the output buffer. While in this mode it is thus "transparent" and does not change anything.
When in play mode, the segment continuously plays back its internal buffer to the output buffer, ignoring all samples on the input buffer.

See REPEAT

Package

org.shirakumo.fraf.mixed.

Methods
Method: repeat-mode ((segment1 repeat))
Source

repeat.lisp.

Method: repeat-mode ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf repeat-mode) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf repeat-mode) ((segment52 repeat))
Source

repeat.lisp.

Method: (setf repeat-mode) ((bundle bundle))
Source

bundle.lisp.

Generic Function: repeat-position (segment1)
Package

org.shirakumo.fraf.mixed.

Methods
Method: repeat-position ((segment1 repeat))
Source

repeat.lisp.

Generic Function: (setf repeat-position) (segment37)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf repeat-position) ((segment37 repeat))
Source

repeat.lisp.

Generic Function: revalidate (segment)
Package

org.shirakumo.fraf.mixed.

Methods
Method: revalidate ((segment segment))
Source

segment.lisp.

Generic Function: rolloff (bundle)

Accessor to the rolloff factor that describes the curvature of the attenuation function.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: rolloff ((segment1 space-mixer))
Source

space-mixer.lisp.

Method: rolloff ((segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: rolloff ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf rolloff) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf rolloff) ((segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf rolloff) ((segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf rolloff) ((bundle bundle))
Source

bundle.lisp.

Generic Function: samplerate (pack)

Accessor to the samplerate at which the samples are expected to be.

The sample rate is in Hz.

See PACK
See DELAY
See FADER
See BIQUAD-FILTER
See PITCH
See REPEAT
See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: samplerate ((unpacker unpacker))
Source

unpacker.lisp.

Method: samplerate ((segment1 repeat))
Source

repeat.lisp.

Method: samplerate ((segment1 pitch))
Source

pitch.lisp.

Method: samplerate ((packer packer))
Source

packer.lisp.

Method: samplerate ((segment1 gate))
Source

gate.lisp.

Method: samplerate ((segment1 delay))
Source

delay.lisp.

Method: samplerate ((bundle bundle))
Source

bundle.lisp.

Method: samplerate ((segment1 biquad-filter))
Source

biquad-filter.lisp.

Method: samplerate ((drain drain))
Source

drain.lisp.

Method: samplerate ((pack pack))
Source

pack.lisp.

Generic Function: (setf samplerate) (pack)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf samplerate) ((unpacker unpacker))
Source

unpacker.lisp.

Method: (setf samplerate) ((segment34 repeat))
Source

repeat.lisp.

Method: (setf samplerate) ((segment34 pitch))
Source

pitch.lisp.

Method: (setf samplerate) ((packer packer))
Source

packer.lisp.

Method: (setf samplerate) ((segment37 gate))
Source

gate.lisp.

Method: (setf samplerate) ((segment34 delay))
Source

delay.lisp.

Method: (setf samplerate) ((bundle bundle))
Source

bundle.lisp.

Method: (setf samplerate) ((segment34 biquad-filter))
Source

biquad-filter.lisp.

Method: (setf samplerate) ((pack pack))
Source

pack.lisp.

Generic Function: seek (source position &key mode by)
Package

org.shirakumo.fraf.mixed.

Methods
Method: seek ((source source) position &key mode by)
Source

source.lisp.

Generic Function: seek-to-frame (source position)
Package

org.shirakumo.fraf.mixed.

Source

source.lisp.

Generic Reader: segments (object)

Accessor to a vector of segments the sequence contains.

This vector will become out of date if the sequence’s segments are added or removed from the C side directly, or directly through this vector. Thus you should never modify this directly and instead always make sure to go through ADD/WITHDRAW.

See SEGMENT-SEQUENCE
See ADD
See WITHDRAW

Package

org.shirakumo.fraf.mixed.

Methods
Reader Method: segments ((queue queue))

automatically generated reader method

Source

queue.lisp.

Target Slot

segments.

Reader Method: segments ((chain chain))

automatically generated reader method

Source

chain.lisp.

Target Slot

segments.

Reader Method: segments ((bundle bundle))

automatically generated reader method

Source

bundle.lisp.

Target Slot

segments.

Generic Function: set-parameters (segment distances hit-ratios absorption-rates)
Package

org.shirakumo.fraf.mixed.

Methods
Method: set-parameters ((segment spatial-reverb) distances hit-ratios absorption-rates)
Source

spatial-reverb.lisp.

Generic Function: size (buffer)

Accessor to the size of the data contained in the object.

For packed-audio this number is in bytes.
For buffers this number is in floats.

When the size is set on a buffer, the buffer’s data array is resized to fit the requested size.

See BUFFER
See PACK
See SEGMENT-SEQUENCE

Package

org.shirakumo.fraf.mixed.

Methods
Method: size ((unpacker unpacker))
Source

unpacker.lisp.

Method: size ((packer packer))
Source

packer.lisp.

Method: size ((pack pack))
Source

pack.lisp.

Method: size ((buffer buffer))
Source

buffer.lisp.

Generic Function: (setf size) (buffer)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf size) ((unpacker unpacker))
Source

unpacker.lisp.

Method: (setf size) ((packer packer))
Source

packer.lisp.

Method: (setf size) :before ((pack pack))
Source

pack.lisp.

Method: (setf size) ((pack pack))
Source

pack.lisp.

Method: (setf size) ((buffer buffer))
Source

buffer.lisp.

Generic Function: soundspeed (bundle)

Accessor to the speed of sound in space.

This value only influences the strength of the doppler factor.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: soundspeed ((segment1 space-mixer))
Source

space-mixer.lisp.

Method: soundspeed ((segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: soundspeed ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf soundspeed) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf soundspeed) ((segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf soundspeed) ((segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf soundspeed) ((bundle bundle))
Source

bundle.lisp.

Generic Function: speed-factor (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: speed-factor ((segment1 speed-change))
Source

speed-change.lisp.

Method: speed-factor ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf speed-factor) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf speed-factor) ((segment37 speed-change))
Source

speed-change.lisp.

Method: (setf speed-factor) ((bundle bundle))
Source

bundle.lisp.

Generic Function: start (segment)

Start the mixing process.

This method should be called as close as possible to the next calls to MIX. Calling MIX before START is called or after END is called is an error. After START has been called, changing some segments’ fields may result in undefined behaviour and might even lead to crashes.

See SEGMENT-SEQUENCE
See SEGMENT
See END
See MIX

Package

org.shirakumo.fraf.mixed.

Methods
Method: start ((drain drain))
Source

dummy.lisp.

Method: start ((virtual virtual))
Source

virtual.lisp.

Method: start ((bundle bundle))
Source

bundle.lisp.

Method: start ((segment segment))
Source

segment.lisp.

Generic Function: steps (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: steps ((segment1 quantize))
Source

quantize.lisp.

Method: steps ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf steps) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf steps) ((segment37 quantize))
Source

quantize.lisp.

Method: (setf steps) ((bundle bundle))
Source

bundle.lisp.

Generic Function: to (bundle)

Accessor to the ending volume of the fading segment.

Must be in the range of [0.0, infinity[.

See FADER

Package

org.shirakumo.fraf.mixed.

Methods
Method: to ((segment1 fader))
Source

fader.lisp.

Method: to ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf to) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf to) ((segment34 fader))
Source

fader.lisp.

Method: (setf to) ((bundle bundle))
Source

bundle.lisp.

Generic Function: transfer (from to)
Package

org.shirakumo.fraf.mixed.

Methods
Method: transfer ((from pack) (to sequence))
Source

pack.lisp.

Method: transfer ((from pack) (to buffer))
Source

pack.lisp.

Method: transfer ((from sequence) (to pack))
Source

pack.lisp.

Method: transfer ((from buffer) (to pack))
Source

pack.lisp.

Method: transfer ((from buffer) (to buffer))
Source

buffer.lisp.

Generic Function: up (bundle)

Accessor for the vector representing "upwards" in space.

To set a vector, the value should be a list or a vector of three floats. When reading, the returned value is always a vector of three floats.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: up ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: up ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf up) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf up) ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf up) ((bundle bundle))
Source

bundle.lisp.

Generic Function: velocity (bundle)

Accessor for the velocity of the listener in space.

To set a vector, the value should be a list or a vector of three floats. When reading, the returned value is always a vector of three floats.

See SPACE-MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: velocity ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: velocity ((segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: velocity ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf velocity) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf velocity) ((segment2 space-mixer))
Source

space-mixer.lisp.

Method: (setf velocity) ((segment2 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf velocity) ((bundle bundle))
Source

bundle.lisp.

Generic Function: volume (thing)

Accessor to the outputting volume of the segment.

Must be in the range [0, infinity[.

See VOLUME-CONTROL
See NOISE
See GENERATOR

Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Methods
Method: volume ((segment1 volume-control))
Source

volume-control.lisp.

Method: volume ((segment1 unpacker))
Source

unpacker.lisp.

Method: volume ((segment1 space-mixer))
Source

space-mixer.lisp.

Method: volume ((segment1 plane-mixer))
Source

plane-mixer.lisp.

Method: volume ((segment1 packer))
Source

packer.lisp.

Method: volume ((segment1 noise))
Source

noise.lisp.

Method: volume ((segment1 generator))
Source

generator.lisp.

Method: volume ((bundle bundle))
Source

bundle.lisp.

Method: volume ((segment1 basic-mixer))
Source

basic-mixer.lisp.

Generic Function: (setf volume) (thing)
Package

org.shirakumo.fraf.mixed.

Source

segment.lisp.

Methods
Method: (setf volume) ((segment37 volume-control))
Source

volume-control.lisp.

Method: (setf volume) ((segment61 unpacker))
Source

unpacker.lisp.

Method: (setf volume) ((segment34 space-mixer))
Source

space-mixer.lisp.

Method: (setf volume) ((segment34 plane-mixer))
Source

plane-mixer.lisp.

Method: (setf volume) ((segment61 packer))
Source

packer.lisp.

Method: (setf volume) ((segment37 noise))
Source

noise.lisp.

Method: (setf volume) ((segment37 generator))
Source

generator.lisp.

Method: (setf volume) ((bundle bundle))
Source

bundle.lisp.

Method: (setf volume) ((segment34 basic-mixer))
Source

basic-mixer.lisp.

Generic Function: wave-type (bundle)

Accessor to the wave type the generator generates.

Must be one of :SINE :SQUARE :SAWTOOTH :TRIANGLE

See GENERATOR

Package

org.shirakumo.fraf.mixed.

Methods
Method: wave-type ((segment1 generator))
Source

generator.lisp.

Method: wave-type ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf wave-type) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf wave-type) ((segment40 generator))
Source

generator.lisp.

Method: (setf wave-type) ((bundle bundle))
Source

bundle.lisp.

Generic Function: wet (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: wet ((segment1 quantize))
Source

quantize.lisp.

Method: wet ((segment1 pitch))
Source

pitch.lisp.

Method: wet ((bundle bundle))
Source

bundle.lisp.

Generic Function: (setf wet) (bundle)
Package

org.shirakumo.fraf.mixed.

Methods
Method: (setf wet) ((segment34 quantize))
Source

quantize.lisp.

Method: (setf wet) ((segment34 pitch))
Source

pitch.lisp.

Method: (setf wet) ((bundle bundle))
Source

bundle.lisp.

Generic Function: withdraw (old segment)

Remove the object from the given collection.

For segment-sequences this means removing the segment from the sequence. For mixers this means removing the given input buffer.

See SEGMENT-SEQUENCE
See MIXER

Package

org.shirakumo.fraf.mixed.

Methods
Method: withdraw ((old segment) (segment space-mixer))
Source

space-mixer.lisp.

Method: withdraw ((position integer) (queue queue))
Source

queue.lisp.

Method: withdraw ((segment segment) (queue queue))
Source

queue.lisp.

Method: withdraw ((old segment) (segment plane-mixer))
Source

plane-mixer.lisp.

Method: withdraw ((segment segment) (chain chain))
Source

chain.lisp.

Method: withdraw ((i integer) (chain chain))
Source

chain.lisp.

Method: withdraw ((old segment) (segment basic-mixer))
Source

basic-mixer.lisp.


6.1.5 Standalone methods

Method: initialize-instance :after ((segment biquad-filter) &key filter samplerate frequency bypass q gain)
Source

biquad-filter.lisp.

Method: initialize-instance :after ((segment queue) &key inputs outputs bypass)
Source

queue.lisp.

Method: initialize-instance :around ((object c-object) &key handle)
Source

c-object.lisp.

Method: initialize-instance ((object c-object) &key)
Source

c-object.lisp.

Method: initialize-instance :after ((segment volume-control) &key volume pan bypass)
Source

volume-control.lisp.

Method: initialize-instance :around ((segment segment) &key)
Source

segment.lisp.

Method: initialize-instance :after ((space spatial-reverb) &key samplerate)
Source

spatial-reverb.lisp.

Method: initialize-instance :after ((segment channel-convert) &key in out samplerate)
Source

channel-convert.lisp.

Method: initialize-instance :after ((segment speed-change) &key speed-factor bypass)
Source

speed-change.lisp.

Method: initialize-instance :after ((segment generator) &key type frequency samplerate)
Source

generator.lisp.

Method: initialize-instance :after ((segment chain) &key segments bypass)
Source

chain.lisp.

Method: initialize-instance :after ((segment repeat) &key time mode samplerate bypass)
Source

repeat.lisp.

Method: initialize-instance :after ((segment zero) &key)
Source

null.lisp.

Method: initialize-instance :after ((space space-mixer) &key samplerate)
Source

space-mixer.lisp.

Method: initialize-instance :after ((drain drain) &key pack)
Source

drain.lisp.

Method: initialize-instance :after ((segment fader) &key from to time type samplerate bypass)
Source

fader.lisp.

Method: initialize-instance :after ((bundle bundle) &key segment-class segment-initargs channels)
Source

bundle.lisp.

Method: initialize-instance :after ((mixer basic-mixer) &key)
Source

basic-mixer.lisp.

Method: initialize-instance :after ((segment delay) &key time samplerate bypass)
Source

delay.lisp.

Method: initialize-instance :after ((segment quantize) &key steps bypass wet)
Source

quantize.lisp.

Method: initialize-instance :after ((segment pitch) &key pitch samplerate bypass wet)
Source

pitch.lisp.

Method: initialize-instance :after ((pack pack) &key frames encoding channels samplerate)
Source

pack.lisp.

Method: initialize-instance :after ((packer packer) &key samplerate)
Source

packer.lisp.

Method: initialize-instance :after ((segment distributor) &key)
Source

distribute.lisp.

Method: initialize-instance :after ((buffer buffer) &key size virtual)
Source

buffer.lisp.

Method: initialize-instance :after ((source source) &key pack)
Source

source.lisp.

Method: initialize-instance :after ((segment virtual) &key)
Source

virtual.lisp.

Method: initialize-instance :after ((segment noise) &key type)
Source

noise.lisp.

Method: initialize-instance :after ((plane plane-mixer) &key samplerate)
Source

plane-mixer.lisp.

Method: initialize-instance :after ((segment void) &key)
Source

null.lisp.

Method: initialize-instance :after ((segment ladspa) &key file index samplerate)
Source

ladspa.lisp.

Method: initialize-instance :after ((unpacker unpacker) &key samplerate)
Source

unpacker.lisp.

Method: initialize-instance :after ((segment gate) &key samplerate open-threshold close-threshold attack hold release bypass)
Source

gate.lisp.

Method: initialize-instance :after ((drain drain) &key)
Source

dummy.lisp.

Method: print-object ((drain file-drain) stream)
Source

drain.lisp.

Method: print-object ((drain device-drain) stream)
Source

drain.lisp.

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

source.lisp.


6.1.6 Conditions

Condition: device-not-found
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Direct superclasses

error.

Direct methods

device.

Direct slots
Slot: device
Initargs

:device

Readers

device.

Writers

This slot is read-only.

Condition: mixed-error

Condition class for errors related to the mixed library.

See ERROR-CODE

Package

org.shirakumo.fraf.mixed.

Source

toolkit.lisp.

Direct superclasses

error.

Direct methods
Direct Default Initargs
InitargValue
:error-code(error)
Direct slots
Slot: error-code
Initargs

:error-code

Readers

error-code.

Writers

(setf error-code).


6.1.7 Classes

Class: basic-mixer

This segment additively mixes an arbitrary number of inputs to a single output.

Linear mixing means that all the inputs are summed
up and the resulting number is divided by the number
of inputs. This is equivalent to having all the
inputs play as "individual speakers" in real life.

See MIXER
See MAKE-BASIC-MIXER

Package

org.shirakumo.fraf.mixed.

Source

basic-mixer.lisp.

Direct superclasses

mixer.

Direct methods
Direct slots
Slot: channels
Initform

2

Initargs

:channels

Readers

channels.

Writers

(setf channels).

Class: biquad-filter

A biquad filter for simple frequency filtering operations.

See SEGMENT
See MAKE-BIQUAD-FILTER
See FREQUENCY
See FILTER
See SAMPLERATE
See BYPASS
See Q
See GAIN

Package

org.shirakumo.fraf.mixed.

Source

biquad-filter.lisp.

Direct superclasses

segment.

Direct methods
Direct Default Initargs
InitargValue
:filterlowpass
:samplerate*default-samplerate*
Class: buffer

Buffers encapsulate raw audio data between segments.

A buffer stores a C-array of floats. This array represents a sample buffer for a single audio channel. The data is not encoded in any way and consists solely of single-floats.

Upon construction the foreign array of floats is automatically allocated based on the given size.

See C-OBJECT
See DATA
See SIZE
See CLEAR

Package

org.shirakumo.fraf.mixed.

Source

buffer.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: data
Readers

data.

Writers

This slot is read-only.

Class: buffer
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: bundle
Package

org.shirakumo.fraf.mixed.

Source

bundle.lisp.

Direct superclasses

virtual.

Direct methods
Direct slots
Slot: segments
Readers

segments.

Writers

This slot is read-only.

Class: c-object

Superclass for all objects that track foreign resources.

If no handle is given to the object upon creation, the proper corresponding foreign data is automatically allocated. The pointer to this data is then associated with the instance to allow resolving the pointer to the original Lisp object. Finalisation of the foreign data upon garbage collection of the Lisp object is also handled.

The actual foreign allocation and cleanup of the data is handled by ALLOCATE-HANDLE and FREE-HANDLE respectively. The subclass in question is responsible for implementing appropriate methods for them.

See HANDLE
See ALLOCATE-HANDLE
See FREE-HANDLE
See FREE
See POINTER->OBJECT

Package

org.shirakumo.fraf.mixed.

Source

c-object.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: handle
Initargs

:handle

Readers

handle.

Writers

(setf handle).

Class: chain
Package

org.shirakumo.fraf.mixed.

Source

chain.lisp.

Direct superclasses

segment.

Direct methods
Direct slots
Slot: segments
Initform

(make-array 0 :adjustable t :fill-pointer t)

Readers

segments.

Writers

This slot is read-only.

Class: channel-convert
Package

org.shirakumo.fraf.mixed.

Source

channel-convert.lisp.

Direct superclasses

segment.

Direct methods
Direct Default Initargs
InitargValue
:in(error in required.)
:out(error out required.)
:samplerate*default-samplerate*
Class: delay

A simple delay segment.

This just delays the input to the output by a given number of seconds. Note that it will require an internal buffer to hold the samples for the required length of time, which might become expensive for very long durations.

See SEGMENT
See MAKE-DELAY
See DURATION
See SAMPLERATE
See BYPASS

Package

org.shirakumo.fraf.mixed.

Source

delay.lisp.

Direct superclasses

segment.

Direct methods
Direct Default Initargs
InitargValue
:samplerate*default-samplerate*
Class: device-drain
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Direct superclasses

drain.

Direct methods

print-object.

Class: distributor
Package

org.shirakumo.fraf.mixed.

Source

distribute.lisp.

Direct superclasses

segment.

Direct methods
Class: drain
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Direct superclasses

virtual.

Direct subclasses
Direct methods
Direct slots
Slot: program-name
Initform

"mixed"

Initargs

:program-name

Readers

program-name.

Writers

(setf program-name).

Slot: pack
Readers

pack.

Writers

This slot is read-only.

Class: drain
Package

org.shirakumo.fraf.mixed.dummy.

Source

dummy.lisp.

Direct superclasses

drain.

Direct methods
Class: fader

A volume fading segment.

This allows you to smoothly fade in and out an input.

The from and to are given in relative volume, meaning in the range of [0.0, infinity[. The duration is given in seconds. The fade type must be one of the following: :LINEAR :CUBIC-IN :CUBIC-OUT :CUBIC-IN-OUT, each referring to the respective easing function.
The time is measured from the last call to START out.

See SEGMENT
See MAKE-FADER
See FROM
See TO
See DURATION
See FADE-TYPE

Package

org.shirakumo.fraf.mixed.

Source

fader.lisp.

Direct superclasses

segment.

Direct methods
Direct Default Initargs
InitargValue
:from0.0
:to1.0
:time1.0
:typecubic-in-out
:samplerate*default-samplerate*
Class: field-info
Package

org.shirakumo.fraf.mixed.cffi.

Source

low-level.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: file-drain
Package

org.shirakumo.fraf.mixed.

Source

drain.lisp.

Direct superclasses

drain.

Direct methods
Direct slots
Slot: file
Initargs

:file

Readers

file.

Writers

This slot is read-only.

Slot: frame-position
Initform

0

Readers

frame-position.

Writers

(setf frame-position).

Class: gate
Package

org.shirakumo.fraf.mixed.

Source

gate.lisp.

Direct superclasses

segment.

Direct methods
Direct Default Initargs
InitargValue
:samplerate*default-samplerate*
Class: generator

A primitive tone generator segment.

This segment can generate sine, square, sawtooth, and triangle waves at a requested frequency. You can even change the frequency and type on the fly.

See SEGMENT
See *DEFAULT-SAMPLERATE*
See WAVE-TYPE
See FREQUENCY

Package

org.shirakumo.fraf.mixed.

Source

generator.lisp.

Direct superclasses

segment.

Direct methods