2026-07-25 12:39:32 +02:00
|
|
|
internal import CPlaydate
|
|
|
|
|
|
|
|
|
|
extension Sound.LFO {
|
|
|
|
|
public enum Shape: UInt32, Sendable {
|
|
|
|
|
case square = 0
|
|
|
|
|
case triangle = 1
|
|
|
|
|
case sine = 2
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Random values, held for each cycle.
|
2026-07-25 12:39:32 +02:00
|
|
|
case sampleAndHold = 3
|
|
|
|
|
case sawtoothUp = 4
|
|
|
|
|
case sawtoothDown = 5
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Steps through the values set by `setArpeggiation(_:)`.
|
2026-07-25 12:39:32 +02:00
|
|
|
case arpeggiator = 6
|
2026-09-18 13:15:08 +00:00
|
|
|
/// Values come from the function set by `setFunction(interpolate:_:)`.
|
2026-07-25 12:39:32 +02:00
|
|
|
case function = 7
|
|
|
|
|
|
|
|
|
|
var cValue: LFOType { LFOType(LFOType.RawValue(rawValue)) }
|
|
|
|
|
}
|
|
|
|
|
}
|