From b3cd36b8f8c7f5e975d138a7b234cc0c30c279cf Mon Sep 17 00:00:00 2001 From: rnentjes Date: Thu, 27 Jun 2024 10:07:45 +0200 Subject: [PATCH] Remove dependency --- audio-worklet/build.gradle.kts | 2 - .../kotlin/nl/astraeus/vst/Externals.kt | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 audio-worklet/src/jsMain/kotlin/nl/astraeus/vst/Externals.kt diff --git a/audio-worklet/build.gradle.kts b/audio-worklet/build.gradle.kts index 132f5a1..fbd9ae0 100644 --- a/audio-worklet/build.gradle.kts +++ b/audio-worklet/build.gradle.kts @@ -37,8 +37,6 @@ kotlin { val commonMain by getting { dependencies { implementation(project(":common")) - - implementation("nl.astraeus:vst-worklet-base:1.0.0-SNAPSHOT") } } val jsMain by getting { diff --git a/audio-worklet/src/jsMain/kotlin/nl/astraeus/vst/Externals.kt b/audio-worklet/src/jsMain/kotlin/nl/astraeus/vst/Externals.kt new file mode 100644 index 0000000..5ebf614 --- /dev/null +++ b/audio-worklet/src/jsMain/kotlin/nl/astraeus/vst/Externals.kt @@ -0,0 +1,45 @@ +package nl.astraeus.vst + +import org.khronos.webgl.Float32Array +import org.w3c.dom.MessagePort + +enum class AutomationRate( + val rate: String +) { + A_RATE("a-rate"), + K_RATE("k-rate") +} + +interface AudioParam { + var value: Double + var automationRate: AutomationRate + val defaultValue: Double + val minValue: Double + val maxValue: Double +} + +interface AudioParamMap { + operator fun get(name: String): AudioParam +} + +abstract external class AudioWorkletProcessor { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/parameters) */ + //val parameters: AudioParamMap; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioWorkletNode/port) */ + @JsName("port") + val port: MessagePort + + @JsName("process") + open fun process( + inputs: Array>, + outputs: Array>, + parameters: dynamic + ): Boolean { + definedExternally + } + +} + +external fun registerProcessor(name: String, processorCtor: JsClass<*>) +external val sampleRate: Int +external val currentTime: Double