# BTDSys PeerEnv

## Installation

Put BTDSys PeerEnv.dll in your Gear\Effects folder.

## Overview

PeerEnv is an envelope follower, which may control any other machine in Buzz.

- Add PeerEnv to your song.
- Connect at least one other machine into PeerEnv's input.
- Right click PeerEnv and select Assign Parameter, then click an unassigned track.
- In this dialog, choose the machine and parameter you want to control.
- Click OK. When PeerEnv receives audio input, it will start to control the other machine.
- If you want to control more than one parameter from the same PeerEnv, add more tracks to the machine (Pattern view, Ctrl +). Then assign them as above.

## Parameters

### Global (machine) parameters

- Mode - sets how PeerEnv interprets input signals. Immediate simply takes the input sample at that moment in time, Absolute takes the positive value of the input, and Envelope tracks the volume level of the signal.
- Get From - sets where the input signal is taken from in the stereo field (left, center or right). Obviously, if the input is mono, this has no effect.
- Inertia - glide time for Min and Max parameters.

### Track parameters

- Min and Max - the minimum and maximum values for the controlled parameter (given as a percentage of the parameter's range). When these values actually occur depends on the mode currently used.
- Center and Amplitude - an alternative way of setting the control range.
- Extent Mode - sets which of min/max and center/amp is used. Note that from the machine's right-click menu you can synchronise the two pairs of values (so they represent equivalent ranges).
- Track - if you assign to a [T]rack parameter, which track will be controlled. If it's set to All, then all the machine's tracks are controlled. If you assign to a [G]lobal parameter, this has no effect.

### Attributes

- Tick Subdivs sets how many times per tick parameter data is sent. It will be sent on the tick, and at even intervals between ticks. Note that there is a limit to how fast control changes may be sent (once every 256 samples), and any attempt to exceed this limit will result in a slightly higher CPU load with no difference in the machine's performance.
  To control machines at a rate faster than once per tick, PeerEnv utilises 'hack' methods. If these methods cause you any problems, you may disable them by setting this attribute to 1.
- Rise Smoothing and Fall Smoothing define the envelope follower's characteristics - these may be thought of as smoothing factors, or response speeds, for a rising/falling signal level.

## Other notes

- Note that if the PeerEnv machine is muted, it will cease to function properly. Hence do not mute the machine.
- To smooth out the parameter movements on the target machine, you should use inertia if available. Set it to a very short length (0.1 tick or less).

## Contact

If you have comments or suggestions, or if you find any bugs please email me.
This machine is DONATIONWARE, so if you like it, send me something cool (eg CDs, hardware, money etc). Email for details of how to get stuff to me.
Also visit my website (y'know, if you're bored).

Thanks to everyone who alpha tested this machine, especially Juri Puumala, K.M. Krebs and Cameron Bonde (Vectrex) for ideas and stuff, and whoever else I forgot.

Docs and code ŠEd Powley (BTDSys), July/August 2002