The Media Kit: BParameterWeb

The Media Kit Table of Contents | The Media Kit Index

# BParameterWeb

Derived from: BFlattenable

Declared in: be/media/ParameterWeb.h

Library: libmedia.so

Allocation: Constructor only

###### Summary

BParameterWeb serves as a container for information describing the relationships among the configurable parameters of a BControllable node. A BControllable subclass should, when constructed, create a BParameterWeb and populate it with controls through one or more BParameterGroups. This web of parameters describes the signal path within the node, and the points at which the node's manipulation of the data can be controlled.

The Audio control panel is actually derived from the BParameterWeb of the node currently selected as the default audio input node.

The BParameterWeb lets client applications query a node to determine how it can be configured, so the application can then create and display a user interface permitting the user to configure the node using standard user interface objects (like sliders, checkboxes, lines and arrows indicating the data path, and so forth).

By using the parameter web, device-independence is maintained without sacrificing the ability to create generic code to configure devices.

## Constructor and Destructor

### BParameterWeb()

`BParameterWeb()`

The BParameterWeb constructor. You'll usually create one BParameterWeb object per BControllable node; to attach a BParameterWeb to a BControllable node, you should call `BControllable::SetParameterWeb()`.

### ~BParameterWeb()

`~BParameterWeb()`

Once you've called `BControllable::SetParameterWeb()`, the node takes responsibility for the parameter web object and you shouldn't delete it.

If you don't call `BControllable::SetParameterWeb()`, then delete the BParameterWeb object when you're done with it.

## Member Functions

### CountGroups()

int32 `CountGroups(`void`) `

Returns the number of BParameterGroup objects that are currently attached to the BParameterWeb.

### CountParameters()

int32 `CountParameters(`void`) `

Returns the number of BParameters in the entire web, including those in all BParameterGroups attached to it.

### GroupAt()

BParameterGroup *`GroupAt(`int32 index`) `

Returns the BParameterGroup located at the specified index within the list of groups contained by the BParameterWeb.

The first group is numbered 0, so the maximum legal value for index is `CountGroups()`-1. If the specified index is outside that range, `NULL` is returned.

### MakeGroup()

BParameterGroup *`MakeGroup(`const char *name`) `

Creates a new BParameterGroup object to be used for grouping parameters within the BParameterWeb, and attaches it to the BParameterWeb.

All BParameters created in the group will belong to that group, and, by recursion, to the web itself.

You can nest BParameterGroups if you want to; however, BParameters can't be shared among multiple groups.

### Node()

media_node `Node`

`(`void`)

`

Returns the media_node for the BControllable node that owns this BParameterWeb object.

If the BParameterWeb hasn't been attached to a BControllable node yet, `media_node::null` is returned.

### ParameterAt()

BParameter *`ParameterAt(`int32 index`) `

Returns the BParameter at the specified index within the entire BParameterWeb, including those in all attached groups. The first parameter is numbered 0, so the maximum legal value for index is `CountParameters()`-1. If the specified index is outside that range, `NULL` is returned.

The Media Kit Table of Contents | The Media Kit Index

The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..