# BTDSys SampleGrid

## Installation

Unzip all files apart from BTDSys SampleGrid Out.dll to your Gear\Generators folder. BTDSys SampleGrid Out.dll goes in Gear\Effects.

Most up-to-date index.txts should already contain entries for SampleGrid. If not, copy & paste the following into an appropriate place:

      /BTDSys SampleGrid
       BTDSys SampleGrid - Byte x 4, Byte x 4
       BTDSys SampleGrid - Byte x 8, Byte x 8
       BTDSys SampleGrid - Byte x 16, Byte x 16
       BTDSys SampleGrid - Switch x 8, Switch x 8
       BTDSys SampleGrid - Switch x 16, Switch x 16
       BTDSys SampleGrid - Switch x 32, Switch x 32
       1,-----
       BTDSys SampleGrid Out, Out
       /..

## Overview

SampleGrid is a sample player designed especially for rhythm programming. Its main feature is a "grid" of triggers kept together in the pattern view. It also features support for multiple outputs, and MIDI functionality.

## Multiple Versions

SampleGrid comes in several "sizes", with different numbers and types of triggers. The versions are functionally identical, apart from the number of triggers available and whether those triggers allow only 1/0 (switch) or numeric (volume/pan/etc) values (byte). This document covers all versions.

## Parameters

### Global parameters

- First Wave - sets the first wave from the Buzz wavetable to be used. By default, SampleGrid uses a number of consecutive waves, so if the first wave is 1, the first trigger uses sample 1, the second 2, third 3, etc.
- Dividers Only in Byte versions - Just a visual device to help you distinguish the triggers from the rest of the parameters.
- Triggers - Actually trigger the drum sounds.
  - In Switch versions - a value of 1 triggers the sample on, and 0 off.
  - In Byte versions - the sound is triggered, with some characteristic set by the entered value. What this value sets is determined by the Trigger Type parameter. The exception is a value 00, which always offs the current sample.
  Note that the number and type of triggers depends on the version being used. Choose an appropriate version for your needs in each case.
- Trigger Type Only in Byte versions - Determines what the numeric trigger values will set.
  - Velocity - the volume of the sound
  - Pan - position in the stereo field
  - Tune - pitch of the sound
  - Probability - likelihood of the sound being triggered, where FE is certain and 01 is almost certainly not
  - Command argument - value is used as argument for the command on this line (if any)
  Note that any values here are unaffected by inertia.
- Solo Track - for editing purposes, allows you to solo one track (ie mute the rest). If set to "off" then no tracks are muted.
- Global Volume/Pan/Tune - set the overall volume, stereo pan and pitch of all sounds.
- Shuffle Size - controls by how much shuffle mode delays beats
- Shuffle Step - shuffle mode will delay every nth tick, where n is the value set here.
- Shuffle Randomness - how much the delay time for shuffled beats deviates from the specified size.
- Shuffle Reset - a 1 in this column will reset the shuffle counter.
- Inertia - controls glide time for certain parameters

### Track parameters

- Wave Number - Allows you to specify the wave number to use. Or if it is set to Auto, the wave will be chosen according to the track number and the First Wave specified for the machine.
- Command/Argument - Provide a number of "special effects" for triggering.

  Number | Command name | What it does | Argument meaning
  00 | None | Nothing | None
  01 | Delay | Delay this hit by some amount | Number of subticks to delay
  02 | Retrigger | Keep triggering every so often for some length of time | 1st digit = interval in subticks 2nd digit = number of ticks to keep retriggering
  03 | Offset | Play the sample forwards from some point other than the start | Offset from start of sample, where 00=start and FF=end
  04 | Reverse+offset | Play the sample backwards from some point other than the start | Offset from start of sample, where 00=start and FF=end
  05 | Probability | Alter the likelihood of playing a hit | Probability of playing sample (where 00="definitely not", 80="50/50 chance", FF="Definitely")
  06 | Cut | Cut the sample off after some length of time | Number of subticks to cut after
  07 | Delay+Cut | Like a combination of commands 1 and 6 | 1st digit = No of subticks to delay 2nd digit = No of subticks to cut after (counted from when the sound is triggered)

- Tick Subdivide - how many evenly sized slices to divide each tick into. These slices are used by some commands to specify times.
- Mute - allows you to turn the sound of this track on or off.
- Volume/Pan/Tune - set the volume, stereo pan and pitch of this sound.
- Auxbus Group - which auxbus channels to send this sound over, or use "none" to send through the machine's output.

### Attributes

- Ramp Length - sets the ramping (anticlick) time in samples. Ramping takes effect when samples are triggered or stopped, and can also affect mute/solo and volume.
- Ramp Mute/Solo - sets whether ramping affects muting and soloing of tracks.
- Ramp Volume - sets whether ramping affects volume slider changes.
- Inertia Volume/Pan/Tune - sets whether the corresponding parameters will be affected by inertia.

## AuxBus

This feaure is included for backwards compatibility only. For new songs, use the following:

## Multiple Outs

SampleGrid allows use of separate "output" machines to give up to 9 stereo outputs:

- Add a "BTDSys SampleGrid Out" machine (effect) to your song.
- Connect a SampleGrid to the out machine.
- Set the group number on one of SGrid's tracks, and the group parameter of the Out machine, to the same value.
- The volume on the connection between SGrid and the Out machine is unimportant, but it should not be zero.

Now you can add different processing to different sounds from the same machine.

## MIDI

SampleGrid supports triggering of samples via a MIDI keyboard. To set this up, right click the machine and choose "MIDI Setup".

Now press a note on your keyboard, and you may use the button to assign that note to a sample. You should also choose the MIDI channel you wish to use (the same channel is used for each sample). You can also specify whether to use the velocity from the keyboard, and whether note offs are used (ie the sample stops when you lift your finger from the key)

Also you can record using MIDI, by checking the appropriate boxes in the MIDI settings dialog. Normal rules apply for MIDI recording in Buzz machines (click Record in Buzz's toolbar, make sure you lay down blank patterns over the part you want to record).

## History

v1.0 - initial release

v1.1 (not released) - increased auxbus groups from 4 to 8, fixed a bug with ramping

v1.2 - second release - new non-auxbus multiple out system, fixed some clicking problems

v1.21 - fixed a clicky/buzzy bug with the delay and shuffle functions

## Thanks

Oskari, Cyanphase, Jeph Wacheski, Ronny Pries, Frank Potulski, mva, oomek, thOke, moon.god, mute, usr, anyone else I should have thanked.

## EOF/legal

Docs and code ©2002/3/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.