Lua binding for SunVox library

Multi-platform modular music creation studio
Post Reply
Penguinum-tea
Posts: 5
Joined: Mon Jan 04, 2021 7:40 pm

Lua binding for SunVox library

Post by Penguinum-tea » Wed Jan 13, 2021 11:19 pm

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)

User avatar
NightRadio
Site Admin
Posts: 3461
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Lua binding for SunVox library

Post by NightRadio » Thu Jan 14, 2021 11:43 am

Cool! Thank you!

User avatar
AutumnCheney
Posts: 198
Joined: Sun Dec 29, 2019 8:16 am
Location: durant, ok, usa
Contact:

Re: Lua binding for SunVox library

Post by AutumnCheney » Sun Jan 17, 2021 7:38 am

really cool! i can see this coming in handy for a minetest mod i'm planning that provides generative music
please check out my newgrounds account, i post music and talk to people here: https://autumncheney.newgrounds.com

i have a soundcloud and bandcamp too (just music here):
https://soundcloud.com/autumncheney
https://autumncheney.bandcamp.com

Penguinum-tea
Posts: 5
Joined: Mon Jan 04, 2021 7:40 pm

Re: Lua binding for SunVox library

Post by Penguinum-tea » Mon Jan 18, 2021 8:56 pm

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.

vectrex
Posts: 3
Joined: Tue Jan 19, 2021 7:09 pm

Re: Lua binding for SunVox library

Post by vectrex » Thu Feb 11, 2021 4:49 am

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)

Post Reply