Object model library

Purpose

API reference

namespace visrobjectmodel

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 visr::objectmodelObjectTypeId

A numeric id to uniquely describe object types.

Values:

visr::objectmodelPointSource = 0

Simple point-like source (monopole)

visr::objectmodelPlaneWave = 1

Straight plane-wave source type

visr::objectmodelDiffuseSource = 2

Totally diffuse source type

visr::objectmodelPointSourceWithDiffuseness = 3

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

visr::objectmodelExtendedSource = 4

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

visr::objectmodelPointSourceWithReverb = 5

Point source with reverberation

visr::objectmodelPointSourceExtent = 6

Point source with explicit spatial extent.

visr::objectmodelHoaSource = 7

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

visr::objectmodelChannelObject = 8

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

Functions

std::string const &visr::objectmodelobjectTypeToString(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 visr::objectmodelstringToObjectType(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 visr::objectmodelcInstantiationHelper

Object which is used to initialise the object factory.

struct visr::objectmodelInstantiateObjectFactory

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

class visr::objectmodelObject
#include <object.hpp>

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

class visr::objectmodelObjectParser
#include <object_parser.hpp>

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

class visr::objectmodelObjectVector
#include <object_vector.hpp>

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

Subclassed by visr::pml::ObjectVector

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

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

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

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

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

Subclassed by visr::objectmodel::PointSourceExtent

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

Subclassed by visr::objectmodel::PointSourceExtentParser

class visr::objectmodelPointSourceWithReverb : 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 visr::objectmodelpython

Functions

void visr::objectmodel::pythonexportChannelObject(pybind11::module &m)
void visr::objectmodel::pythonexportDiffuseSource(pybind11::module &m)
void visr::objectmodel::pythonexportHoaSource(pybind11::module &m)
void visr::objectmodel::pythonexportObject(pybind11::module &m)
void visr::objectmodel::pythonexportObjectType(pybind11::module &m)
void visr::objectmodel::pythonexportObjectVector(py::module &m)
void visr::objectmodel::pythonexportObjectVector(pybind11::module &m)
void visr::objectmodel::pythonexportPointSource(pybind11::module &m)
void visr::objectmodel::pythonexportPointSourceExtent(pybind11::module &m)
void visr::objectmodel::pythonexportPointSourceWithDiffuseness(pybind11::module &m)
void visr::objectmodel::pythonexportPointSourceWithReverb(pybind11::module &m)
void visr::objectmodel::pythonexportPlaneWave(pybind11::module &m)
namespace visr::objectmodeltest

Functions

visr::objectmodel::testBOOST_AUTO_TEST_CASE(ParsePointSource)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ParsePlaneWave)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(UpdateSceneSameIdSameType)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(UpdateSceneSameIdDifferentType)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ParseMultiChannelObject)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ParseObjectEq)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ReencodeObjectEq)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ParseChannelObject)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(WriteChannelObject)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(InstantiatePointSources)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ObjectVectorAssign)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(ParsePointSourceWithReverb)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(SerialisePointSourceWithReverb)
visr::objectmodel::testBOOST_AUTO_TEST_CASE(InstantiateRenderer)