ChuckPad Online!22 Jan 2017
After over six months of development, ChuckPad is online! What’s ChuckPad? It was Spencer’s answer when I told him: “I’m bored. Anything I could build to help make your disseration kick ass?” Spencer now describes it as:
ChuckPad is a network-based platform for sharing code, modules, patches, and even entire musical works written with the ChucK programming language and other music programming platforms. ChuckPad provides a single repository and record of musical code from supported musical programming systems, an interface for organizing, browsing, and searching this body of code, and a readily accessible means of evaluating the musical output of code in the repository.
You can check out a demo of what ChuckPad is capable of at www.chuckpad.io.
ChuckPad has a bunch of components. The main backend service is a Sinatra server written in Ruby and hosted on Heroku. It was designed as a REST-based service with basic user (registration, login) and patch (creation, edit, delete) API endpoints. An iOS client library for the service was created and Spencer did the integration work for MiniAudicle (the ChucK IDE) and his dissertation project: Auraglyph. A Docker image running a ChucK rendering service with a Sinatra server exposing a simple API was also developed and deployed onto DigitalOcean. And the thing I’m most proud of as a quality-first engineer: iOS unit tests that exercises the iOS client library and – wait for it – the Sinatra server!
We originally built ChuckPad to share ChucK code, but we decided to power it up and let it support any number of apps on a single server instance. If you’re interested in joining the ChuckPad family and bring a social touch to your app, please reach out!