HTML GUI with LUA

Hello,

What I’d like to do is to build Tools GUI in HTML and communicating between HTML GUI and Renoise/LUA interpreter.

I’m wondering if anyone has already investigated into it.

I came upon a project called lua-web-tools which uses an Apache server for rendering HTML, and I thought it could eventually work with Renoise, but the installation steps provided are not for windows (I’m a windows user and not familiar with LINUX things).

If someone had some thought on it, it would be much appreciated.

Wow, thanks Vv. I feel a bit stupid now to not have made the link with it before B)

There is even an example into the Resource scripts folder with the “tool updater” Tool, using Renoise http module for getting started.

Cool, now, I’m going to learn a bit more about programming with Lua. :ph34r:

That module looks more like a http client library to me. I guess it wont be
very helpful for building a Web-GUI, as you need something that implements the
server side HTTP functionality. But the request class might allow you to write
your own HTTP Server in Lua, by reusing the HTTP parsing functionality:

https://code.google.com/p/xrnx/source/browse/trunk/Libraries/renoise/http/request.lua

Bantai has done a lot more with HTTP also on Server area, searching for Actionserver still returns this topic:
http://forum.renoise.com/index.php?/topic/26964-actionserver-an-internal-web-server/

You need to alter the source quite a bit though as it was developed in the API of Renoise 2.6.
But since your goal is to play with it anyway, i suspect you will be capable of doing something with that. Besides, updating code in order to get it to work usually also works quite inspiring to consider your own solutions.

Yes, well, I see that the http module has basic GET and POST methods, requiring the request module, so it can be a starting point.

I will look at ActionServer tool as well, thanks for the info.

Edit: that said, I think I’m going to investigate towards websockets, for example the lua-websockets module.

Edit2: Well I guess it is a lot of complicated code. So another option is to turn via nodejs and to communicate with Renoise via OSC.