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

The SpatialAudio primitive defines basic properties for encoding playback of an audio file or stream within a USD Stage. More...

+ Inheritance diagram for UsdMediaSpatialAudio:

Public Member Functions

 UsdMediaSpatialAudio (const UsdPrim &prim=UsdPrim())
 Construct a UsdMediaSpatialAudio on UsdPrim prim . More...
 
 UsdMediaSpatialAudio (const UsdSchemaBase &schemaObj)
 Construct a UsdMediaSpatialAudio on the prim held by schemaObj . More...
 
virtual USDMEDIA_API ~UsdMediaSpatialAudio ()
 Destructor. More...
 
USDMEDIA_API UsdAttribute GetFilePathAttr () const
 Path to the audio file. More...
 
USDMEDIA_API UsdAttribute CreateFilePathAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetFilePathAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDMEDIA_API UsdAttribute GetAuralModeAttr () const
 Determines how audio should be played. More...
 
USDMEDIA_API UsdAttribute CreateAuralModeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetAuralModeAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDMEDIA_API UsdAttribute 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. More...
 
USDMEDIA_API UsdAttribute CreatePlaybackModeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetPlaybackModeAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDMEDIA_API UsdAttribute GetStartTimeAttr () const
 Expressed in the timeCodesPerSecond of the containing stage, startTime specifies when the audio stream will start playing during animation playback. More...
 
USDMEDIA_API UsdAttribute CreateStartTimeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetStartTimeAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDMEDIA_API UsdAttribute 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. More...
 
USDMEDIA_API UsdAttribute CreateEndTimeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetEndTimeAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDMEDIA_API UsdAttribute 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. More...
 
USDMEDIA_API UsdAttribute CreateMediaOffsetAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetMediaOffsetAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDMEDIA_API UsdAttribute GetGainAttr () const
 Multiplier on the incoming audio signal. More...
 
USDMEDIA_API UsdAttribute CreateGainAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetGainAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
- Public Member Functions inherited from UsdGeomXformable
 UsdGeomXformable (const UsdPrim &prim=UsdPrim())
 Construct a UsdGeomXformable on UsdPrim prim . More...
 
 UsdGeomXformable (const UsdSchemaBase &schemaObj)
 Construct a UsdGeomXformable on the prim held by schemaObj . More...
 
virtual USDGEOM_API ~UsdGeomXformable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetXformOpOrderAttr () const
 Encodes the sequence of transformation operations in the order in which they should be pushed onto a transform stack while visiting a UsdStage's prims in a graph traversal that will effect the desired positioning for this prim and its descendant prims. More...
 
USDGEOM_API UsdAttribute CreateXformOpOrderAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetXformOpOrderAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDGEOM_API UsdGeomXformOp AddXformOp (UsdGeomXformOp::Type const opType, UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add an affine transformation to the local stack represented by this Xformable. More...
 
USDGEOM_API UsdGeomXformOp AddTranslateOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a translate operation to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddScaleOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a scale operation to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation about the X-axis to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation about the YX-axis to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation about the Z-axis to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateXYZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation op with XYZ rotation order to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateXZYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation op with XZY rotation order to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateYXZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation op with YXZ rotation order to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateYZXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation op with YZX rotation order to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateZXYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation op with ZXY rotation order to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddRotateZYXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a rotation op with ZYX rotation order to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddOrientOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a orient op (arbitrary axis/angle rotation) to the local stack represented by this xformable. More...
 
USDGEOM_API UsdGeomXformOp AddTransformOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 Add a tranform op (4x4 matrix transformation) to the local stack represented by this xformable. More...
 
USDGEOM_API bool SetResetXformStack (bool resetXform) const
 Specify whether this prim's transform should reset the transformation stack inherited from its parent prim. More...
 
USDGEOM_API bool GetResetXformStack () const
 Does this prim reset its parent's inherited transformation? More...
 
USDGEOM_API bool SetXformOpOrder (std::vector< UsdGeomXformOp > const &orderedXformOps, bool resetXformStack=false) const
 Reorder the already-existing transform ops on this prim. More...
 
USDGEOM_API std::vector
< UsdGeomXformOp
GetOrderedXformOps (bool *resetsXformStack) const
 Return the ordered list of transform operations to be applied to this prim, in least-to-most-local order. More...
 
USDGEOM_API bool ClearXformOpOrder () const
 Clears the local transform stack. More...
 
USDGEOM_API UsdGeomXformOp MakeMatrixXform () const
 Clears the existing local transform stack and creates a new xform op of type 'transform'. More...
 
USDGEOM_API bool TransformMightBeTimeVarying () const
 Determine whether there is any possibility that this prim's local transformation may vary over time. More...
 
USDGEOM_API bool TransformMightBeTimeVarying (const std::vector< UsdGeomXformOp > &ops) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Determine whether there is any possibility that this prim's local transformation may vary over time, using a pre-fetched (cached) list of ordered xform ops supplied by the client. More...
 
USDGEOM_API bool GetTimeSamples (std::vector< double > *times) const
 Sets times to the union of all the timesamples at which xformOps that are included in the xformOpOrder attribute are authored. More...
 
USDGEOM_API bool GetTimeSamplesInInterval (const GfInterval &interval, std::vector< double > *times) const
 Sets times to the union of all the timesamples in the interval, interval, at which xformOps that are included in the xformOpOrder attribute are authored. More...
 
USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, bool *resetsXformStack, const UsdTimeCode time=UsdTimeCode::Default()) const
 Computes the fully-combined, local-to-parent transformation for this prim. More...
 
USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, bool *resetsXformStack, const std::vector< UsdGeomXformOp > &ops, const UsdTimeCode time=UsdTimeCode::Default()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Computes the fully-combined, local-to-parent transformation for this prim as efficiently as possible, using a pre-fetched (cached) list of ordered xform ops supplied by the client. More...
 
- Public Member Functions inherited from UsdGeomImageable
 UsdGeomImageable (const UsdPrim &prim=UsdPrim())
 Construct a UsdGeomImageable on UsdPrim prim . More...
 
 UsdGeomImageable (const UsdSchemaBase &schemaObj)
 Construct a UsdGeomImageable on the prim held by schemaObj . More...
 
virtual USDGEOM_API ~UsdGeomImageable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetVisibilityAttr () const
 Visibility is meant to be the simplest form of "pruning" visibility that is supported by most DCC apps. More...
 
USDGEOM_API UsdAttribute CreateVisibilityAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetVisibilityAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDGEOM_API UsdAttribute GetPurposeAttr () const
 Purpose is a concept we have found useful in our pipeline for classifying geometry into categories that can each be independently included or excluded from traversals of prims on a stage, such as rendering or bounding-box computation traversals. More...
 
USDGEOM_API UsdAttribute CreatePurposeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetPurposeAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDGEOM_API UsdRelationship GetProxyPrimRel () const
 The proxyPrim relationship allows us to link a prim whose purpose is "render" to its (single target) purpose="proxy" prim. More...
 
USDGEOM_API UsdRelationship CreateProxyPrimRel () const
 See GetProxyPrimRel(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDGEOM_API void MakeVisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 Make the imageable visible if it is invisible at the given time. More...
 
USDGEOM_API void MakeInvisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 Makes the imageable invisible if it is visible at the given time. More...
 
USDGEOM_API TfToken ComputeVisibility (UsdTimeCode const &time=UsdTimeCode::Default()) const
 Calculate the effective visibility of this prim, as defined by its most ancestral authored "invisible" opinion, if any. More...
 
USDGEOM_API TfToken ComputeVisibility (const TfToken &parentVisibility, UsdTimeCode const &time=UsdTimeCode::Default()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Calculates the effective visibility of this prim, given the computed visibility of its parent prim at the given time. More...
 
USDGEOM_API TfToken ComputePurpose () const
 Calculate the effective purpose of this prim, as defined by its most ancestral authored non-"default" opinion, if any. More...
 
USDGEOM_API TfToken ComputePurpose (const TfToken &parentPurpose) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Calculates the effective purpose of this prim, given the computed purpose of its parent prim. More...
 
USDGEOM_API UsdPrim ComputeProxyPrim (UsdPrim *renderPrim=NULL) const
 Find the prim whose purpose is proxy that serves as the proxy for this prim, as established by the GetProxyPrimRel(), or an invalid UsdPrim if this prim has no proxy. More...
 
USDGEOM_API bool SetProxyPrim (const UsdPrim &proxy) const
 Convenience function for authoring the renderProxy rel on this prim to target the given proxy prim. More...
 
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
 Compute the bound of this prim in world space, at the specified time, and for the specified purposes. More...
 
USDGEOM_API GfBBox3d ComputeLocalBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 Compute the bound of this prim in local space, at the specified time, and for the specified purposes. More...
 
USDGEOM_API GfBBox3d ComputeUntransformedBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 Compute the untransformed bound of this prim, at the specified time, and for the specified purposes. More...
 
USDGEOM_API GfMatrix4d ComputeLocalToWorldTransform (UsdTimeCode const &time) const
 Compute the transformation matrix for this prim at the given time, including the transform authored on the Prim itself, if present. More...
 
USDGEOM_API GfMatrix4d ComputeParentToWorldTransform (UsdTimeCode const &time) const
 Compute the transformation matrix for this prim at the given time, NOT including the transform authored on the prim itself. More...
 
USDGEOM_API UsdGeomPrimvar CreatePrimvar (const TfToken &attrName, const SdfValueTypeName &typeName, const TfToken &interpolation=TfToken(), int elementSize=-1) const
 
USDGEOM_API UsdGeomPrimvar GetPrimvar (const TfToken &name) const
 
USDGEOM_API std::vector
< UsdGeomPrimvar
GetPrimvars () const
 
USDGEOM_API std::vector
< UsdGeomPrimvar
GetAuthoredPrimvars () const
 
USDGEOM_API bool HasPrimvar (const TfToken &name) const
 
- Public Member Functions inherited from UsdTyped
 UsdTyped (const UsdPrim &prim=UsdPrim())
 Construct a UsdTyped on UsdPrim prim . More...
 
 UsdTyped (const UsdSchemaBase &schemaObj)
 Construct a UsdTyped on the prim wrapped by schemaObj . More...
 
- Public Member Functions inherited from UsdSchemaBase
bool IsConcrete () const
 Returns whether or not this class corresponds to a concrete instantiable prim type in scene description. More...
 
bool IsTyped () const
 Returns whether or not this class inherits from UsdTyped. More...
 
bool IsAPISchema () const
 Returns whether this is an API schema or not. More...
 
bool IsAppliedAPISchema () const
 Returns whether this is an applied API schema or not. More...
 
bool IsMultipleApplyAPISchema () const
 Returns whether this is an applied API schema or not. More...
 
UsdSchemaType GetSchemaType () const
 
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
 Return true if this schema object is compatible with its held prim, false otherwise. More...
 
UsdPrim GetPrim () const
 Return this schema object's held prim. More...
 
SdfPath GetPath () const
 Shorthand for GetPrim()->GetPath(). More...
 
USD_API SdfPrimSpecHandle GetSchemaClassPrimDefinition () const
 Return the prim definition associated with this schema instance if one exists, otherwise return null. More...
 

Static Public Member Functions

static USDMEDIA_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USDMEDIA_API
UsdMediaSpatialAudio 
Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdMediaSpatialAudio holding the prim adhering to this schema at path on stage. More...
 
static USDMEDIA_API
UsdMediaSpatialAudio 
Define (const UsdStagePtr &stage, const SdfPath &path)
 Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined()) on this stage. More...
 
- Static Public Member Functions inherited from UsdGeomXformable
static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USDGEOM_API UsdGeomXformable Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdGeomXformable holding the prim adhering to this schema at path on stage. More...
 
static USDGEOM_API bool GetTimeSamples (std::vector< UsdGeomXformOp > const &orderedXformOps, std::vector< double > *times)
 Returns the union of all the timesamples at which the attributes belonging to the given orderedXformOps are authored. More...
 
static USDGEOM_API bool GetTimeSamplesInInterval (std::vector< UsdGeomXformOp > const &orderedXformOps, const GfInterval &interval, std::vector< double > *times)
 Returns the union of all the timesamples in the interval at which the attributes belonging to the given orderedXformOps are authored. More...
 
static USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, std::vector< UsdGeomXformOp > const &ops, const UsdTimeCode time)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This is a static version of the preceding function that takes a cached list of ordered xform ops. More...
 
static USDGEOM_API bool IsTransformationAffectedByAttrNamed (const TfToken &attrName)
 Returns true if the attribute named attrName could affect the local transformation of an xformable prim. More...
 
- Static Public Member Functions inherited from UsdGeomImageable
static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USDGEOM_API UsdGeomImageable Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdGeomImageable holding the prim adhering to this schema at path on stage. More...
 
static USDGEOM_API const
TfTokenVector
GetOrderedPurposeTokens ()
 Returns an ordered list of allowed values of the purpose attribute. More...
 
- Static Public Member Functions inherited from UsdTyped
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USD_API UsdTyped Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdTyped holding the prim adhering to this schema at path on stage. More...
 
- Static Public Member Functions inherited from UsdSchemaBase
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 

Static Public Attributes

static const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdGeomXformable
static const UsdSchemaType schemaType = UsdSchemaType::AbstractTyped
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdGeomImageable
static const UsdSchemaType schemaType = UsdSchemaType::AbstractTyped
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdTyped
static const UsdSchemaType schemaType = UsdSchemaType::AbstractBase
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdSchemaBase
static const UsdSchemaType schemaType = UsdSchemaType::AbstractBase
 Compile time constant representing what kind of schema this class is. More...
 

Protected Member Functions

USDMEDIA_API UsdSchemaType _GetSchemaType () const override
 Returns the type of schema this class belongs to. More...
 
- Protected Member Functions inherited from UsdTyped
USD_API bool _IsCompatible () const override
 Subclasses may override _IsCompatible to do specific compatibility checking with the given prim, such as type compatibility or value compatibility. More...
 
- Protected Member Functions inherited from UsdSchemaBase
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 ( 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 ( 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 ( )
virtual

Destructor.

Member Function Documentation

USDMEDIA_API UsdSchemaType _GetSchemaType ( ) const
overrideprotectedvirtual

Returns the type of schema this class belongs to.

See Also
UsdSchemaType

Reimplemented from UsdGeomXformable.

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

See GetAuralModeAttr(), and also Create vs Get Property Methods 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 CreateEndTimeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetEndTimeAttr(), and also Create vs Get Property Methods 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 CreateFilePathAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetFilePathAttr(), and also Create vs Get Property Methods 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 CreateGainAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetGainAttr(), and also Create vs Get Property Methods 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 CreateMediaOffsetAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetMediaOffsetAttr(), and also Create vs Get Property Methods 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 CreatePlaybackModeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetPlaybackModeAttr(), and also Create vs Get Property Methods 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 CreateStartTimeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetStartTimeAttr(), and also Create vs Get Property Methods 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 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 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 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 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 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 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 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 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& 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 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

Member Data Documentation

const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped
static

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

See Also
UsdSchemaType

Definition at line 114 of file spatialAudio.h.


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