BTDSys PeerState
What is it?
PeerState allows "snapshots" of the parameter states of machines to be captured and restored easily. You can
switch between up to 128 stored parameter values for several machines at once, with only a couple of clicks, one entry
in the pattern editor, or one press of a MIDI key.
Installation
Unzip into your Buzz\Gear\Generators\ folder. Add to index.txt if you want, or download an up-to-date index.txt if
you're lazy.
Quick-start guide
- Add PeerState to your song, along with some other machines
- You don't need to connect anything to PeerState in the machine view
- Right click PeerState, and select Machines/Parameters
- In this dialog, place checks next to the machines and parameters you want to control
- Click OK
- Double click PeerState, and play around with the resulting dialog
Version history
- v1.1: Added snapshot manager window. Fixed crash when loading a song where PeerState controlled another Peer machine.
Fixed occasional strange behaviour of inertia.
Fixed side-effects (storing/restoring snapshots) when opening dialogs. Added facility for overwriting a snapshot from the
'Simple' dialog without first restoring it. Added "What to open on double click" attribute.
- v1.0: First public release.
Parameters
- Snapshot - Choose the current snapshot number.
- Inertia - Sets the glide time when changing snapshots.
Attributes
- MIDI channel - Sets which MIDI channel PeerState will respond to.
- MIDI note for taking snapshots - A press of the selected note will cause the current snapshot to be overwritten
with current parameter values.
- Inertia update freq - Sets the resolution with which inertia takes place. Lower values give smoother glides,
but result in higher CPU load.
- What to open on double click - Select what will happen upon double clicking PeerState in the machine view:
0: PeerState's parameter window
1: The 'Simple' GUI
2: The 'A/B' GUI
MIDI
The MIDI support in PeerState works as follows:
- When a MIDI note is pressed, the corresponding numbered snapshot is restored and set as current. For example,
a press on "Middle C" will call up snapshot number 60.
- In addition, a note may be chosen (in the attributes) to act instead as a "store snapshot" key.
A table of MIDI note numbers is available by clicking
here.
Dialogs
There are several dialogs in PeerState, most of which are fairly self-explanatory. But I'll explain them anyway.
Machines/parameters dialog
Here you can choose which parameters you want to include in snapshots. Note that the checkboxes next to machine names
indicate at-a-glance whether any of that parameters of that machine are selected—a black tick indicates all parameters are selected, a grey tick indicates some, and no tick indicates none.
'Simple' GUI
This is the dialog brought up by a double-click on the machine. You can use the combo box to call up snapshots, and
the big button to store current parameter states. An asterisk next to the snapshot in the combo box indicates there is
a snapshot currently stored in that slot.
You can use the checkbox in this dialog to prevent a snapshot from being restored when you select it from the combo box.
This is useful for overwriting a snapshot without having to restore it and reset all your parameter values first.
'A/B' GUI
This is similar to the 'Simple' GUI, but more suited for quickly comparing and tweaking several snapshots. The big
'Take snapshot' button is replaced with two arrow buttons for selecting snapshots. And whenever you choose a new snapshot
number, the old one is automatically overwritten with current parameter values before the new one is restored.
Snapshot manager
This dialog, logically enough, allows you to manage your snapshots. Management tasks include copying/swapping/deleting, as well as more complex randomisation and genetic functions.

- You can choose two snapshots (A on the left, and B on the right), and perform editing tasks between them.
- The various parameter values stored in each snapshot are listed here.
- Displays the MIDI note which will corresponds to this snapshot. This cannot be changed.
- Call up the specified snapshot. This works in precisely the same way as the "Snapshot" machine parameter, or the combo boxes in the 'Simple' and 'A/B' GUIs.
- Deletes snapshot A (ie clears all parameter values from it), leaving snapshot B unchanged.
- Overwrites snapshot A with the parameter values from snapshot B, leaving snapshot B unchanged.
- Exchanges all parameter values between snapshots A and B.
- Does a crossfade between the two snapshots, overwriting snapshot A with the results. The amount slider (k) controls the weighting between the two snapshots: if it is at the far left there is no effect, and if it is at the far right the effect is identical to button f.
- Performs a randomised "genetic splice" between the two snapshots, overwriting snapshot A with the results. For each parameter in the snapshot, either the value from snapshot A or the value from snapshot B is used. The amount slider (k) controls the probability of choosing parameters from one snapshot or the other: if it is at the far left there is no effect, and if it is at the far right the effect is identical to button f.
- Applies a random perturbation to the values in snapshot A. Each parameter value is changed by a random amount at most k% of the parameter's range, where k% is the value of slider k. If the slider is at the far left there is no effect, if it is at the far right the effect is similar to the "Random" button in Buzz.
- Controls the amounts or weightings for buttons h, i and j.
Thanks
Thanks to Ronny Pries for the initial idea. Thanks to Polac for inspiration for the snapshot manager (and for his marvellous VST adaptors). Also thanks to tinga, noolout, mute, thOke, XionD, wizenwet, ideolog, and everyone else who contributed their support and opinions.
EOF/legal
Docs and code ©2003/4 Ed Powley
website (including contact details)
This machine is freeware and freely distributable, provided no money is charged and all files are present and
unchanged.