---
title: PHASEDefinition
framework: phase
role: symbol
role_heading: Class
path: phase/phasedefinition
---

# PHASEDefinition

A base class that adds a name to framework definitions.

## Declaration

```swift
class PHASEDefinition
```

## Overview

Overview Various PHASE classes derive from this class, for example, PHASEMixerDefinition, PHASEMetaParameterDefinition, and PHASESoundEventNodeDefinition. This class represents a template from which PHASE creates concrete PHASEAsset subclasses at runtime. For example, when you register a global metaparameter definition using registerGlobalMetaParameter(metaParameterDefinition:), PHASE returns a PHASEAsset subclass, PHASEGlobalMetaParameterAsset, that identifies a usable metaparameter by name. To access the usable metaparameter, pass the PHASEGlobalMetaParameterAsset identifier into the globalMetaParameters dictionary.

## Topics

### Identifying a Definition

- [identifier](phase/phasedefinition/identifier.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [PHASEMetaParameterDefinition](phase/phasemetaparameterdefinition.md)
- [PHASEMixerDefinition](phase/phasemixerdefinition.md)
- [PHASESoundEventNodeDefinition](phase/phasesoundeventnodedefinition.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Audio Layering and Effects

- [PHASEChannelMixerDefinition](phase/phasechannelmixerdefinition.md)
- [PHASEAmbientMixerDefinition](phase/phaseambientmixerdefinition.md)
- [PHASEMixerDefinition](phase/phasemixerdefinition.md)
- [PHASEMixer](phase/phasemixer.md)
- [Spatial Mixing](phase/spatial-mixing.md)
