Use Gibber inside Ableton Live
HTML Max JavaScript Other
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
css changing vertical padding between lines for cleaner display of annota… Jan 19, 2018
dist update annotations outside of animation thread. remove MIDI input menu. Jan 30, 2018
gibberwocky.demo Project added gibberwocky.demo project and started porting examples from gibb… Jun 8, 2017
gibberwocky_2 Project freezing devices Jul 13, 2017
js update annotations outside of animation thread. remove MIDI input menu. Jan 30, 2018
misc faster lom generation + cleanup Apr 10, 2016
.gitignore adding vim specific extensions to .gitignore Oct 10, 2017
LICENSE license and readme Dec 17, 2015
README.md updating readme with instructions for using the online editor and oth… Oct 10, 2017
debug.html added mute/solo commands to api Apr 13, 2016
dups.sh added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen0.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen1.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen10.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen11.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen12.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen13.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen14.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen15.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen16.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen17.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen18.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen19.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen2.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen20.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen21.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen22.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen23.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen24.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen25.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen26.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen27.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen28.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen29.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen3.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen30.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen31.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen4.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen5.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen6.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen7.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen8.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibbergen9.maxpat added gen snapshot sending & increased to 32 max no. of gens Sep 5, 2016
gibberwocky.js fix for timing not being sent May 30, 2017
gibberwocky_master.amxd freezing devices Jul 13, 2017
gibberwocky_midi.amxd sequencing for cc messages Dec 28, 2017
gulpfile.js placing wave widgets next to genish calls Oct 14, 2017
index.html update annotations outside of animation thread. remove MIDI input menu. Jan 30, 2018
index_template.html update annotations outside of animation thread. remove MIDI input menu. Jan 30, 2018
package.json wave pattern annotations ready to go, probably should merge this bran… Oct 10, 2017

README.md

Gibberwocky

This repo is for a plugin to live code Ableton Live using a browser-based editor. It is implemented using Max4Live, Max/MSP/Jitter, and JavaScript, and draws significantly from the Gibber browser-based live coding platform.

More recent (10/2016) demo performance.
A screen capture / demo of an early version.

This project is jointly developed by Graham Wakefield and Charlie Roberts.

If you're interested in creating your own front-end using a different language (gibberwocky uses JavaScript), please see the communication spec which outlines how to send messages to the max4live plugin using websockets. Theoretically you should be able to use a language of your choice (as long as it has a websocket library...)

Installing

  1. Follow the instructions for installing the Max Worldmaking Package: https://github.com/worldmaking/Max_Worldmaking_Package. This will install a websocket external for Max that the code editor will use to communicate with Max4Live and Max/MSP.
  2. Download the most recent release of the plugin
  3. In Ableton Live, place the gibberwocky_master.amxd M4L object on the Master track in your Live set. For each MIDI instrument track, place an instance of the gibberwocky_midi.amxd on the track and add an instrument/fx of your choice.

Using

  1. In the master instance, click the Edit button to open the browser-based code editor. You can send note/duration/velocity messages to all instrument tracks with an instance of the gibberwocky_midi.amxd plugin. If an instrument track does not have a plugin, you won't be able to send it these messages. You can also target all fx parameters, volume controls, track sends, mute and solo functions from this single editor.
  2. If the Edit button fails to open a code editor, there are two options. The simplest is to use the online editor. You can also try manually opening the index.html file found in the top-level directory.
  3. Execute code by selecting it and hitting Ctrl+Enter. Alt+Enter will select and execute an entire block of code (blocks are delimited by empty lines). Ctrl+. (period) will stop all running sequences. Make sure your transport is running in Live, otherwise executing code will have no effect!
  4. Read through the example code. Click on the "demos" button in the right sidebar to view other examples / explanations.

Development

Max for Live device

Remember to unfreeze the device to edit it, and freeze it again afterward.

Also, watch out to not edit the .amxd directly in Max, but only launch the editor from within Live. I don't know why this makes a difference, but it caused all kinds of headaches.

Browser-based client editor

First, install all packages with:

npm install

Then use the gulp command from the top-level directory to launch a watcher that will recompile the application whenever any JavaScript files are changed. Due to some quirks regarding how Max reads in external files, the resulting index.html file that is created will contain all HTML, CSS, and Javascript in a single (very large) file.