Ofelia: openFrameworks and Lua within Pure Data

Hi, I’m happy to announce Ofelia which allows you to use openFrameworks and Lua within a real-time visual programming environment, Pure Data.

Thanks to Lua scripting feature(It uses ofxLua), you can do text coding directly on a Pd patch or through a text editor which makes it easier to solve problems that are complicated to express in visual programming languages like Pd. And unlike compiled languages like C/C++, you can see the result immediately as you change code which enables faster workflow. Moreover, you can use openFrameworks functions and classes within a Lua script.

Using Ofelia, you can flexibly choose between patching and coding style depending on your preference.
For more information, please visit https://github.com/cuinjune/ofxOfelia

Ofelia is available to be used on macOS(64bit), Linux(64bit), Windows and Raspberry Pi.
Please follow the installation guide to try Ofelia.

An addon version(ofxOfelia) for creating standalone applications will be ready soon.

Any feedback is welcomed, hope you like it.


Awesome! I will try it for sure.
Very cool and smart combination.

How does it work if I want to add addons to Ofelia?

1 Like

Cool! I am going to try this out soon :wink:

1 Like

You cannot add addons to Ofelia unless you make Lua bindings for the addon in order to use its functions and classes inside a Lua script.
However, if you use Ofelia as an addon(ofxOfelia), you will be able to use it with other addons.

1 Like

I have this error in Pd:
pd-externals / ofelia / ofelia.pd_linux: libboost_filesystem.so.1.65.1: Unable to open the shared object file: no such file or directory

I had the same thing for / usr / lib / libGLEW.so.2.0 and
I create a symbolic link, but for /usr/lib/libboost_filesystem.so.1.65.1 it does not work.
an idea?

` ls / usr / lib / libboost_filesystem * /usr/lib/libboost_filesystem.a /usr/lib/libboost_filesystem.so /usr/lib/libboost_filesystem.so.1.68.0 `
I would really like to try this project.

Linux 4.14.81-1-MANJARO x86_64

ls / usr / lib / libboost_filesystem *
/usr/lib/libboost_filesystem.a /usr/lib/libboost_filesystem.so /usr/lib/libboost_filesystem.so.1.68.0

I would really be interested in this project.

Linux 4.14.81-1-MANJARO x86_64

Hi @dbwat

I compiled it on Ubuntu 18.04.1 LTS and it seems like it has dependency issue on some distros.

You can at least build and run openFrameworks examples on your system right?
If so, I suggest compiling the Pd external binary yourself.

Please download this file, and then follow the steps below to build the external yourself.

  • Unzip, rename the folder to ofxOfelia and then move it to OF/addons folder.
  • Move ofxOfelia/libs/ofxLua folder to OF/addons folder.
  • cd to ofxOfelia/scripts/Linux64 and run ./updateOF.sh.
  • cd to ofxOfelia/Linux64External and run make.
  • Copy ofxOfelia/Linux64External/bin/ofelia.pd_linux to the downloaded ofelia directory(normally it’s inside ~/Documents/externals) and overwrite the previous one.
  • (Re)start Pd and try opening any example patch inside ofelia/examples.

Please let me know how it goes.

ADDED: Please try the steps using OF 0.10.0 since ofxLua might not be compatible with 0.10.1.

it’s of_v0.10.0_linux64gcc6_release on my side
I test it as soon as possible and tell you what it is
Thank you

Ofelia v2.0.4 is released and already uploaded to Deken.
It mostly fixes minor bugs. Please update it if you haven’t.
Merry Christmas!


  • Fixed Array:setTable() bug on Windows.
  • Renamed Array:getTable() and Array:setTable() to Array:get() and Array:set().
  • Added additional argument to Array:get() and Array:set() to set onset value.
  • Fixed crashing issue when returning a large sized table as a list.
  • Disabled printing the bug fix version on the pd console.
  • Added “examples/pd/misc” example to show various pd objects emulation.

For more info: https://github.com/cuinjune/ofxOfelia

1 Like

This looks great!
I would love to learn Ofelia.
But I am not quite sure where to start.
Learn openFrameworks? Learn Lua-Scripting?

I can work with Pure Data and GEM so far.
Thx for any help!