The Static Metadata represents data that will not change based on configuration. It is provided as is.
There are two API methods related to this feature.
- createStaticMetadata
- getStaticMetadata
virtual void createStaticMetadata();
staticMetadata getStaticMetadata() { return m_StaticMetadata; }
Create Static Metadata
This method is intended to be overwritten by each instance of AudioObject. The goal is to populate the protected member m_StaticMetadata. There is an example of how to do this in AudioObject.cpp. The basic audio objects included within xAF also implement this method appropriately.
This method should be overridden by any object updating to the new API. Here are the relevant details:

- minReqXafVersion – set this to an integer which is related to the major version of xAF. (ACDC == 1, Beatles == 2, etc)
- isExtendedObjIdRequired – false for most objects. This flag enables support for more than 256 subblocks.
- supSampleRates – list of all supported samples rates (leave blank if there are no restrictions)
- supBlockSizes – list of all supported block sizes (leave blank if there are no restrictions)
- supDataFormats – list of supported calcObject data formats (leave blank if there are no restrictions)
- audioObjectVersion – Condensed three part version number. Created with helper method :
- void setAudioObjectVersion(unsigned char major, unsigned char minor, unsigned char revision)
- It is up to audio object to determine how to manage these versions.
- tuningVersion – Condensed two part version number. Created with helper method :
- Void setTuningVersion(unsigned char major, unsigned char minor)
- These version numbers must only be changed when appropriate!!
- Follow these rules:
- Increment minor version when new release has *additional* tuning but previous tuning data can still be loaded successfully.
- Increment major reversion when the new release is not compatible at all with previous tuoid setTuning data.
- If tuning structure does not change, do not change this version
- authorList – fill with list of authors if desired
- creationDay – date of creation for the object
- certified – whether this object has undergone certification
- inPlaceComputationEnabled – whether this object requires input and output buffers to be the same (see below)
- isAddVarUpdateRequired – whether the tuning tool should assume additional vars can change any time main object parameters are updated.
- Set this to true if your additional variable sizes are based in some way on inputs.
- Example: Number of Input channels is configurable by the user – and the first additional variable size is always equal to the number of input channels.
Get Static Metadata
This method simply returns a copy of m_StaticMetadata. It is not virtual.
In-Place Computation
This will be deprecated here and moved to dynamic metadata, to support a target/core specific implementation. The static member will be kept for backward compatibility reasons only and will be deprecated after some time.
Do not use this struct member in future implementations!