53 lines
No EOL
1.1 KiB
Nim
53 lines
No EOL
1.1 KiB
Nim
import os, nimterop/[cimport, git]
|
|
|
|
const
|
|
incl = "soloud/include"
|
|
src = "soloud/src"
|
|
|
|
gitPull("https://github.com/jarikomppa/soloud", "soloud", "include/*\nsrc/*\n")
|
|
|
|
cDebug()
|
|
cDisableCaching()
|
|
|
|
cOverride:
|
|
type
|
|
Soloud* = pointer
|
|
AlignedFloatBuffer* = pointer
|
|
|
|
proc Soloud_destroy*(aSoloud: ptr Soloud) {.importc: "Soloud_destroy", header: cSearchPath(incl/"soloud_c.h").}
|
|
|
|
cSkipSymbol("WavStream_stop", "WavStream_setFilter")
|
|
|
|
cIncludeDir(incl)
|
|
|
|
when defined(Linux):
|
|
{.passL: "-lpthread".}
|
|
cDefine("WITH_OSS")
|
|
cCompile(src/"backend/oss/*.cpp")
|
|
|
|
when defined(Windows):
|
|
{.passC: "-msse".}
|
|
{.passL: "-lwinmm".}
|
|
cDefine("WITH_WINMM")
|
|
cCompile(src/"backend/winmm/*.cpp")
|
|
|
|
cCompile(src/"c_api/soloud_c.cpp")
|
|
cCompile(src/"core/*.cpp")
|
|
cCompile(src/"audiosource", "cpp")
|
|
cCompile(src/"audiosource", "c")
|
|
cCompile(src/"filter/*.cpp")
|
|
|
|
cImport(incl/"soloud_c.h")
|
|
|
|
var
|
|
s = Soloud_create()
|
|
|
|
echo s.Soloud_init()
|
|
|
|
s.Soloud_destroy()
|
|
|
|
when declared(WavStream_stop):
|
|
assert "WavStream_stop() not skipped"
|
|
|
|
when declared(WavStream_setFilter):
|
|
assert "WavStream_setFilter not skipped" |