Object model library

Purpose

API reference

namespace visr::objectmodel

The documentation for the namespace objectmodel. Detailed description follows here.

Typedefs

typedef using visr::objectmodel::ObjectId = typedef unsigned int
typedef using visr::objectmodel::GroupId = typedef unsigned int
typedef using visr::objectmodel::LevelType = typedef float

Type use for level (gain, volume) settings, linear scale

typedef using visr::objectmodel::ObjectTypeIntegerRepresentation = typedef std::uint8_t

Enums

enum ObjectTypeId

A numeric id to uniquely describe object types.

Values:

PointSource = 0

Simple point-like source (monopole)

PlaneWave = 1

Straight plane-wave source type

DiffuseSource = 2

Totally diffuse source type

PointSourceWithDiffuseness = 3

Point-source-like audio object with an addditional “diffuseness” attribute controlling the fraction of the source that is reproduced diffusely.

ExtendedSource = 4

Source type with controllable extent, i.e. width and height.

PointSourceWithReverb = 5

Point source with reverberation

PointSourceExtent = 6

Point source with explicit spatial extent.

HoaSource = 7

Higher Order Ambbisonics object, sound field representation based on spherical harmonics

ChannelObject = 8

Source type representing a single or multiple channels routed to a set of loudspeaker channels.

Functions

std::string const &objectTypeToString(ObjectTypeId type)

Convert an object type id into its string representation

Parameters
  • type -

Exceptions
  • std::logic_error -

    Happens only in case of an internal inconsistency, i.e., if the type is not found in the lookup table.

ObjectTypeId stringToObjectType(std::string const &typeString)

Return
The object id of the type correspoonding to the string representation
Parameters
  • typeString -

Exceptions
  • std::invalid_argument -

    If typeStr does not correspond to an existing object type.

Variables

InstantiateObjectFactory const cInstantiationHelper

Object which is used to initialise the object factory.

struct InstantiateObjectFactory

A helper class with whole purpose is to register the different object types in the factory.

class ObjectParser
#include <object_parser.hpp>

class ObjectVector
#include <object_vector.hpp>

A class representing a set of audio objects of potentially different types.

class PointSourceWithReverb
#include <point_source_with_reverb.hpp>

Audio object representing a monopole point source with corresponding object-based reverberation. Derived from PointSource.

namespace python

Functions

void exportChannelObject(pybind11::module &m)
void exportDiffuseSource(pybind11::module &m)
void exportHoaSource(pybind11::module &m)
void exportObject(pybind11::module &m)
void exportObjectType(pybind11::module &m)
void exportObjectVector(py::module &m)
void exportObjectVector(pybind11::module &m)
void exportPointSource(pybind11::module &m)
void exportPointSourceExtent(pybind11::module &m)
void exportPointSourceWithDiffuseness(pybind11::module &m)
void exportPointSourceWithReverb(pybind11::module &m)
void exportPlaneWave(pybind11::module &m)
namespace test

Functions

BOOST_AUTO_TEST_CASE(ParsePointSource)
BOOST_AUTO_TEST_CASE(ParsePlaneWave)
BOOST_AUTO_TEST_CASE(UpdateSceneSameIdSameType)
BOOST_AUTO_TEST_CASE(UpdateSceneSameIdDifferentType)
BOOST_AUTO_TEST_CASE(ParseMultiChannelObject)
BOOST_AUTO_TEST_CASE(ParseObjectEq)
BOOST_AUTO_TEST_CASE(ReencodeObjectEq)
BOOST_AUTO_TEST_CASE(ParseChannelObject)
BOOST_AUTO_TEST_CASE(WriteChannelObject)
BOOST_AUTO_TEST_CASE(InstantiatePointSources)
BOOST_AUTO_TEST_CASE(ObjectVectorAssign)
BOOST_AUTO_TEST_CASE(ParsePointSourceWithReverb)
BOOST_AUTO_TEST_CASE(SerialisePointSourceWithReverb)
BOOST_AUTO_TEST_CASE(InstantiateRenderer)