| @@ -1,9 +1,12 @@ | |||||
| import { Source } from "./Source"; | import { Source } from "./Source"; | ||||
| import { exposedRange, context } from "../audio"; | |||||
| import { exposedNumber, exposedRange, context } from "../audio"; | |||||
| export class IntervalSource extends Source { | export class IntervalSource extends Source { | ||||
| kind = "Interval"; | kind = "Interval"; | ||||
| @exposedNumber("Pitch", 0.25, 4) | |||||
| public pitch = 1; | |||||
| @exposedRange("Interval", 0.25, 30) | @exposedRange("Interval", 0.25, 30) | ||||
| public interval: [number, number] = [1, 5]; | public interval: [number, number] = [1, 5]; | ||||
| @@ -55,6 +58,7 @@ export class IntervalSource extends Source { | |||||
| node.connect(pan); | node.connect(pan); | ||||
| pan.connect(this.gain); | pan.connect(this.gain); | ||||
| node.playbackRate.value = this.pitch; | |||||
| node.start(); | node.start(); | ||||
| node.onended = () => { | node.onended = () => { | ||||