CI COV License: MIT

TypedFullState

这个 Swift 包是一个类型化的容器,用于存储 AUv3 的 fullState 属性中的值,该属性是 AUAudioUnit 实体的一部分。这个属性由 Apple 定义为一个字典,其中包含 String 类型的键和 Any 类型的值。相比之下,TypeFullState 字典是一个字典,其中包含 String 类型的键和 TypedAny 类型的值,而 TypedAny 是一个支持的类型的枚举。

用法

这是一个简单的示例,演示了如何从 AUAudioUnit.fullState 值([String:Any])转换为类型化表示,转换为/从 JSON 转换,并最终使用从类型化表示派生的值设置相同的属性

let state = sampler.auAudioUnit.fullState!
let typedState = try! state.asTypedAny()
let encoded = try! JSONEncoder().encode(typedState)
...
let decoded = try! JSONDecoder().decode(TypedFullState.self, from: encoded)
let fullState = FullState.make(from: decoded)!
sampler.auAudioUnit.fullState = fullState

如果类型出现任何问题,代码将抛出 TypedAnyError.invalidType 异常。

目前支持的类型值包括: