Osx Lua And Osc, Graphics/Sound Toolkit To Extend Renoise

I found this while perusing:
wikipedia’s OSC page, (which is quite informative):

LuaAV
http://lua-av.mat.ucsb.edu/about.html

the header:
“LuaAV is an integrated programming environment based upon extensions to the Lua programming language to enable the tight real-time integration of computation, time, sound and space. It is intended to support:”

have a look at the gallery:
http://lua-av.mat.ucsb.edu/gallery.html

a bunch of stuff in the package:
http://lua-av.mat.ucsb.edu/download.html

It’s quite nice as it also uses Lua and has OSC, has openGL too.
only mac from what I can tell.

can anyone tell if we can talk to it directly with Lua?

found this list of lua editors


namely this one for OSX:
http://smultron.sourceforge.net/

this is a nice overview.
http://v.poly.edu/node/53

also looks to be buildable in linux:
http://lua-av.mat.ucsb.edu/source.html

Linux:Yes at it seems.
Probably also possible to port to Windows but the question remains how quick is it?
And how good is it against LuaJIT?

in the video I linked above the guy talks about it being possible to compile a windows version somehow with some work, but it looking at the trunk they haven’t actually worked on the windows version in 2 years, which was when the video was made.

Against LuaJit, if I understand what you mean, it’s decent, I had it hooked up to a webcam and the processing was just like the video demo.
The guy goes into demoing an installation with a lush looking simulation of dna and protein structures doing things with openGL.

Just being able to look at more code that looks similar to lua in renoise is a plus.
The guy even comments about wanting LuaAV to communicate with other lua-enabled programs<<<<<<Renoise!

It seems after looking through the trunk they or he is/are slowly preparing for a newer version. LuaAv3 for linux and OSX

hi there, came across this thread today. I’m one of the authors of LuaAV (the one in the video to be exact). We are indeed working toward a new release (OSX / Linux) to be released at the end of the week. We have made our best effort to make all of our code that interacts with Lua as portable as possible, including the scheduling and audio engine. To use it in another app, you would need to link in libluaav and call a few functions on your lua_State to have access to the different modules embedded in the lib. The other modules that do image and video I/O, OpenGL, OpenCL, etc. are standalone binary modules, but to be useful require the lattice module embedded within libluaav. The concept of the lattice is to hold large blocks of arbitrary binary data. Lua itself doesn’t have such a data type, so we use it to pass around video frames, audio buffers, etc. between all the various media manipulating modules. This way, we can take a video frame and use it was a wavetable for example.

Here are some responses to questions in this thread:

LuaAV currently compiles on OSX and Linux. A Windows port wouldn’t be too painful as I have most of the code necessary stashed in some older branches. The Linux version is based on Qt for the app infrastructure, so this is what I would also use for writing the Windows version. The OSX version in based on Cocoa.

For editors, I personally use SubEthaEdit, but TextWrangler is also good. If you prefer Xcode, there’s a plugin for syntax highlighting available through the Lua Wiki.

There was a question about how it compares to LuaJIT. We use LuaJIT, so it doesn’t make so much sense to ask this question. The point of confusion may be around the fact that we also use LLVM. We’re not using LLVM to JIT compile Lua, but instead to JIT compile C/C++ code such that we can generate new Lua bindings are runtime. For example, if I want to dynamically compile a new unit generator, I can do so with LLVM but not LuaJIT since the ugen needs to be in C/C++ not Lua with how we’ve designed things.

You can talk to LuaAV as I mentioned above by embedding it with your own app, but if you want to talk to the standalone LuaAV app itself, you have to use some kind of inter-process protocol. OSC is a good choice IMHO. You won’t be able to share memory, but you can do interesting things by transmitting strings of Lua code through OSC and evaluating them on the receiving end. This is how we setup livecoding situations.

If anyone is interested in learning more, we have a mailing list you can sign up for on our site.

That’s fantastic news; it’s an extraordinary project. With or without Lua on the other end, I can see some nice integration happening using Renoise. Having LuaAV as an option, of course, is insanely powerful.