EYESY disk image for openFrameworks / openGL / Lua (beta)

We have a beta version of the new video generation environment available for download. Currently the EYESY generates video using Python and the PyGame framework. This setup is great and easy to use, but it doesn’t take advantage of any hardware acceleration.

This disk image uses the new environment based on openFrameworks and allows you to code video modes in the Lua scripting language, taking full advantage of the EYESY’s 3D graphics capabilities.

This download is intended for people who are interested in developing modes. While the core functionality works, it is only loaded with 3 modes as examples. Also a bunch of features are not yet implemented (more on that below).

http://thepeacetreaty.org/eyesy/images/EYESY_oFLua_beta1.img.zip

Download the above link and burn it onto an micro SD card (see section 6.1 of the manual) The process will wipe the SD card clean, so you might want to use a second SD card or make sure anything on the card is backed up.

What works

Booting up the EYESY will start the video system and load the 3 example modes. You can use the mode forward / back buttons to navigate between them. The modes are audio reactive on one channel at least, and the knobs control various parameters of the video.

All the web stuff works the same as before. You will want to get connected and then you can play around with the modes and create new ones in the web editor. The modes are in the oFLua folder. If you create a new mode, you will need to stop and re-start the video so that the new mode is picked up. Currently the easiest way to do this is copying an existing mode folder and renaming it.

What doesn’t work

The following features are not yet implemented:

  • Shift button settings
  • Persist button
  • On screen display
  • Scene save / recall
  • MIDI / Link

More info

The structure of the modes is the same, with a setup function being called once when the mode is loaded, and a draw function being called each frame.

Similar to the Python setup, the EYESY’s hardware is made available to you as variables you can use in your mode. In Lua this is achieved by the

require("eyesy")

line at the top of the main.lua file. This includes several variables you can then use:

  • The 0-1 values of knobs: knob1, knob2, knob3, knob4, and knob5
  • Left and right audio input as 2 arrays of 256 values (-1 to 1): inL and inR
  • A trigger boolean event (currently the only way to active is by pressing the trigger button): trig

Eventually MIDI and other variables will be included.

The Lua interface allows access to the core openFrameworks API, so most of the openFrameworks documentation and examples apply here. However there is difference between the openFrameworks syntax (which is C++) and Lua, so openFrameworks code can’t merely be copied and pasted. These differences are outlined in the Lua openFrameworks plugin readme.

It is all still a work in progress, but we’ve been really excited by the possibilities and hope to post more examples soon!

13 Likes

Wow this is SO GREAT!! I was just wondering if the cool openFrameworks / openGL / Lua software we saw in the Kickstarter teaser video was going to be released soon!

Happy Halloween Surprise indeed!

I noticed you all mentioned “Eventually MIDI and other variables will be included.” While you are programming this would you be able to add MIDI controls for the On Screen Display button, the Shift Button, the Screenshot button and the Trigger button?

Also, Could we get settings to adjust the CC numbers, the Note 127 on the persist toggle, and even the Program Change on the scene select. Or is that something we would have to edit the code on our own?

1 Like

This is super exciting. I haven’t been able to spend the time I’d like to with EYESY due to work demands, but this gets me psyched to get back into it!!

Super cool! Does this image (is it fair to call it an OS?) eliminate the python functionality? Do you anticipate eventually switching over to openGL/Lua entirely, or will Pygame still be part of EYESY’s future? I’m trying to figure out where to focus my programming learning.

The Python stuff is still installed in this OS, but it is disabled. We’ve been thinking about the way to handle both environments, it might be a situation where you hold down a button during boot up to select Python or oF/Lua.

We’ll probably be working more and more with the oF/Lua stuff since you can do everything and more with it, although it might be a little harder to work with initially (we are working on better set of examples). The Python/Pygame stuff works great for what it is and learning Python is always a good thing being so common these days.

4 Likes

This is awesome, thank you! Really excited to see patches being made by the community over time.