Skip to content

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

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.txt
Notifications You must be signed in to change notification settings

Cloudlessrain/ofxOfelia

 
 

Repository files navigation

ofelia

alt text alt text

Description

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.

Installation

  • Make sure you have Pd installed on your desktop.
  • Start Pd and go to Help -> Find externals, then search for ofelia
  • 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

Explore

  • 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.

Upcoming features

  • Video player
  • Video grabber
  • SVG loader

ofxOfelia

alt text

Description

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.

Build Requirements

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.

Setup guide

  • Make sure you have openFrameworks setup on your desktop.
  • Download ofxOfelia, ofxPd, ofxMidi and rename the extracted folders to ofxOfelia, ofxPd and ofxMidi.
    Place them within the directory OF/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 into OF/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

Running the standalone example

macOS

  • Open OF/addons/ofxOfelia/macOSExample/macOSExample.xcodeproj with Xcode and run the project.

Linux

  • Open the Terminal and run the following command to run the project.
    cd OF/addons/ofxOfelia/Linux64Example
    make && make RunRelease

Windows

  • Open OF/addons/ofxOfelia/Win32Example/Win32Example.vcxproj with Visual Studio and run the project.

iOS

  • 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)

Android

  • Open Android Studio, select Open an existing Android Studio project and open OF/addons/ofxOfelia/AndroidExample.
  • Go to Build -> Generate Signed APK to generate a key and keystore based on AndroidExample/keystore.properties.
  • Connect your Android device and run the project.

Creating your own standalone project

macOS

  • Copy the folder OF/addons/ofxOfelia/macOSExample and paste it into OF/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 named main.pd)
  • Build the project in Xcode. you will find a .app file in yourProject/bin directory.

Linux

  • Copy the folder OF/addons/ofxOfelia/Linux64Example and paste it into OF/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 named main.pd)
  • Build the project with make. you will find a Unix executable file in yourProject/bin directory.

Windows

  • Copy the folder OF/addons/ofxOfelia/Win32Example and paste it into OF/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 named main.pd)
  • Build the project in Visual Studio. you will find a .exe file in yourProject/bin directory.

iOS

  • Copy the folder OF/addons/ofxOfelia/iOSExample (or iOSABExample if you want your app to support Audiobus) and paste it into OF/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 named main.pd)
  • Connect your iOS device and run the project in Xcode.

Android

  • Copy the folder OF/addons/ofxOfelia/AndroidExample and paste it into OF/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 named main.pd)
  • If your app uses portrait orientation as default, then change android:screenOrientation="reverseLandscape" to android:screenOrientation="portrait" in AndroidManifest.xml file.
  • Connect your Android device and run the project in Android Studio.

Developing ofxOfelia

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.

Author

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.

About

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

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 83.3%
  • C 13.7%
  • Objective-C++ 2.0%
  • Objective-C 0.7%
  • Makefile 0.2%
  • Java 0.1%