ofelia is a Pure Data(aka Pd) external library written with openFrameworks for creating cross-platform multimedia applications.
The library consists of over 400 objects covering most features of openFrameworks core API, designed to ease the development of multimedia applications such as audiovisual arts and interactive games.
And thanks to the real-time nature of Pure Data, one can make changes and see the result immediately without having to compile.
The library includes the following features:
-
Interactive output window
-
Various getters and event listeners (mouse, keyboard, multitouch)
-
2d/3d shapes drawing (ofPolyline, ofPath, ofMesh)
-
Image and font loading
-
Camera, lighting, material
-
Framebuffer object
-
GLSL shader loader
-
GUI abstractions (toggle, slider..)
-
Various data types to effectively store and handle data (ofVec3f, ofColor..)
-
Various math and utility objects to speed up development (ofExpr, ofCount..)
-
Some useful audio objects including bandlimited oscillators and resonant filters
-
Use GEM with ofelia (Try
ofelia/examples/gem/main.pd
)
The library is currently available to be used under macOS, Linux(64bit) and Windows. It will also be available on Raspberry Pi soon.
- Make sure you have Pd installed on your desktop.
- Start Pd and go to
Help
->Find externals
, then search forofelia
- Select the proper version of ofelia for your system to download and install.
- Try opening any Pd patch inside the downloaded
ofelia
directory to check if the library loads successfully. - (Linux only) 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
- Try the example patches inside
ofelia/examples
directory. - Open
ofelia/help-intro.pd
to see the list of built-in objects in ofelia. - Open the help files to learn more about each object.
- Create something cool and share it with other people.
- Feel free to contact the author if you have any questions or suggestions.
- Video player
- Video grabber
- SVG loader
ofxOfelia is ofelia packaged as an openFrameworks addon which enables you to create a standalone application for macOS, Linux(64bit), Windows(32bit), iOS and Android that can run Pd patches made with ofelia and Pd vanilla objects.
You can share the application with a wide range of audiences including non-Pd users and mobile device users.
You don't need to write a single line of code to convert your Pd patch into a standalone application so don't be afraid of giving a try by following the setup guide below.
In order to use ofxOfelia, you first need to download and install openFrameworks 0.9.8 which is the most recent stable release. ofxOfelia is currently not compatible with openFrameworks 0.10.x and it will be updated after the next stable release of openFrameworks. Please follow the setup guides to download and install openFrameworks 0.9.8. The following tools are used to build ofxOfelia project.
- macOS / iOS : Xcode.
- Linux : Makefile.
- Windows : Visual Studio Community 2015. (or Visaul Studio 2017)
- Android : Android Studio.
- Make sure you have openFrameworks setup on your desktop.
- Download ofxOfelia, ofxPd, ofxMidi and rename the extracted folders to
ofxOfelia
,ofxPd
andofxMidi
.
Place them within the directoryOF/addons
. ("OF" indicates the base directory of openFrameworks) - (macOS / Linux / Windows) Download pd-0.48-1 source archive and find
src
folder inside the extracted directory and copy it intoOF/addons/ofxOfelia/libs/pd
. - (macOS / Linux / iOS / Android) Open the Terminal and run the following to update openFrameworks.
cd OF/addons/ofxOfelia/scripts/(targetOS) sudo ./updateOF.sh
- (Windows) Execute the following batch file to update openFrameworks.
OF/addons/ofxOfelia/scripts/Win/updateOF.bat
- Open
OF/addons/ofxOfelia/macOSExample/macOSExample.xcodeproj
with Xcode and run the project.
- Open the Terminal and run the following command to run the project.
cd OF/addons/ofxOfelia/Linux64Example make && make RunRelease
- Open
OF/addons/ofxOfelia/Win32Example/Win32Example.vcxproj
with Visual Studio and run the project.
- Open
OF/addons/ofxOfelia/iOSExample/iOSExample.xcodeproj
with Xcode. - Connect your iOS device and run the project. (you will need to setup code signing to run the app on a device)
- Open Android Studio, select
Open an existing Android Studio project
and openOF/addons/ofxOfelia/AndroidExample
. - Go to
Build
->Generate Signed APK
to generate a key and keystore based onAndroidExample/keystore.properties
. - Connect your Android device and run the project.
- Copy the folder
OF/addons/ofxOfelia/macOSExample
and paste it intoOF/apps/myApps
. - Rename the project in Xcode and rename the project folder to your liking.
- Replace Pd patch and data in
yourProject/bin/data/pd
with your files. (main patch should be namedmain.pd
) - Build the project in Xcode. you will find a
.app
file inyourProject/bin
directory.
- Copy the folder
OF/addons/ofxOfelia/Linux64Example
and paste it intoOF/apps/myApps
. - Rename the project folder to your liking.
- Replace Pd patch and data in
yourProject/bin/data/pd
with your files. (main patch should be namedmain.pd
) - Build the project with
make
. you will find a Unix executable file inyourProject/bin
directory.
- Copy the folder
OF/addons/ofxOfelia/Win32Example
and paste it intoOF/apps/myApps
. - Rename the project in Visual Studio and rename the project folder to your liking.
- Replace Pd patch and data in
yourProject/bin/data/pd
with your files. (main patch should be namedmain.pd
) - Build the project in Visual Studio. you will find a
.exe
file inyourProject/bin
directory.
- Copy the folder
OF/addons/ofxOfelia/iOSExample
(oriOSABExample
if you want your app to support Audiobus) and paste it intoOF/apps/myApps
. - Rename the project in Xcode and rename the project folder to your liking.
- Replace Pd patch and data in
yourProject/bin/data/pd
with your files. (main patch should be namedmain.pd
) - Connect your iOS device and run the project in Xcode.
- Copy the folder
OF/addons/ofxOfelia/AndroidExample
and paste it intoOF/apps/myApps
. - Rename the project in Android Studio. (please read
Creating new projects
section from this link) - Replace Pd patch and data in
yourProject/bin/data/pd
with your files. (main patch should be namedmain.pd
) - If your app uses portrait orientation as default, then change
android:screenOrientation="reverseLandscape"
toandroid:screenOrientation="portrait"
in AndroidManifest.xml file. - Connect your Android device and run the project in Android Studio.
You can help developing ofxOfelia on GitHub: https://github.com/cuinjune/ofxOfelia
Create an account, clone or fork the repo, then request a push/merge.
If you find any bugs or suggestions please log them to GitHub as well.
Copyright (c) 2018 Zack Lee: [email protected]
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.