InfluxMix:
Filter:
Influx/Classes (extension) | MetaKontrol

InfluxMix
ExtensionExtension

merge influences from several sources into one set of control values.

Description

InfluxMix receives influence values for named control parameters from an unlimited number of named sources, and merges them into one set of output param values. Within an InfluxMix each named source has its own trust factor. This can be used to have multiple control sources (e.g. human interfaces) influence the same process simultaneously.

Class Methods

.defaultMergeFunc

the default for the function by which the influences in an InfluxMix get merged. this creates a linear sum which is then scaled by numOfValues ** damping. This means that a damping value of 0 is the full linear sum, damping 0.5 means the sum is scaled by numOfValues.sqrt, and damping 1 is linear average.

.new

make a new InfluxMix, optionally giving it parameter names.

Instance Methods

.inValDict

the dictionary of incoming influence values

.outValDict

the dictionary of output influence values

.trusts

the dictionary of weights for each named source.

.influence

exert an influence on a named param of the InfluxMix.

Arguments:

who

name of the source exerting the influence

... keyValPairs

pairs of key, val, key, val

.trust

add or set a trust value for a named source.

.mergeFunc

get and set the function by which values are merged. By default, a kind of equal power panning is used.

.damping

get and set the a damping factor for mergeFunc. the default mergeFunc uses this as an exponent for scaling by numOfValues ** damping. Here, damping 0 is full linear sum, damping 0.5 means scale sum by numOfValues.sqrt, and damping 1 is linear average.