FoaMatrixFade:
Filter:
Classes (extension) | Libraries > Ambisonic Toolkit > Utilities > FOA

FoaMatrixFade : Object
ExtensionExtension

A system for fading between FOA matrices (tranforms).

Description

Transform an FOA signal with a Matrix or FoaXformerMatrix that can be set on the fly, crossfading to the new matrix in xFade time. While this can be used as a standalone utility, it was designed primarily for use by FoaXformDisplay.

Class Methods

FoaMatrixFade.new(outbus, inbus, initMatrix, xFade: 0.5, mul: 1, addAction, target, server, completeCond)

Arguments:

outbus

A 4-channel output Bus to which the Synth plays. If not provided, one is created for you on a virtual audio bus, which can be queried with .outbus.

inbus

A 4-channel input Bus to read in to the matrix mixer. If not provided, one is created for you on a virtual audio bus, which can be queried with .inbus.

initMatrix

Optionally provide a transform matrix through which the B-Format signal will play.1 The default is an identity matrix, i.e. an unchanged soundfield.

xFade

(Optional) The crossfade time in seconds between transform matrices if the audition matrix is changed.

mul

Amplitude scalar applied to the output.

addAction

(Optional) Provide an addAction for placing the matrix mixer Synth in a particular place in the Node Tree. Default is \addToTail. one of the following Symbols:

\addToHead(the default) add at the head of the group specified by target
\addToTailadd at the tail of the group specified by target
\addAfteradd immediately after target in its server's node order
\addBeforeadd immediately before target in its server's node order
\addReplacereplace target and take its place in its server's node order

NOTE: A Synth is not a valid target for \addToHead and \addToTail.
target

Optionally, the matrix mixer Synth is placed according to the addAction relative to the target. Default is (Group) 1.

server

(Optional) Provide a Server on which the Synth is played.

completeCond

Optionally a Condition that is signalled once this has allocated all of it's resources.

Inherited class methods

Instance Methods

.mul

.mul = mul

Get/set the the amplitude scalar.2

.xFade

.xFade = value

Get/set the crossfade time between transform matrices.

.matrix

.matrix = newMatrix

Get/set the transform Matrix.

Arguments:

newMatrix

When setting, provide a Matrix or FoaXformerMatrix to transform your soundfield. The new matrix will crossfade in over xFade seconds.

.synth

Get the matrix mix Synth.

.inbus

Get the input Bus read by the matrix fading Synth.

.outbus

Get the output Bus written to by the matrix fading Synth.

.server

Get the instance of Server used by the matrix fading Synth.

.free

Free the resources used by FoaMatrixFade.

Inherited instance methods

Examples

[1] - Provide the matrix by using the FoaXformerMatrix: -matrix method.
[2] - You may wish to review the discussion found here.