This PR contains the work done to update the library and the attached example project to use the Swift 6.4 computer as a minimum supported version and also, to use the latest features introduced in it. Reviewed-on: #1 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
21 lines
743 B
Swift
21 lines
743 B
Swift
extension Sound {
|
|
/// A value that can modulate a parameter. Wraps `PDSynthSignalValue`; base of
|
|
/// `Signal`, `LFO`, `Envelope`, and `ControlSignal`. What it modulates keeps it
|
|
/// alive; assigning `nil` to a modulator property clears it.
|
|
public class SignalValue {
|
|
let pointer: OpaquePointer
|
|
let isOwned: Bool
|
|
|
|
init(pointer: OpaquePointer, isOwned: Bool) {
|
|
self.pointer = pointer
|
|
self.isOwned = isOwned
|
|
}
|
|
|
|
/// Wraps a C API pointer without taking ownership.
|
|
static func wrap(_ pointer: OpaquePointer?) -> SignalValue? {
|
|
guard let pointer else { return nil }
|
|
return SignalValue(pointer: pointer, isOwned: false)
|
|
}
|
|
}
|
|
}
|