<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PHASE",
  "identifier" : "/documentation/PHASE/PHASEMetaParameterDefinition",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PHASE"
    ],
    "preciseIdentifier" : "c:objc(cs)PHASEMetaParameterDefinition"
  },
  "title" : "PHASEMetaParameterDefinition"
}
-->

# PHASEMetaParameterDefinition

A specification for a named parameter with a constant value.

```
class PHASEMetaParameterDefinition
```

## Overview

Instances of this class provide an app with dynamic control of various properies of live audio playback. This is a base class for the [`PHASENumberMetaParameterDefinition`](/documentation/PHASE/PHASENumberMetaParameterDefinition) and [`PHASEStringMetaParameterDefinition`](/documentation/PHASE/PHASEStringMetaParameterDefinition) subclasses.

You create a single instance of one of the subclasses for a specific property you want to adjust. By passing the definition subclass to the framework, you spawn one or more [`PHASEMetaParameterDefinition`](/documentation/PHASE/PHASEMetaParameterDefinition) objects for discrete use across your app. For example, when you initialize a [`PHASEBlendNodeDefinition`](/documentation/PHASE/PHASEBlendNodeDefinition) with a number metaparameter definition, PHASE registers a [`PHASENumberMetaParameter`](/documentation/PHASE/PHASENumberMetaParameter) in the corresponding sound event’s [`metaParameters`](/documentation/PHASE/PHASESoundEvent/metaParameters) dictionary.

Put metaparameter definitions that you wish to share across different sounds in the asset registery’s [`globalMetaParameters`](/documentation/PHASE/PHASEAssetRegistry/globalMetaParameters) dictionary. To add global metaparameter definitions to the dictionary, call  [`registerGlobalMetaParameter(metaParameterDefinition:)`](/documentation/PHASE/PHASEAssetRegistry/registerGlobalMetaParameter(metaParameterDefinition:)). Then pass the definition into several sound event node defintions, such as [`PHASESamplerNodeDefinition`](/documentation/PHASE/PHASESamplerNodeDefinition).

## Topics

### Setting a Metaparameter

[`value`](/documentation/PHASE/PHASEMetaParameterDefinition/value)

A constant value for the parameter definition.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`PHASEDefinition`](/documentation/PHASE/PHASEDefinition)

### Inherited By

[`PHASEStringMetaParameterDefinition`](/documentation/PHASE/PHASEStringMetaParameterDefinition)

[`PHASENumberMetaParameterDefinition`](/documentation/PHASE/PHASENumberMetaParameterDefinition)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)