My question was about the answer from @martblek which said luajit couls be run with some modifications.
You run your external executable using OS command, I guess.
My question was about the answer from @martblek which said luajit couls be run with some modifications.
You run your external executable using OS command, I guess.
and my response was a quote to what martblek wrote, not a response to your question to martblek
Hi,
LuaJIT can of course run in Renoise instead of standard Lua.
It depends on how much Renoiseâs API implementation depends specifically on pure Lua.
Lua in Renoise is version 5.1, LuaJIT is based on lua5.1.
I meant support for âCâ libraries which is easier in LuaJIT with the help of âffiâ.
On the other hand, if Renoise ran on LuaJIT I probably wouldnât enable âffiâ,
because it could break a lot of functional things.
I mean externally written tools which would use âffiâ as a bridge between third-party libraries.
I would also like to use ImGui or raylib instead of standard Gui :).
But on the other hand, I donât want to create or use a tool which will only be supported on one platform.
So LuaJIT can run in Renoise, but how many adjustments would have to be made is better for Taktik to tell you.
Loading a proprietary DLL wonât be possible - event with LuaJIT in Renoise.
With LuaLIT enabled in Renoise, we would not enable LuaJITs FFI support, as weâre currently doing a lot to prevent scripts from crashing Renoise. And with FFI, itâs very easy to corrupt memory due to its low-level access.
See FFI Semantics
No Hand-holding!
The FFI library has been designed as a low-level library. The goal is to interface with C code and C data types with a minimum of overhead. This means you can do anything you can do from C: access all memory, overwrite anything in memory, call machine code at any memory address and so on.
The FFI library provides no memory safety, unlike regular Lua code. It will happily allow you to dereference a NULL pointer, to access arrays out of bounds or to misdeclare C functions. If you make a mistake, your application might crash, just like equivalent C code would.
Maybe it didnât come across that way from my post, but thatâs what I meant