Initial commit

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
Christopher Arndt 2024-04-19 12:07:48 +02:00
commit 95100a0f03
4 changed files with 63 additions and 0 deletions

4
config.nims Normal file
View File

@ -0,0 +1,4 @@
# begin Nimble config (version 2)
when withDir(thisDir(), system.fileExists("nimble.paths")):
include "nimble.paths"
# end Nimble config

12
nymph.nimble Normal file
View File

@ -0,0 +1,12 @@
# Package
version = "0.1.0"
author = "Christopher Arndt"
description = "A Nim library for writing audio and MIDI plugins conforming to the LV2 standard"
license = "MIT"
srcDir = "src"
# Dependencies
requires "nim >= 2.0"

46
src/nymph.nim Normal file
View File

@ -0,0 +1,46 @@
const LV2_CORE_URI* = "http://lv2plug.in/ns/lv2core"
type Lv2Handle* = pointer
type Lv2Feature* = object
uri*: cstring
data*: pointer
type Lv2Descriptor* = object
uri*: cstring
instantiate* = proc(
descriptor: ptr Lv2Descriptor,
sampleRate: cdouble,
bundlePath: cstring,
features: ptr ptr Lv2Feature
): Lv2Handle {.cdecl.}
connectPort*: proc(
instance: Lv2Handle,
port: cuint,
dataLocation: pointer
) {.cdecl.}
activate*: proc(
instance: Lv2Handle
) {.cdecl.}
run*: proc(
instance: Lv2Handle,
sampleCount: cuint
) {.cdecl.}
deactivate*: proc(
instance: Lv2Handle
) {.cdecl.}
cleanup*: proc(
instance: Lv2Handle
) {.cdecl.}
extensionData*: proc(
uri: cstring
): pointer {.cdecl.}
type lv2Descriptor* = proc(index: cuint): ptr Lv2Descriptor {.cdecl.}

1
tests/config.nims Normal file
View File

@ -0,0 +1 @@
switch("path", "$projectDir/../src")