Object model library

Purpose

API reference

namespace objectmodel

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

Typedefs

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

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

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 Object
#include <object.hpp>

Subclassed by visr::objectmodel::ChannelObject, visr::objectmodel::DiffuseSource, visr::objectmodel::HoaSource, visr::objectmodel::PlaneWave, visr::objectmodel::PointSource

class ObjectParser
#include <object_parser.hpp>

Subclassed by visr::objectmodel::ChannelObjectParser, visr::objectmodel::DiffuseSourceParser, visr::objectmodel::HoaSourceParser, visr::objectmodel::PlaneWaveParser, visr::objectmodel::PointSourceParser

class ObjectVector
#include <object_vector.hpp>

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

Subclassed by visr::pml::ObjectVector

class PointSource : public visr::objectmodel::Object
#include <point_source.hpp>

Subclassed by visr::objectmodel::PointSourceWithDiffuseness, visr::objectmodel::PointSourceWithReverb

class PointSourceParser : public visr::objectmodel::ObjectParser
#include <point_source_parser.hpp>

Subclassed by visr::objectmodel::PointSourceWithDiffusenessParser, visr::objectmodel::PointSourceWithReverbParser

class PointSourceWithDiffuseness : public visr::objectmodel::PointSource
#include <point_source_with_diffuseness.hpp>

Subclassed by visr::objectmodel::PointSourceExtent

class PointSourceWithDiffusenessParser : public visr::objectmodel::PointSourceParser
#include <point_source_with_diffuseness_parser.hpp>

Subclassed by visr::objectmodel::PointSourceExtentParser

class PointSourceWithReverb : public visr::objectmodel::PointSource
#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)