## Perry Cook's Bowed Physical Model

The bowed suite (bowedActor, bowedHand, bowedAlg) makes calls into Perry Cook's STK synthesis toolkit.

To use the bowed implementation, load perry.so and create an actor of type BowedActor.

### BowedActor messages

In addition to the messages understood by all generator actors, the BowedActor 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)
SetBreathPressure `hActor x`
  Set the breath pressure for new instances created by this actor to `x`.
SetAllBreathPressure `hActor x time`
  Set the breath pressure of all children to `x`, and set the default breath pressure for all future children. If `time` is specified, children will modulate to the new breath pressure over the specified duration. Default breath pressure 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`.
SetBowPressure `hActor x`
  Set the bow pressure for new instances created by this actor to `x`.
SetAllBowPressure `hActor x time`
  Set the bow pressure of all children to `x`, and set the default bow pressure for all future children. If `time` is specified, children will modulate to the new bow pressure over the specified duration. Default bow pressure is always set immediately regardless of `time`.
SetBowPosition `hActor x`
  Set the bow position for new instances created by this actor to `x`.
SetAllBowPosition `hActor x time`
  Set the bow position of all children to `x`, and set the default bow position for all future children. If `time` is specified, children will modulate to the new bow position over the specified duration. Default bow position is always set immediately regardless of `time`.
SetVibFreq `hActor x`
  Set the vibrato frequency for new instances created by this actor to `x`.
SetAllVibFreq `hActor x time`
  Set the vibrato frequency of all children to `x`, and set the default vibrato frequency for all future children. If `time` is specified, children will modulate to the new vibrato frequency over the specified duration. Default vibrato frequency is always set immediately regardless of `time`.

### bowed handler messages

In addition to the messages understood by all handlers, the handler for the bowed algorithm understands the following messages:

SetReverb `hSound x`
  Turn on reverb to `x`. (1 = ON, 0 = OFF)
SetBreathPressure `hSound x time`
  Set the breath pressure to `x`. If `time` is specified, modulate to the new breath pressure 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.
SetBowPressure `hSound x time`
  Set the bow pressure to `x`. If `time` is specified, modulate to the new bow pressure over the specified duration.
SetBowPosition `hSound x time`
  Set the bow position to `x`. If `time` is specified, modulate to the new bow position over the specified duration.
SetVibFreq `hSound x time`
  Set the vibrato frequency to `x`. If `time` is specified, modulate to the new vibrato frequency over the specified duration.