OM# Documentation

BPF – Break-Point Function

The BPF object is a list of ordered [x, y] points which represent a “function”, or relation of a given parameter to another parameter.

→ The “Curves and Functions” and “Interpolation” sub-packages of the “Basic Tools” package, also include numerous useful utilities to manipulate and process BPF data, such as bpf-scale, bpf-interpol, bpf-crossfade, bpf-spline, x-transfer / y-transfer, om-sample, and many more. See for instance the Functions/Classes Reference (menu “Help”).

Construction

Points

The BPF points are specified with two separate lists of x and y coordinates (called respectively x-points and y-points).

The output values of these points can be either read via the corresponding x-points and y-points outputs, or using the point-pairsfunction.

Precision

BPFs have a precision parameter, which can be set between 0 and 10 decimals. Input x-points and y-points are automatically truncated to this precision.

Note: Precision is an important parameter to consider when converting data, e.g. from sound analysis to the symbolic level. A low precision value can be responsible for excessive rounding or truncating the values.

Other BPF attributes

Other parameters can be set from optional inputs of the BPF box, such as the name, the color, or others mentioned below.

Box Attributes

Some additional display parameters can be set directly on the BPF box through “box attribute” inputs. The display-min / display-max parameters change the vertical range that is displayed on the box.

Editor

The BPF box editor is constituted by a BPF-editing view (on the left) and a general property editing panel (on the right).

General parameters on the right allow setting most parameters that could otherwise be set from the BPF box optional inputs (see above — more will also be discussed below).

BPF Editing

The main view on the left displays the BPF, and offers zoom/scroll utilities through two (vertical and horizontal) rulers, and standard corresponding mouse interactions.
The editor options at the bottom allow showing/hiding a grid in the background, displaying point indices, and other visualisation options described below.

View Modes

The “Display” chooser allows switching between several visualizations of the BPF:

Edit Modes

Use Tab or click on the icons at the top of the BPF view to switch between three edit/interaction modes:

In standard or “Draw” modes, double-clicking on a point allows setting its precise X and Y values in a dialog box.

Keyboard shortcuts

“Edit” menu commands:

A playable time-sequence

A BPF in also a time-sequence: the x-axis can be considered as time (in milliseconds) and each point in the BPF can be considered as an object in time. It is therefore possible to edit the temporal/horizontal dimension of the BPF using a timeline view.

The “times” check-box in the visualization options allows displaying the time in millisecond if each point in the BPF.

Play

It is also possible to play a BPF, using the standard play/pause/stop controls in the editor, or corresponding shortcuts in the patch editors. The BPF display paints the BPF contents in red as it passes through the play cursor.

Playing a BPF generally makes sense when the object is associated to an action, performed with each point at rendering time (see below).

Actions

Several actions are available by default:

→ → →

Example: Send BPF values as OSC

Select the predefined action / Set the OSC parameters

Play!

Interpolation

An interpolation value can be set from the box attribute inputs or from the general properties panel of the BPF editor.

The interpolation is an interval specified in milliseconds. When activated, the it generates intermediate points separated by this ti,e interval between each point of the BPF, and performs the selected action at the corresponding times.

Collections

The BPF editor supports integration in the COLLECTION editor, where several BPF objects can be jointly visualized and edited.