BusMeters:
Filter:
crucialviews/Classes (extension) | Server | Views

BusMeters
ExtensionExtension

Creates meters for an array of busses for building mixer consoles

Description

This creates a bank of meters for an array of busses. Useful for building mixers or scattering bus meters throughout a GUI. The meters can be next to each other in a row or can be placed individually. A single Synth is started to collect level readings and update the meters.

Class Methods

.new

Arguments:

server

All busses must be on the same Server.

busses

An array of Bus objects

Instance Methods

.gui

make a single bank of adjacent meters

Arguments:

parent

parent view

bounds

total bounds

Returns:

this

.makeBusMeter

Make an individual meter. You cannot make 2 meters for the same bus.

Arguments:

bi

bus index. The index in the array of busses that was supplied to the construtor.

layout

layout or parent view. All meters do not have to be on the same layout.

bounds

size and location of meter. When .gui is called the bounds are created and passed to here.

Returns:

a LevelIndicator

.makePeak

Make a peak indicator. On the standard gui this is above the meter. Its a button that shows dB of highest peak received. Clicking it reset it.

Arguments:

bi

index of bus

layout

layout or parent view

bounds

bounds of peak indicator

Returns:

an ActionButton

.start

starts the meters' synth and starts updating the views

.stop

stops the meter's synth and stops updating the views.

.remove

When the window or parent view is closed then .remove is called (standard for all views). This will .stop the meter synth and stop further updates.

Examples

15 busses seems to be maximum for the SynthDef. 16 results in: GraphDef_recv maximum number of interconnected buffers. Use 2 separate BusMeters if you need more than 15.