Classes (extension) | Convenience

# BBlockerProgram : Object
Extension

Convenience class to create and store BetaBlocker programs
Source: BBlockerProgram.sc
See also: BBlockerBuf, BBlockerProgram

## Description

Convenience class to create and store assembly programs for the BetaBlocker VChip.

See http://tai-studio.org/portfolio/chip-interpretations.html for details.

## Class Methods

### BBlockerProgram.new(program)

creates a new BBlocker program:// sawtooth ramp a = BBlockerProgram([\ORG, \INC, \JMP, 1]);

#### Arguments:

program | Mixed array of instructions (Symbols) and Integers (will be interpreted either as instructions or as values for unary instructions like `\JMP` or `\PHSL`).

### BBlockerProgram.instructions

all instructions

### BBlockerProgram.descs

all descriptions

### BBlockerProgram.printDescs

print description for each instruction

### BBlockerProgram.find(identifier)

search for command

#### Arguments:

identifier | search term

#### Returns:

array of commands

### BBlockerProgram.descOf(key)

find description for command

#### Arguments:

key | command

#### Returns:

description string

### Inherited class methods

### Undocumented class methods

### BBlockerProgram.initStates

## Instance Methods

### .fillBuffer(buffer)

fill Buffer with compiled code.

#### Arguments:

buffer | buffer to be filled.

### .program

#### Returns:

the program

### .makeBuffer(server, action)

create a Buffer and fill it with conpiled code.

#### Arguments:

server | instance of Server on which the Buffer is created
action | action to be evaluated after successful buffer creation

#### Returns:

the Buffer

### .collection(force: false)

array with `256` entries containing the codeified program.

#### Arguments:

force | if `true`, force re-computation.

### .asLocalBuf

#### Returns:

compiled program as a LocalBuf object

### .play(rate: 20000, using, leak: false, vol: 0.1, force: true)

play program.

#### Arguments:

rate | rate of operation
using | instance of Server or Buffer. If a buffer is given, this is used to load the program into.
leak | if `true`, encapsulate output by a LeakDC.
vol | attenuation
force | force re-filling of collection with program (plus possible randomness)

#### Returns:

Synth evaluating and playing the program.

### .ar(rate: 20000, using, leak: false, vol: 1, force: false)

server playback.

#### Arguments:

rate | rate of operation
using | instance of Server or Buffer. If a buffer is given, this is used to load the program into.
leak | if `true`, encapsulate output by a LeakDC.
vol | attenuation
force | force re-filling of collection with program (plus possible randomness)

### .fillUpRandom

### .fillUpRandom = value

if `true`, fill remaining space in collection/Buffer with random numbers between `0` and `255`.

### .scope(rate: 20000, using, leak: false, vol: 0.1, force: true)

run program and scope it.

#### Arguments:

rate | rate of operation
using | instance of Server or Buffer. If a buffer is given, this is used to load the program into.
leak | if `true`, encapsulate output by a LeakDC.
vol | attenuation
force | force re-filling of collection with program (plus possible randomness)

### .plot(rate: 20000, using, leak: false, duration: 1, force: true)

run program and plot its results.

#### Arguments:

rate | rate of operation
using | instance of Server or Buffer. If a buffer is given, this is used to load the program into.
leak | if `true`, encapsulate output by a LeakDC.
duration | time to run in seconds.
force | force re-filling of collection with program (plus possible randomness)

### .decompile(force: false)

decompile content of collection.

#### Arguments:

force | if `true`, force re-write of (intermediately used) collection.

#### Returns:

program

### Inherited instance methods

### Undocumented instance methods

### .pr_rTranslate(val)

### .pr_translate(val)

## Examples

(some example code)
helpfile source: /Users/zzk/Library/Application Support/SuperCollider/Extensions/SC3plugins/BetablockerUGens/HelpSource/Classes/BBlockerProgram.schelp
link::Classes/BBlockerProgram::