Scripting language suggestion for communication with Isadora and Ableton
-
I'm working on an art game type thing and would like to script all of the complex logic in another language and then send values to Isadora to trigger/control video and effects. I was thinking about using Lua (because I know it well) or python and sending values over OSC. I could also use the javascript actor, as long as I could call functions that are in other files. Or I could try to create a plugin for communicating with python or lua, if these don't already exist. I'll also need to send the same data from the scripting language to ableton live or send it from isadora to ableton. Any suggestions on the pros and cons of these approaches or suggestions for ones I haven't thought about would be great. Thank you!
-
I'm not sure of Ableton's OSC support. If it still doesn't have great OSC support it may be easiest to chain your events like: your-app output OSC to Isadora, Isadora output midi to Ableton.
As far as scripting... I think either lua or python will work well. Both have OSC support , and I think OSC is your best choice. If it's just game logic and OSC I would use what you are most comfortable with.
Something else I have done before is to create a python based django project, and create a Rest interface to it. If you can structure your game logic to work in this way, its easy enough to communicate with your web app (django) via the Isadroa TCP IP actors. If you need to have scheduled tasks running you can add Celery into the mix.
Anyway... just another possible approach.
Creating a scripting interface for lua or python will be a major challenge (I have struggled with getting these libs to work with the sdk). Also the way they would work would most likely require that small independent scripts be run. Where your project would likely be better served by parallel running process/s.
-
You can use this https://www.ableton.com/en/pac... or in general making stuff in max for live will give you a lot of control. There is also this addon for openframeworks https://github.com/james-store... (check out the various forks, this is the last updated). This has some good functionality but not complete, it is made with the API and should be a great start to getting something fast.
-
Great! I will use Lua with OSC to Isadora and either midi to Ableton or Max for Live depending on the type of data I need to send. What is the best OSC library for lua?
-
Sorry, I don't have as much experience with Lua. But my experience is that Rocks are easiest to work with, so I would try https://luarocks.org/modules/g...
If you are not set on the audio tool. I use https://www.renoise.com/ (i'm not a musician, but I play with it :). In anycase, it has Great OSC support, and a full Lua scripting environment.
You could probably build your game engine within it, use its audio capabilities, and send OSC, Midi etc.. (just another option)
Details on the Renoise scripting environment: https://github.com/renoise/xrn... -
Cool. Thanks for all the help. I am working with a composer who works with Ableton but I will check out renoise for future reference.