internal static unsafe ParameterDescription CreateFromPointer(ParameterDescriptionStruct *structPtr) { return(structPtr->Type switch { DSPParameterType.Float => new FloatParameterDescription(structPtr), DSPParameterType.Int => new IntParameterDescription(structPtr), DSPParameterType.Bool => new BoolParameterDescription(structPtr), DSPParameterType.Data => new DataParameterDescription(structPtr), _ => throw new InvalidOperationException("Unknown Parameter type encountered") });
internal unsafe IntParameterDescription(ParameterDescriptionStruct *ptr) : base(ptr) { }
internal unsafe BoolParameterDescription(ParameterDescriptionStruct *ptr) : base(ptr) { _managedDefault = Description.DefaultValue; }