{"id":13548276,"url":"https://github.com/cuinjune/Ofelia","last_synced_at":"2025-04-02T21:31:17.437Z","repository":{"id":46148356,"uuid":"121050586","full_name":"cuinjune/Ofelia","owner":"cuinjune","description":"A real-time cross-platform creative coding tool for multimedia development","archived":false,"fork":false,"pushed_at":"2024-04-12T14:18:19.000Z","size":286207,"stargazers_count":356,"open_issues_count":59,"forks_count":21,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-04-14T00:56:22.635Z","etag":null,"topics":["audiovisual","creative-coding","cross-platform","graphics","lua","multimedia-applications","ofelia","openframeworks","openframeworks-addon","opengl","pd-externals","puredata","raspberry-pi","scripting-language","standalone","visual-programming-language","web-application","webgl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cuinjune.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.txt","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-10T20:16:06.000Z","updated_at":"2024-08-01T12:15:49.416Z","dependencies_parsed_at":"2024-08-03T13:46:07.191Z","dependency_job_id":null,"html_url":"https://github.com/cuinjune/Ofelia","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuinjune%2FOfelia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuinjune%2FOfelia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuinjune%2FOfelia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuinjune%2FOfelia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuinjune","download_url":"https://codeload.github.com/cuinjune/Ofelia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246895718,"owners_count":20851320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audiovisual","creative-coding","cross-platform","graphics","lua","multimedia-applications","ofelia","openframeworks","openframeworks-addon","opengl","pd-externals","puredata","raspberry-pi","scripting-language","standalone","visual-programming-language","web-application","webgl"],"created_at":"2024-08-01T12:01:08.155Z","updated_at":"2025-04-02T21:31:15.273Z","avatar_url":"https://github.com/cuinjune.png","language":"C++","funding_links":[],"categories":["C++","opengl","Audiovisual Libraries"],"sub_categories":[],"readme":"# Ofelia\n![alt text](doc/Logo.png)\n![alt text](doc/Iteration.png)\n![alt text](doc/GLSL.png)\n\n## Description\nOfelia 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.\n\n[openFrameworks](http://openframeworks.cc/) is an open source C++ toolkit for creative coding.\u003cbr /\u003e\n[Lua](https://www.lua.org/) is a powerful, efficient, lightweight, easy-to-learn scripting language.\u003cbr /\u003e\n[Pure Data](https://puredata.info/)(Pd) is a real-time visual programming language for multimedia.\u003cbr /\u003e\n\nThanks 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](ofelia/classesAndGlobalFunctions.txt) within a Lua script.\n\nUsing Ofelia, you can flexibly choose between patching and coding style based on your preference.\u003cbr /\u003e\n\nThe external is available to be used under macOS, Windows, Linux and Raspberry Pi.\n\n## Installation\n* Make sure you have [Pure Data](https://puredata.info/downloads/pure-data) installed on your desktop.\n* Start Pd and go to `Help` -\u003e `Find externals`, then search for `ofelia`\n* Select the latest version of Ofelia to download and install.\n* Try opening patches inside downloaded `ofelia/examples` directory.\n* (Windows) If the library fails to load, open `vc_redist` executable file inside `ofelia` directory to install [Microsoft Visual C++ Redistributable packages](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads). And if video examples don't work properly, try installing the [K-Lite Codec Pack](https://www.codecguide.com/download_kl.htm).\n* (Linux / Raspberry Pi) If the library fails to load, open the Terminal and run the following command to install dependencies.\n  \u003cpre\u003ecd ofelia/scripts/distro_name\n  sudo ./install_dependencies.sh\u003c/pre\u003e\n* You can also download the externals from https://github.com/cuinjune/Ofelia/releases\n\n--------------\n\n# ofxOfelia\n![alt text](doc/ofxOfelia.png)\n\n## Description\n\n**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.\n\nYou can share the application with a wide range of audiences including mobile device, internet and non-Pd users.\n\n## Build Requirements\nIn order to use ofxOfelia, you first need to download and install openFrameworks. Please follow the [setup guides](http://openframeworks.cc/download/) to download and install openFrameworks 0.11.0 which is the most recent stable release.\n\nThe following tools are used to build ofxOfelia project.\n\n* macOS / iOS: [Xcode](https://developer.apple.com/xcode/).\n* Linux / Raspberry Pi: [Makefile](https://www.gnu.org/software/make/).\n* Windows: [Visual Studio Community 2017](https://visualstudio.microsoft.com/vs/community/).\n* Android: [Android Studio](https://developer.android.com/studio/).\n\n## Setup guide\n* Make sure you have openFrameworks setup on your desktop.\n* Download [ofxOfelia_targetOS.zip](https://github.com/cuinjune/ofxOfelia/releases/latest) and rename the extracted folder to `ofxOfelia`.\u003cbr /\u003e\nPlace the folder within the directory `OF/addons`. (\"OF\" indicates the base directory of openFrameworks)\n* (Linux 64bit) Open the Terminal and run the following to update openFrameworks.\n  \u003cpre\u003ecd OF/addons/ofxOfelia/scripts/Linux64\n  sudo ./updateOF.sh\u003c/pre\u003e\n  \n## Building the external\n* (macOS) Open `OF/addons/ofxOfelia/macOSExternal/ofelia.xcodeproj` with Xcode and build the project.\n* (Windows) Open `OF/addons/ofxOfelia/WindowsExternal/ofelia.sln` with Visual Studio and build the solution.\n* (Linux / Raspberry Pi) Open the Terminal and run the following command to build the project.\n  \u003cpre\u003ecd OF/addons/ofxOfelia/LinuxExternal\n  make\u003c/pre\u003e\n* Copy the generated binaries from `OF/addons/ofxOfelia/(targetOS)/bin` into the Pd externals directory.\n\n## Running the standalone example\n* (macOS) Open `OF/addons/ofxOfelia/macOSExample/macOSExample.xcodeproj` with Xcode and run the project.\n* (Windows) Open `OF/addons/ofxOfelia/WindowsExample/WindowsExample.sln` with Visual Studio and run the solution.\n* (Linux / Raspberry Pi) Open the Terminal and run the following command to run the project.\n  \u003cpre\u003ecd OF/addons/ofxOfelia/LinuxExample\n  make \u0026\u0026 make RunRelease\u003c/pre\u003e\n* (iOS) Open `OF/addons/ofxOfelia/iOSExample/iOSExample.xcodeproj` with Xcode and run the project.\n* (Android) Open Android Studio, select `Open an existing Android Studio project` and open `OF/addons/ofxOfelia/AndroidExample` and run the project.\n\n## Creating your own standalone project\n* Copy an example project from `OF/addons/ofxOfelia` and paste it into `OF/apps/myApps` directory.\n* Rename the project and folder to your liking.\n* Replace Pd patches and data in `yourProject/bin/data/pd` with your files.\n* Build the project and find the executable file in `yourProject/bin` directory.\n\n## Running the Emscripten example in a web browser\n* Download the latest [nightly build](https://openframeworks.cc/ci_server/versions/nightly/) of openFrameworks.\n* Download [ofxOfelia_Emscripten.zip](https://github.com/cuinjune/ofxOfelia/releases/latest) and rename the extracted folder to `ofxOfelia`.\u003cbr /\u003e\nPlace the folder within the directory `OF/addons`. (\"OF\" indicates the base directory of openFrameworks)\n* (macOS / Linux) Open the Terminal and run the following to update openFrameworks.\n  \u003cpre\u003ecd OF/addons/ofxOfelia/scripts/Emscripten\n  sudo ./updateOF.sh\u003c/pre\u003e\n* Install Emscripten following the [setup guide](https://openframeworks.cc/setup/emscripten/).\n* Run the following command to run the project in your browser.\n  \u003cpre\u003ecd OF/addons/ofxOfelia/EmscriptenExample\n  emmake make\n  emrun bin/EmscriptenExample.html\u003c/pre\u003e\n\n## Developing ofxOfelia\nYou can help develop ofxOfelia on GitHub: https://github.com/cuinjune/ofxOfelia\u003cbr /\u003e\nCreate an account, clone or fork the repo, then request a push/merge.\u003cbr /\u003e\nFeel free to contact the [author](#author) if you have any questions or suggestions.\n\n--------------\n\n## Projects that used Ofelia\n* [Bruno Rohde](http://esmeril.ufba.br/): [ESMERIL](https://youtu.be/DfyGt6fyGMg).\n* [Mike Moreno](https://github.com/MikeMorenoAudio/): [Paths](https://youtu.be/Si_IbyIvPy4/).\n* [Chris Niven: BILL JOBS CYBER RADIO](https://youtu.be/j3qptxxBoTE).\n* [Laure M. Hiendl](https://www.lauremhiendl.com/): [Ten Bullets Through One Hole](https://www.lauremhiendl.com/ten-bullets-through-one-hole/).\n* [Virtual Insight: World of Piano](https://www.worldofpiano.net/).\n* [The Center for Haptic Audio Interaction Reseach: Instrument development](https://chair.audio/).\n\n## Acknowledgements\n* [Miller Puckette](http://msp.ucsd.edu/) and the [Pd community](http://puredata.info/community/) for developing and maintaining [Pd](http://puredata.info/);\n* [Arturo Castro](http://arturocastro.net/), [Theodore Watson](http://www.theowatson.com/) and the [OF community](https://openframeworks.cc/community/) for developing and maintaining [openFrameworks](https://openframeworks.cc/);\n* [Dan Wilcox](http://danomatika.com/) for developing [ofxLua](https://github.com/danomatika/ofxLua), [ofxPd](https://github.com/danomatika/ofxPd) and [ofxMidi](https://github.com/danomatika/ofxMidi) addons which Ofelia/ofxOfelia uses;\n* [IOhannes M Zmölnig](https://puredata.info/author/zmoelnig) for developing [GEM](https://puredata.info/downloads/gem) which has greatly influenced Ofelia;\n* [Daniel Shiffman](https://shiffman.net/) and the [Processing Foundation](https://processingfoundation.org/) for providing many [examples](https://processing.org/examples/) which Ofelia copied;\n* [Henri Menke](https://www.henrimenke.com/) for answering so many questions about integrating Lua into C++;\n* Many others who contributed to the development of Ofelia.\n\n## Author\nCopyright (c) 2018 Zack Lee: \u003ccuinjune@gmail.com\u003e\u003cbr /\u003e\nGNU General Public License v3.0\u003cbr /\u003e\nFor information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, \"LICENSE.txt,\" in this distribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuinjune%2FOfelia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuinjune%2FOfelia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuinjune%2FOfelia/lists"}