1.1.3 OcaBlock

Class Hierarchy:

OcaRootOcaWorkerOcaBlock

class OcaBlock : OcaWorker

A block is an object with three aspects: - It can contain other blocks. - It can contain workers. - It can contain agents. - It can contain data networks. - It can contain application networks. - It has a signal flow topology. We refer to an object inside a block as a member of that block. We refer to the block which contains an object as the object’s container. 1 Normally, a block contains a set of members that together function as a processing unit – for example, a crossover channel or mixer strip.

Properties:

static const OcaClassID ClassID = "1.1.3"

Number that uniquely identifies the class. Note that this differs from the object number, which identifies the instantiated object. This is a class property instead of an object property. This property is an override of the OcaRoot property.

This property has id 3.1.

static const OcaClassVersionNumber ClassVersion = 2

Identifies the interface version of the class. Any change to the class definition leads to a higher class version. This property is an override of the OcaRoot property.

This property has id 3.2.

const OcaONo Type

Readonly block type. For statically-defined blocks, this value is a Uint32 with a value corresponding to the unique configuration of this block. For dynamically-defined blocks, this value is the object number of the block’s factory. For the root block, the value of this property is 1.

This property has id 3.1.

OcaList<OcaObjectIdentification> Members

List of members in the block.

This property has id 3.2.

OcaMap<OcaUint16, OcaSignalPath> SignalPaths

List of signal paths in the block.

This property has id 3.3.

OcaLibVolIdentifier MostRecentParamSetIdentifier

Library volume identifier of the paramset most recently applied to this block.

This property has id 3.4.

const OcaGlobalTypeIdentifier GlobalType

Global block type identifier for reusable blocks. Added in version 2 of this class.

This property has id 3.5.

const OcaMap<OcaProtoONo, OcaONo> ONoMap

For blocks constructed by factories. Map that indicates the actual ONos allocated to the constructing OcaBlockFactory’s prototype ONos. Key is prototype ONo, value is actual ONo. Added in version 2 of this class.

This property has id 3.6.

Properties inherited from OcaWorker:

Properties inherited from OcaRoot:

Methods:

OcaStatus GetType(OcaONo &Type)

Gets the block type. For statically-defined blocks, the block type is a Uint32 with a value corresponding to the unique configuration of this block. For dynamically-defined blocks, the block type is the object number of the block’s factory. For the root block, the value of this property is 1.

This method has id 3.1.

Parameters

OcaONo Type – Output parameter.

OcaStatus ConstructMember(OcaClassID ClassID, variant[n] ConstructionParameters, OcaONo &ObjectNumber)

Constructs an object according to the given construction specification and adds it to the block. The return value indicates whether the member was successfully created and added.

This method has id 3.2.

Parameters
  • OcaClassID ClassID – Input parameter.

  • variant[n] ConstructionParameters – Input parameter.

  • OcaONo ObjectNumber – Output parameter.

OcaStatus ConstructMemberUsingFactory(OcaONo FactoryONo, OcaONo &ObjectNumber)

Invokes a factory to construct an instance of the given class, then adds it to the block. The return value indicates whether the member was successfully created and added.

This method has id 3.3.

Parameters
  • OcaONo FactoryONo – Input parameter.

  • OcaONo ObjectNumber – Output parameter.

OcaStatus DeleteMember(OcaONo ObjectNumber)

Removes a member from the block and destroys the object. . Deletes all signal paths attached to its ports. The return value indicates whether the member was successfully removed and destroyed.

This method has id 3.4.

Parameters

OcaONo ObjectNumber – Input parameter.

OcaStatus GetMembers(OcaList<OcaObjectIdentification> &Members)

Gets the list of block members. Does not recurse inner blocks. Each inner block is included in the returned list as a single object – its contents are not enumerated. The return value indicates whether the list was successfully retrieved.

This method has id 3.5.

Parameters

OcaList<OcaObjectIdentification> Members – Output parameter.

OcaStatus GetMembersRecursive(OcaList<OcaBlockMember> &Members)

Gets the list of block members. Recurses inner blocks. Each inner block is included in the returned list as a single object, amd its contents are enumerated. The return value indicates whether the list was successfully retrieved.

This method has id 3.6.

Parameters

OcaList<OcaBlockMember> Members – Output parameter.

OcaStatus AddSignalPath(OcaSignalPath Path, OcaUint16 &Index)

Adds a signal path to the block. The return value indicates whether the signal path was successfully added.

This method has id 3.7.

Parameters
  • OcaSignalPath Path – Input parameter.

  • OcaUint16 Index – Output parameter.

OcaStatus DeleteSignalPath(OcaUint16 Index)

Deletes a signal path from the block. The return value indicates whether the signal path was successfully added.

This method has id 3.8.

Parameters

OcaUint16 Index – Input parameter.

OcaStatus GetSignalPaths(OcaMap<OcaUint16, OcaSignalPath> &Members)

Gets the map of signal paths in the block. Does not recurse inner blocks. The return value indicates whether the list was successfully retrieved.

This method has id 3.9.

Parameters

OcaMap<OcaUint16, OcaSignalPath> Members – Output parameter.

OcaStatus GetSignalPathsRecursive(OcaMap<OcaUint16, OcaSignalPath> &Members)

Gets the mapof signal paths in the block. Recurses inner blocks. The return value indicates whether the list was successfully retrieved.

This method has id 3.10.

Parameters

OcaMap<OcaUint16, OcaSignalPath> Members – Output parameter.

OcaStatus GetMostRecentParamSetIdentifier(OcaLibVolIdentifier &Identifier)

Gets the identifier of the paramset most recently applied to this block.

This method has id 3.11.

Parameters

OcaLibVolIdentifier Identifier – Output parameter.

OcaStatus ApplyParamSet(OcaLibVolIdentifier &Identifier)

Applies the referenced paramset to this block, and sets the MostRecentParamSet property. The return value indicates whether the paramset was successfully applied.

This method has id 3.12.

Parameters

OcaLibVolIdentifier Identifier – Output parameter.

OcaStatus GetCurrentParamSetData(OcaLibVolData_ParamSet &Data)

Returns a paramset library volume data block which represents the current state of the block – i.e. a “snapshot”.

This method has id 3.13.

Parameters

OcaLibVolData_ParamSet Data – Output parameter.

OcaStatus StoreCurrentParamSetData(OcaLibVolIdentifier LibVolIdentifier)

Stores a paramset library volume data block which represents the current state of the block (“snapshot”) in the given library. Replaces the library volume at the specified LibVolIdentifier.

This method has id 3.14.

Parameters

OcaLibVolIdentifier LibVolIdentifier – Input parameter.

OcaStatus GetGlobalType(OcaGlobalTypeIdentifier &GlobalType)

Gets the global blocktype. The return value indicates whether the type was successfully retrieved. If this block has no global blocktype, the Authority field of the returned GlobalType parameter will be zero. Added in version 2 of this class.

This method has id 3.15.

Parameters

OcaGlobalTypeIdentifier GlobalType – Output parameter.

OcaStatus GetONoMap(OcaMap<OcaProtoONo, OcaONo> &ONoMap)

Gets the block’s ONo map. The return value indicates whether the map was successfully retrieved. Added in version 2 of this class.

This method has id 3.16.

Parameters

OcaMap<OcaProtoONo, OcaONo> ONoMap – Output parameter.

OcaStatus FindObjectsByRole(OcaString SearchName, OcaStringComparisonType NameComparisonType, OcaClassID SearchClassID, OcaObjectSearchResultFlags ResultFlags, OcaList<OcaObjectSearchResult> &Result)

Returns object identifications of all objects in the block that match the given Role search string and Class ID. Return value indicates whether the method succeeded. Added in version 2 of this class.

This method has id 3.17.

Parameters
  • OcaString SearchName – Input parameter.

  • OcaStringComparisonType NameComparisonType – Input parameter.

  • OcaClassID SearchClassID – Input parameter.

  • OcaObjectSearchResultFlags ResultFlags – Input parameter.

  • OcaList<OcaObjectSearchResult> Result – Output parameter.

OcaStatus FindObjectsByRoleRecursive(OcaString SearchName, OcaStringComparisonType NameComparisonType, OcaClassID SearchClassID, OcaObjectSearchResultFlags ResultFlags, OcaList<OcaObjectSearchResult> &Result)

Returns block member descriptors of all objects in the block and all contained blocks that match the given Role search string and Class ID. Added in version 2 of this class.

This method has id 3.18.

Parameters
  • OcaString SearchName – Input parameter.

  • OcaStringComparisonType NameComparisonType – Input parameter.

  • OcaClassID SearchClassID – Input parameter.

  • OcaObjectSearchResultFlags ResultFlags – Input parameter.

  • OcaList<OcaObjectSearchResult> Result – Output parameter.

OcaStatus FindObjectsByPath(OcaNamePath SearchPath, OcaObjectSearchResultFlags ResultFlags, OcaList<OcaObjectSearchResult> &Result)

Returns object identifications of all objects with the given name path. Added in version 2 of this class.

This method has id 3.20.

Parameters
  • OcaNamePath SearchPath – Input parameter.

  • OcaObjectSearchResultFlags ResultFlags – Input parameter.

  • OcaList<OcaObjectSearchResult> Result – Output parameter.

OcaStatus FindObjectsByLabelRecursive(OcaString SearchName, OcaStringComparisonType NameComparisonType, OcaClassID SearchClassID, OcaObjectSearchResultFlags ResultFlags, OcaList<OcaObjectSearchResult> &Result)

Returns block member descriptors of all objects in the block and all contained blocks that match the given Label search string and Class ID. Added in version 2 of this class.

This method has id 3.19.

Parameters
  • OcaString SearchName – Input parameter.

  • OcaStringComparisonType NameComparisonType – Input parameter.

  • OcaClassID SearchClassID – Input parameter.

  • OcaObjectSearchResultFlags ResultFlags – Input parameter.

  • OcaList<OcaObjectSearchResult> Result – Output parameter.

Methods inherited from OcaWorker:

Methods inherited from OcaRoot: