Skip to content

ofelia/ofxOfelia: Pd external library written with openFrameworks for creating cross-platform multimedia applications.

License

Notifications You must be signed in to change notification settings

Jonathhhan/ofxOfelia

 
 

Repository files navigation

Ofelia

alt text alt text alt text

Description

Ofelia is a Pd external which allows you to use openFrameworks and Lua within a real-time visual programming environment for creating audiovisual artwork or multimedia applications such as games.

openFrameworks is an open source C++ toolkit for creative coding.
Lua is a powerful, efficient, lightweight, easy-to-learn scripting language.
Pure Data(Pd) is a real-time visual programming language for multimedia.

Thanks to Lua scripting feature, 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 based on your preference.

The external is available to be used under macOS, Windows, Linux and Raspberry Pi.

Installation

  • Make sure you have Pure Data installed on your desktop.
  • Start Pd and go to Help -> Find externals, then search for ofelia
  • Select the latest version of Ofelia to download and install.
  • Try opening patches inside downloaded ofelia/examples directory.
  • (Windows) If the library fails to load, open vc_redist executable file inside ofelia directory to install Microsoft Visual C++ Redistributable packages. And if video examples don't work properly, try installing the K-Lite Codec Pack.
  • (Linux / Raspberry Pi) If the library fails to load, open the Terminal and run the following command to install dependencies.
    cd ofelia/scripts/distro_name
    sudo ./install_dependencies.sh
  • You can also download the externals from https://github.com/cuinjune/Ofelia/releases

ofxOfelia

alt text

Description

ofxOfelia is Ofelia packaged as an openFrameworks addon which enables you to create a standalone (macOS, Windows, Linux, Raspberry Pi, iOS and Android) or web application that can run Pd patches made with Ofelia and Pd vanilla objects.

You can share the application with a wide range of audiences including mobile device, internet and non-Pd users.

Build Requirements

In order to use ofxOfelia, you first need to download and install openFrameworks. Please follow the setup guides to download and install openFrameworks 0.11.0 which is the most recent stable release.

The following tools are used to build ofxOfelia project.

Setup guide

  • Make sure you have openFrameworks setup on your desktop.
  • Download ofxOfelia_targetOS.zip and rename the extracted folder to ofxOfelia.
    Place the folder within the directory OF/addons. ("OF" indicates the base directory of openFrameworks)
  • (Linux 64bit) Open the Terminal and run the following to update openFrameworks.
    cd OF/addons/ofxOfelia/scripts/Linux64
    sudo ./updateOF.sh

Building the external

  • (macOS) Open OF/addons/ofxOfelia/macOSExternal/ofelia.xcodeproj with Xcode and build the project.
  • (Windows) Open OF/addons/ofxOfelia/WindowsExternal/ofelia.sln with Visual Studio and build the solution.
  • (Linux / Raspberry Pi) Open the Terminal and run the following command to build the project.
    cd OF/addons/ofxOfelia/LinuxExternal
    make
  • Copy the generated binaries from OF/addons/ofxOfelia/(targetOS)/bin into the Pd externals directory.

Running the standalone example

  • (macOS) Open OF/addons/ofxOfelia/macOSExample/macOSExample.xcodeproj with Xcode and run the project.
  • (Windows) Open OF/addons/ofxOfelia/WindowsExample/WindowsExample.sln with Visual Studio and run the solution.
  • (Linux / Raspberry Pi) Open the Terminal and run the following command to run the project.
    cd OF/addons/ofxOfelia/LinuxExample
    make && make RunRelease
  • (iOS) Open OF/addons/ofxOfelia/iOSExample/iOSExample.xcodeproj with Xcode and run the project.
  • (Android) Open Android Studio, select Open an existing Android Studio project and open OF/addons/ofxOfelia/AndroidExample and run the project.

Creating your own standalone project

  • Copy an example project from OF/addons/ofxOfelia and paste it into OF/apps/myApps directory.
  • Rename the project and folder to your liking.
  • Replace Pd patches and data in yourProject/bin/data/pd with your files.
  • Build the project and find the executable file in yourProject/bin directory.

Running the Emscripten example in a web browser

  • Download the latest nightly build of openFrameworks.
  • Download ofxOfelia_Emscripten.zip and rename the extracted folder to ofxOfelia.
    Place the folder within the directory OF/addons. ("OF" indicates the base directory of openFrameworks)
  • (macOS / Linux) Open the Terminal and run the following to update openFrameworks.
    cd OF/addons/ofxOfelia/scripts/Emscripten
    sudo ./updateOF.sh
  • Install Emscripten following the setup guide.
  • Run the following command to run the project in your browser.
    cd OF/addons/ofxOfelia/EmscriptenExample
    emmake make
    emrun bin/EmscriptenExample.html

Developing ofxOfelia

You can help develop ofxOfelia on GitHub: https://github.com/cuinjune/ofxOfelia
Create an account, clone or fork the repo, then request a push/merge.
Feel free to contact the author if you have any questions or suggestions.


Projects that used Ofelia

Acknowledgements

Author

Copyright (c) 2018 Zack Lee: cuinjune@gmail.com
GNU General Public License v3.0
For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "LICENSE.txt," in this distribution.

About

ofelia/ofxOfelia: Pd external library written with openFrameworks for creating cross-platform multimedia applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 75.0%
  • C 22.9%
  • Lua 0.6%
  • SWIG 0.6%
  • Makefile 0.4%
  • Objective-C++ 0.3%
  • Other 0.2%