This project is the work that was done under Google Summer of Code 2020 a.k.a. GSoC for organization Purr Data. The project idea was to make the native Purr Data run in a web browser by adding a WebAssembly target and HTML5 GUI framework.
Purr Data a.k.a. Pd-l2ork 2 is an improved version of Miller Puckette’s Pd.
Pd (Pure Data) is a graphical data-flow programming environment that is geared towards real-time interactive computer music and multimedia applications. It is a full-featured open-source alternative to its commercial sibling, Cycling74’s Max.
Purr Data serves the same purpose, but offers a new and much improved graphical user interface and includes many 3rd party plug-ins. Like Pd, it runs on Linux, macOS, and Windows, and is open-source throughout.
The goal of this project is to make the graphical programming environment Purr Data run in a web browser so it can be more accessible to users.
You can try the current version from https://cuinjune-purr-data.glitch.me/
The backend part of the software has been mainly done by Zack Lee (email@example.com)
The frontend part of the software has been mainly done by Hugo Carvalho (firstname.lastname@example.org)
Modified native Purr Data and libpd codebase to make them compatible with Emscripten. (Zack)
Modified and created Makefile to build for Emscripten and to generate WebAssembly(.wasm) binaries for external libraries. (Zack)
Cleaned the backend codebase and organized the file system so the project can be easily maintained. (Zack)
Modified the existing NW.js based source code to make them compatible with web browsers. (Hugo)
Reimplemented some elements(menu, canvas, style) specifically for the web browser. (Hugo)
Integrated the backend with the frontend. (Hugo, Zack)
Fixed some major bugs and errors in the frontend. (Hugo, Zack)
For more information, please visit https://github.com/cuinjune/purr-data
The project was covered in the online magazine Create Digital Music: Pure Data is running in the browser, for free Web-based sound patching
Software Engineer | UX Designer | Creative Technologist