HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdMediaSpatialAudio Class Reference

#include <spatialAudio.h>

+ Inheritance diagram for UsdMediaSpatialAudio:

Public Member Functions

 UsdMediaSpatialAudio (const UsdPrim &prim=UsdPrim())
 
 UsdMediaSpatialAudio (const UsdSchemaBase &schemaObj)
 
virtual USDMEDIA_API ~UsdMediaSpatialAudio ()
 Destructor. More...
 
USDMEDIA_API UsdAttribute GetFilePathAttr () const
 
USDMEDIA_API UsdAttribute CreateFilePathAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDMEDIA_API UsdAttribute GetAuralModeAttr () const
 
USDMEDIA_API UsdAttribute CreateAuralModeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDMEDIA_API UsdAttribute GetPlaybackModeAttr () const
 
USDMEDIA_API UsdAttribute CreatePlaybackModeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDMEDIA_API UsdAttribute GetStartTimeAttr () const
 
USDMEDIA_API UsdAttribute CreateStartTimeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDMEDIA_API UsdAttribute GetEndTimeAttr () const
 
USDMEDIA_API UsdAttribute CreateEndTimeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDMEDIA_API UsdAttribute GetMediaOffsetAttr () const
 
USDMEDIA_API UsdAttribute CreateMediaOffsetAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDMEDIA_API UsdAttribute GetGainAttr () const
 
USDMEDIA_API UsdAttribute CreateGainAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
- Public Member Functions inherited from UsdGeomXformable
 UsdGeomXformable (const UsdPrim &prim=UsdPrim())
 
 UsdGeomXformable (const UsdSchemaBase &schemaObj)
 
virtual USDGEOM_API ~UsdGeomXformable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetXformOpOrderAttr () const
 
USDGEOM_API UsdAttribute CreateXformOpOrderAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDGEOM_API UsdGeomXformOp AddXformOp (UsdGeomXformOp::Type const opType, UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetXformOp (UsdGeomXformOp::Type const opType, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddTranslateOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetTranslateOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddScaleOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetScaleOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateXOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateYOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateZOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateXYZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateXYZOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateXZYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateXZYOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateYXZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateYXZOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateYZXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateYZXOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateZXYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateZXYOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateZYXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetRotateZYXOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddOrientOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetOrientOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddTransformOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp GetTransformOp (TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API bool SetResetXformStack (bool resetXform) const
 
USDGEOM_API bool GetResetXformStack () const
 
USDGEOM_API bool SetXformOpOrder (std::vector< UsdGeomXformOp > const &orderedXformOps, bool resetXformStack=false) const
 
USDGEOM_API std::vector
< UsdGeomXformOp
GetOrderedXformOps (bool *resetsXformStack) const
 
USDGEOM_API bool ClearXformOpOrder () const
 Clears the local transform stack. More...
 
USDGEOM_API UsdGeomXformOp MakeMatrixXform () const
 
USDGEOM_API bool TransformMightBeTimeVarying () const
 
USDGEOM_API bool TransformMightBeTimeVarying (const std::vector< UsdGeomXformOp > &ops) const
 
USDGEOM_API bool GetTimeSamples (std::vector< double > *times) const
 
USDGEOM_API bool GetTimeSamplesInInterval (const GfInterval &interval, std::vector< double > *times) const
 
USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, bool *resetsXformStack, const UsdTimeCode time=UsdTimeCode::Default()) const
 
USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, bool *resetsXformStack, const std::vector< UsdGeomXformOp > &ops, const UsdTimeCode time=UsdTimeCode::Default()) const
 
- Public Member Functions inherited from UsdGeomImageable
 UsdGeomImageable (const UsdPrim &prim=UsdPrim())
 
 UsdGeomImageable (const UsdSchemaBase &schemaObj)
 
virtual USDGEOM_API ~UsdGeomImageable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetVisibilityAttr () const
 
USDGEOM_API UsdAttribute CreateVisibilityAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDGEOM_API UsdAttribute GetPurposeAttr () const
 
USDGEOM_API UsdAttribute CreatePurposeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDGEOM_API UsdRelationship GetProxyPrimRel () const
 
USDGEOM_API UsdRelationship CreateProxyPrimRel () const
 
USDGEOM_API void MakeVisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 
USDGEOM_API void MakeInvisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 
USDGEOM_API TfToken ComputeVisibility (UsdTimeCode const &time=UsdTimeCode::Default()) const
 
USDGEOM_API UsdAttribute GetPurposeVisibilityAttr (const TfToken &purpose=UsdGeomTokens->default_) const
 
USDGEOM_API TfToken ComputeEffectiveVisibility (const TfToken &purpose=UsdGeomTokens->default_, const UsdTimeCode &time=UsdTimeCode::Default()) const
 
USDGEOM_API PurposeInfo ComputePurposeInfo () const
 
USDGEOM_API PurposeInfo ComputePurposeInfo (const PurposeInfo &parentPurposeInfo) const
 
USDGEOM_API TfToken ComputePurpose () const
 
USDGEOM_API UsdPrim ComputeProxyPrim (UsdPrim *renderPrim=NULL) const
 
USDGEOM_API bool SetProxyPrim (const UsdPrim &proxy) const
 
USDGEOM_API bool SetProxyPrim (const UsdSchemaBase &proxy) const
 
USDGEOM_API GfBBox3d ComputeWorldBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 
USDGEOM_API GfBBox3d ComputeLocalBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 
USDGEOM_API GfBBox3d ComputeUntransformedBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 
USDGEOM_API GfMatrix4d ComputeLocalToWorldTransform (UsdTimeCode const &time) const
 
USDGEOM_API GfMatrix4d ComputeParentToWorldTransform (UsdTimeCode const &time) const
 
- Public Member Functions inherited from UsdTyped
 UsdTyped (const UsdPrim &prim=UsdPrim())
 
 UsdTyped (const UsdSchemaBase &schemaObj)
 
virtual USD_API ~UsdTyped ()
 Destructor. More...
 
- Public Member Functions inherited from UsdSchemaBase
bool IsConcrete () const
 
bool IsTyped () const
 
bool IsAPISchema () const
 Returns whether this is an API schema or not. More...
 
bool IsAppliedAPISchema () const
 
bool IsMultipleApplyAPISchema () const
 
UsdSchemaKind GetSchemaKind () const
 Returns the kind of schema this class is. More...
 
USD_API UsdSchemaBase (const UsdPrim &prim=UsdPrim())
 Construct and store prim as the held prim. More...
 
USD_API UsdSchemaBase (const UsdSchemaBase &otherSchema)
 Construct and store for the same prim held by otherSchema. More...
 
virtual USD_API ~UsdSchemaBase ()
 Destructor. More...
 
USD_API operator bool () const
 
UsdPrim GetPrim () const
 Return this schema object's held prim. More...
 
SdfPath GetPath () const
 Shorthand for GetPrim()->GetPath(). More...
 
USD_API const UsdPrimDefinitionGetSchemaClassPrimDefinition () const
 

Static Public Member Functions

static USDMEDIA_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USDMEDIA_API
UsdMediaSpatialAudio 
Get (const UsdStagePtr &stage, const SdfPath &path)
 
static USDMEDIA_API
UsdMediaSpatialAudio 
Define (const UsdStagePtr &stage, const SdfPath &path)
 
- Static Public Member Functions inherited from UsdGeomXformable
static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USDGEOM_API UsdGeomXformable Get (const UsdStagePtr &stage, const SdfPath &path)
 
static USDGEOM_API bool GetTimeSamples (std::vector< UsdGeomXformOp > const &orderedXformOps, std::vector< double > *times)
 
static USDGEOM_API bool GetTimeSamplesInInterval (std::vector< UsdGeomXformOp > const &orderedXformOps, const GfInterval &interval, std::vector< double > *times)
 
static USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, std::vector< UsdGeomXformOp > const &ops, const UsdTimeCode time)
 
static USDGEOM_API bool IsTransformationAffectedByAttrNamed (const TfToken &attrName)
 
- Static Public Member Functions inherited from UsdGeomImageable
static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USDGEOM_API UsdGeomImageable Get (const UsdStagePtr &stage, const SdfPath &path)
 
static USDGEOM_API const
TfTokenVector
GetOrderedPurposeTokens ()
 
- Static Public Member Functions inherited from UsdTyped
static USD_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USD_API UsdTyped Get (const UsdStagePtr &stage, const SdfPath &path)
 
- Static Public Member Functions inherited from UsdSchemaBase
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 

Static Public Attributes

static const UsdSchemaKind schemaKind = UsdSchemaKind::ConcreteTyped
 
- Static Public Attributes inherited from UsdGeomXformable
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractTyped
 
- Static Public Attributes inherited from UsdGeomImageable
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractTyped
 
- Static Public Attributes inherited from UsdTyped
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase
 
- Static Public Attributes inherited from UsdSchemaBase
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase
 

Protected Member Functions

USDMEDIA_API UsdSchemaKind _GetSchemaKind () const override
 
- Protected Member Functions inherited from UsdTyped
USD_API bool _IsCompatible () const override
 
- Protected Member Functions inherited from UsdSchemaBase
virtual UsdSchemaKind _GetSchemaType () const
 
const TfType_GetType () const
 
USD_API UsdAttribute _CreateAttr (TfToken const &attrName, SdfValueTypeName const &typeName, bool custom, SdfVariability variability, VtValue const &defaultValue, bool writeSparsely) const
 

Friends

class UsdSchemaRegistry
 

Detailed Description

The SpatialAudio primitive defines basic properties for encoding playback of an audio file or stream within a USD Stage. The SpatialAudio schema derives from UsdGeomXformable since it can support full spatial audio while also supporting non-spatial mono and stereo sounds. One or more SpatialAudio prims can be placed anywhere in the namespace, though it is advantageous to place truly spatial audio prims under/inside the models from which the sound emanates, so that the audio prim need only be transformed relative to the model, rather than copying its animation.

Timecode Attributes and Time Scaling

startTime and endTime are timecode valued attributes which gives them the special behavior that layer offsets affecting the layer in which one of these values is authored are applied to the attribute's value itself during value resolution. This allows audio playback to be kept in sync with time sampled animation as the animation is affected by layer offsets in the composition. But this behavior brings with it some interesting edge cases and caveats when it comes to layer offsets that include scale.

Layer Offsets do not affect Media Dilation

Although authored layer offsets may have a time scale which can scale the duration between an authored startTime and endTime, we make no attempt to infer any playback dilation of the actual audio media itself. Given that startTime and endTime can be independently authored in different layers with differing time scales, it is not possible, in general, to define an "original timeframe" from which we can compute a dilation to composed stage-time. Even if we could compute a composed dilation this way, it would still be impossible to flatten a stage or layer stack into a single layer and still retain the composed audio dilation using this schema.

Inverting startTime and endTime

Although we do not expect it to be common, it is possible to apply a negative time scale to USD layers, which mostly has the effect of reversing animation in the affected composition. If a negative scale is applied to a composition that contains authored startTime and endTime, it will reverse their relative ordering in time. Therefore, we stipulate when playbackMode is "onceFromStartToEnd" or "loopFromStartToEnd", if endTime is less than startTime, then begin playback at endTime, and continue until startTime. When startTime and endTime are inverted, we do not, however, stipulate that playback of the audio media itself be inverted, since doing so "successfully" would require perfect knowledge of when, within the audio clip, relevant audio ends (so that we know how to offset the reversed audio to align it so that we reach the "beginning" at startTime), and sounds played in reverse are not likely to produce desirable results.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdMediaTokens. So to set an attribute to the value "rightHanded", use UsdMediaTokens->rightHanded as the value.

Definition at line 108 of file spatialAudio.h.

Constructor & Destructor Documentation

UsdMediaSpatialAudio::UsdMediaSpatialAudio ( const UsdPrim prim = UsdPrim())
inlineexplicit

Construct a UsdMediaSpatialAudio on UsdPrim prim . Equivalent to UsdMediaSpatialAudio::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 120 of file spatialAudio.h.

UsdMediaSpatialAudio::UsdMediaSpatialAudio ( const UsdSchemaBase schemaObj)
inlineexplicit

Construct a UsdMediaSpatialAudio on the prim held by schemaObj . Should be preferred over UsdMediaSpatialAudio(schemaObj.GetPrim()), as it preserves SchemaBase state.

Definition at line 128 of file spatialAudio.h.

virtual USDMEDIA_API UsdMediaSpatialAudio::~UsdMediaSpatialAudio ( )
virtual

Destructor.

Member Function Documentation

USDMEDIA_API UsdSchemaKind UsdMediaSpatialAudio::_GetSchemaKind ( ) const
overrideprotectedvirtual

Returns the kind of schema this class belongs to.

See Also
UsdSchemaKind

Reimplemented from UsdGeomXformable.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreateAuralModeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetAuralModeAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreateEndTimeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetEndTimeAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreateFilePathAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetFilePathAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreateGainAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetGainAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreateMediaOffsetAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetMediaOffsetAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreatePlaybackModeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetPlaybackModeAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::CreateStartTimeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetStartTimeAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

static USDMEDIA_API UsdMediaSpatialAudio UsdMediaSpatialAudio::Define ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined()) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema's prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget's namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

static USDMEDIA_API UsdMediaSpatialAudio UsdMediaSpatialAudio::Get ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Return a UsdMediaSpatialAudio holding the prim adhering to this schema at path on stage. If no prim exists at path on stage, or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdMediaSpatialAudio(stage->GetPrimAtPath(path));
USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetAuralModeAttr ( ) const

Determines how audio should be played. Valid values are:

  • spatial: Play the audio in 3D space if the device can support spatial audio. if not, fall back to mono.
  • nonSpatial: Play the audio without regard to the SpatialAudio prim's position. If the audio media contains any form of stereo or other multi-channel sound, it is left to the application to determine whether the listener's position should be taken into account. We expect nonSpatial to be the choice for ambient sounds and music sound-tracks.
Declaration uniform token auralMode = "spatial"
C++ Type TfToken
Usd Type SdfValueTypeNames->Token
Variability SdfVariabilityUniform
Allowed Values spatial, nonSpatial
USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetEndTimeAttr ( ) const

Expressed in the timeCodesPerSecond of the containing stage, endTime specifies when the audio stream will cease playing during animation playback if the length of the referenced audio clip is longer than desired. This only applies if playbackMode is set to onceFromStartToEnd or loopFromStartToEnd, otherwise the endTimeCode of the stage is used instead of endTime. If endTime is less than startTime, it is expected that the audio will instead be played from endTime to startTime. Note that endTime is expressed as a timecode so that the stage can properly apply layer offsets when resolving its value. See Timecode Attributes and Time Scaling for more details and caveats.

Declaration uniform timecode endTime = 0
C++ Type SdfTimeCode
Usd Type SdfValueTypeNames->TimeCode
Variability SdfVariabilityUniform
USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetFilePathAttr ( ) const

Path to the audio file. In general, the formats allowed for audio files is no more constrained by USD than is image-type. As with images, however, usdz has stricter requirements based on DMA and format support in browsers and consumer devices. The allowed audio filetypes for usdz are M4A, MP3, WAV (in order of preference).

See Also
Usdz Specification
Declaration uniform asset filePath = @@
C++ Type SdfAssetPath
Usd Type SdfValueTypeNames->Asset
Variability SdfVariabilityUniform
USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetGainAttr ( ) const

Multiplier on the incoming audio signal. A value of 0 "mutes" the signal. Negative values will be clamped to 0.

Declaration double gain = 1
C++ Type double
Usd Type SdfValueTypeNames->Double
USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetMediaOffsetAttr ( ) const

Expressed in seconds, mediaOffset specifies the offset from the referenced audio file's beginning at which we should begin playback when stage playback reaches the time that prim's audio should start. If the prim's playbackMode is a looping mode, mediaOffset is applied only to the first run-through of the audio clip; the second and all other loops begin from the start of the audio clip.

Declaration uniform double mediaOffset = 0
C++ Type double
Usd Type SdfValueTypeNames->Double
Variability SdfVariabilityUniform
USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetPlaybackModeAttr ( ) const

Along with startTime and endTime, determines when the audio playback should start and stop during the stage's animation playback and whether the audio should loop during its duration. Valid values are:

  • onceFromStart: Play the audio once, starting at startTime, continuing until the audio completes.
  • onceFromStartToEnd: Play the audio once beginning at startTime, continuing until endTime or until the audio completes, whichever comes first.
  • loopFromStart: Start playing the audio at startTime and continue looping through to the stage's authored endTimeCode.
  • loopFromStartToEnd: Start playing the audio at startTime and continue looping through, stopping the audio at endTime.
  • loopFromStage: Start playing the audio at the stage's authored startTimeCode and continue looping through to the stage's authored endTimeCode. This can be useful for ambient sounds that should always be active.
Declaration uniform token playbackMode = "onceFromStart"
C++ Type TfToken
Usd Type SdfValueTypeNames->Token
Variability SdfVariabilityUniform
Allowed Values onceFromStart, onceFromStartToEnd, loopFromStart, loopFromStartToEnd, loopFromStage
static USDMEDIA_API const TfTokenVector& UsdMediaSpatialAudio::GetSchemaAttributeNames ( bool  includeInherited = true)
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. Does not include attributes that may be authored by custom/extended methods of the schemas involved.

USDMEDIA_API UsdAttribute UsdMediaSpatialAudio::GetStartTimeAttr ( ) const

Expressed in the timeCodesPerSecond of the containing stage, startTime specifies when the audio stream will start playing during animation playback. This value is ignored when playbackMode is set to loopFromStage as, in this mode, the audio will always start at the stage's authored startTimeCode. Note that startTime is expressed as a timecode so that the stage can properly apply layer offsets when resolving its value. See Timecode Attributes and Time Scaling for more details and caveats.

Declaration uniform timecode startTime = 0
C++ Type SdfTimeCode
Usd Type SdfValueTypeNames->TimeCode
Variability SdfVariabilityUniform

Friends And Related Function Documentation

friend class UsdSchemaRegistry
friend

Definition at line 192 of file spatialAudio.h.

Member Data Documentation

const UsdSchemaKind UsdMediaSpatialAudio::schemaKind = UsdSchemaKind::ConcreteTyped
static

Compile time constant representing what kind of schema this class is.

See Also
UsdSchemaKind

Definition at line 114 of file spatialAudio.h.


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