Page 1 of 1

Lua binding for SunVox library

Posted: Wed Jan 13, 2021 11:19 pm
by Penguinum-tea
High there~

Made a Lua binding for SunVox library, mainly for fun with love2d game engine, but it can be used with INSTEAD and other engines with realtime audio generation support as well, I guess.
API is a little bit Lua-ified (prefix "sv_" was removed because functions are namespaced, flags were replaced with parameter tables).

Tested on Linux, also cross-compiled Windows version and tested it in Wine.
Not everything may work as expected right now, though demo I made for love2d seem to work.

Source code (MIT-licensed): https://github.com/Penguinum/luavox
love2d demo (plays SunVox file)

Re: Lua binding for SunVox library

Posted: Thu Jan 14, 2021 11:43 am
by NightRadio
Cool! Thank you!

Re: Lua binding for SunVox library

Posted: Sun Jan 17, 2021 7:38 am
by AutumnCheney
really cool! i can see this coming in handy for a minetest mod i'm planning that provides generative music

Re: Lua binding for SunVox library

Posted: Mon Jan 18, 2021 8:56 pm
by Penguinum-tea
I doubt Minetest has ability to play generated audio from Lua. It didn't have it before and I couldn't find any mentions of it now.

Re: Lua binding for SunVox library

Posted: Thu Feb 11, 2021 4:49 am
by vectrex
hey really cool library! (love2d newb here)

i'm struggling with lv.get_pattern_data(), i would like to read note data from patterns but the function seems to return a raw C byte array and i don't know how to parse this in love2d. tried adapting the library java/JS example but this does not work. do you think this is possible with lua/love2d? thanks

edit: also lv.play() doesn't react on the second argument, ie. line to start from. i tried to adapt luavox.c but cannot get luavox to build using msys2 (bunch of undefined reference errors while linking)