Time Nick Message 18:53 Evergreen So uh, hi again everyone 18:53 Evergreen It's been a little while 18:53 MTDiscord hiya 18:54 Evergreen I have a question regarding something that might be a little off topic, but does involve something minetest related. Are there any good resources on embedding luajit in a C++ program and exposing an API to code running in it? 18:55 Evergreen Of course this is what minetest does and I'm looking into writing something completely unrelated where I want to have an embedded scripting language 18:55 Krock Evergreen: shameless self-advertisement https://github.com/SmallJoker/NyisBotCPP/blob/master/modules/nbm_lua.cpp 18:56 Krock whether Lua or LuaJIT - it does not matter. 18:57 Krock except that you might need some cmake files to locate the LuaJIT installation directory. in this example I used system-wide Lua 5.1 18:57 Evergreen right, that makes sense 18:57 Evergreen Looks decently straight forward 18:58 Evergreen in case you're wondering what I want to do with this, I'm thinking about making a VST plugin that allows processing midi in realtime using a lua scripting api 18:59 Krock that's an interesting idea, although I wonder why you'd need Lua for that 18:59 Evergreen the idea is that you can code things on the fly inside the daw as you need them 18:59 Evergreen and for that I need some kind of embedded scripting language 18:59 Krock such as volume and tone adjustments? 18:59 Evergreen no, this is midi data 19:00 Evergreen So, for instance you could do something like extend all held notes by a certain amount while the sustain pedal is held 19:01 Krock > MIDI carries event messages; data that specify the instructions for music, including a note's notation, pitch, velocity (which is heard typically as loudness or softness of volume); 19:01 Krock it looks like more than just that would be possible 19:01 Evergreen oh yeah, I see what you mean 19:02 MTDiscord swapping out instruments, transposing everything an octave up/down, etc. 19:02 Evergreen exactly 19:02 Evergreen or sometimes it might be more time based stuff like causing the note to repeat a few times increasingly quietly 19:03 Evergreen or make it so that incoming notes are forced to have a minimum amount of time between them, mimicking a strumming effect 19:03 Evergreen There are a lot of things you could do with it 19:05 Evergreen Anyway, thanks for the example code 19:06 Evergreen Obviously I can dig into how minetest does it but something much simpler is definitely helpful