Perry Cook's Mandolin Physical Model

The mandolin suite (mandolinActor, mandolinHand, mandolinAlg) makes calls into Perry Cook's STK synthesis toolkit.

To use the mandolin implementation, load perry.so and create an actor of type MandolinActor.

MandolinActor messages

In addition to the messages understood by all generator actors, the MandolinActor understands the following messages:
SetReverb hActor x
Turn on reverb for new instances created by this actor to x. (1 = ON, 0 = OFF)
SetAllReverb hActor x
Turn on reverb of all children to x, and set the default reverb flag for all future children. (1 = ON, 0 = OFF)
SetPluckStrength hActor x
Set the pluck strength for new instances created by this actor to x.
SetAllPluckStrength hActor x time
Set the pluck strength of all children to x, and set the default pluck strength for all future children. If time is specified, children will modulate to the new pluck strength over the specified duration. Default pluck strength is always set immediately regardless of time.
SetFreq hActor x
Set the frequency (in Hertz) for new instances created by this actor to x.
SetAllFreq hActor x time
Set the frequency (in Hertz) of all children to x, and set the default frequency (in Hertz) for all future children. If time is specified, children will modulate to the new frequency over the specified duration. Default frequency is always set immediately regardless of time.
SetVibGain hActor x
Set the vibrato gain for new instances created by this actor to x.
SetAllVibGain hActor x time
Set the vibrato gain of all children to x, and set the default vibrato gain for all future children. If time is specified, children will modulate to the new vibrato gain over the specified duration. Default vibrato gain is always set immediately regardless of time.
SetBodySize hActor x
Set the body size for new instances created by this actor to x.
SetAllBodySize hActor x time
Set the body size of all children to x, and set the default body size for all future children. If time is specified, children will modulate to the new body size over the specified duration. Default body size is always set immediately regardless of time.
SetPluckPosition hActor x
Set the pluck position for new instances created by this actor to x.
SetAllPluckPosition hActor x time
Set the pluck position of all children to x, and set the default pluck position for all future children. If time is specified, children will modulate to the new pluck position over the specified duration. Default pluck position is always set immediately regardless of time.
SetLoopGain hActor x
Set the loop gain for new instances created by this actor to x.
SetAllLoopGain hActor x time
Set the loop gain of all children to x, and set the default loop gain for all future children. If time is specified, children will modulate to the new loop gain over the specified duration. Default loop gain is always set immediately regardless of time.

mandolin handler messages

In addition to the messages understood by all handlers, the handler for the mandolin algorithm understands the following messages:
SetReverb hSound x
Toggle reverb (1 = on, 0 = off).
SetPluckStrength hSound x time
Set the pluck strength to x. If time is specified, modulate to the new pluck strength over the specified duration.
SetFreq hSound x time
Set the frequency to x. If time is specified, modulate to the new frequency over the specified duration.
SetVibGain hSound x time
Set the vibrato gain to x. If time is specified, modulate to the new vibrato gain over the specified duration.
SetBodySize hSound x time
Set the body size to x. If time is specified, modulate to the new body size over the specified duration.
SetPluckPosition hSound x time
Set the pluck position to x. If time is specified, modulate to the new pluck position over the specified duration.
SetLoopGain hSound x time
Set the loop gain to x. If time is specified, modulate to the new loop gain over the specified duration.