NanoOcp
Minimal AES70 / OCP.1 TCP client/server library for d&b Soundscape devices
Loading...
Searching...
No Matches
NanoOcp1::DS100::dbOcaObjectDef_Positioning_Source_Position Struct Reference

OCA definition for a sound object's 3D position in real-world space (En-Scene). More...

#include <Ocp1DS100ObjectDefinitions.h>

+ Inheritance diagram for NanoOcp1::DS100::dbOcaObjectDef_Positioning_Source_Position:
+ Collaboration diagram for NanoOcp1::DS100::dbOcaObjectDef_Positioning_Source_Position:

Public Member Functions

 dbOcaObjectDef_Positioning_Source_Position (std::uint32_t channel)
 
- Public Member Functions inherited from NanoOcp1::Ocp1CommandDefinition
 Ocp1CommandDefinition ()
 
 Ocp1CommandDefinition (std::uint32_t targetOno, std::uint16_t propertyType, std::uint16_t propertyDefLevel, std::uint16_t propertyIndex, std::uint8_t paramCount=static_cast< std::uint8_t >(0), const ByteVector &parameterData=std::vector< std::uint8_t >())
 
virtual ~Ocp1CommandDefinition ()=default
 
virtual Ocp1CommandDefinition AddSubscriptionCommand () const
 
virtual Ocp1CommandDefinition RemoveSubscriptionCommand () const
 
virtual Ocp1CommandDefinition GetValueCommand () const
 
virtual Ocp1CommandDefinition SetValueCommand (const Variant &newValue) const
 
virtual Ocp1CommandDefinitionClone () const
 
Ocp1DataType GetDataType () const
 

Additional Inherited Members

- Public Attributes inherited from NanoOcp1::Ocp1CommandDefinition
std::uint32_t m_targetOno
 
std::uint16_t m_propertyType
 
std::uint16_t m_propertyDefLevel
 
std::uint16_t m_propertyIndex
 
std::uint8_t m_paramCount
 
ByteVector m_parameterData
 

Detailed Description

OCA definition for a sound object's 3D position in real-world space (En-Scene).

This is the primary parameter read and written by DeviceController for every active sound object in Umsci. The value is encoded as three big-endian IEEE 754 float32s (12 bytes total) representing normalised X, Y, Z coordinates in the range [0.0, 1.0]. Use Variant::ToPosition() to decode the blob on receipt.

Parameters
channel1-based sound object (matrix input) index.

Example

// Subscribe:
uint32_t h;
client->sendData(Ocp1CommandResponseRequired(def.AddSubscriptionCommand(), h).GetSerializedData());
// Set position to (0.5, 0.5, 0.0):
Variant pos(0.5f, 0.5f, 0.0f);
client->sendData(Ocp1CommandResponseRequired(def.SetValueCommand(pos), h).GetSerializedData());
// Decode incoming notification:
Variant v(notif->GetParameterData(), OCP1DATATYPE_BLOB);
auto [x, y, z] = v.ToPosition();
ByteVector GetSerializedData() override
Type-erased OCA parameter value with built-in marshal/unmarshal support.
Definition Variant.h:102
@ OCP1DATATYPE_BLOB
Variable-length binary blob; layout is property-specific.
OCA definition for a sound object's 3D position in real-world space (En-Scene).

Definition at line 539 of file Ocp1DS100ObjectDefinitions.h.

Constructor & Destructor Documentation

◆ dbOcaObjectDef_Positioning_Source_Position()

NanoOcp1::DS100::dbOcaObjectDef_Positioning_Source_Position::dbOcaObjectDef_Positioning_Source_Position ( std::uint32_t  channel)
inline

Definition at line 541 of file Ocp1DS100ObjectDefinitions.h.


The documentation for this struct was generated from the following file: