Gibber 2.0

I’ve been hard at work on a new version of Gibber. It’s got some features I’m pretty excited about:

  • Live coding of GLSL shaders (vertex and fragment)
  • A 2D drawing API primarily based on the HTML Canvas context
  • Some really nice mapping abstractions that make it simple to map audio to graphics and vice-versa, as well as making it easy to setup interactive controls.
  • A database backend so users can publish files and browse other peoples sketches (now known as giblets)
  • A chat system that also allows realtime collaborative code editing (like Google Docs) and remote code execution for networked live coding performances
  • Improved audio performance by including the newest version of Gibber, which also has some extra ugens to play with
  • A module system so that end-users can easily extend Gibber and share their extensions with others
  • Improved error reporting with line numbers via an extra parsing stage
  • Mouse and keyboard bindings
  • Integration with Interface.js and Interface.Server

Ack. There are too many features to list them all. Those are the important ones though. Gibber 2.0 is not quite ready for prime-time, but it’s getting close. My main task at the moment is to work on the publication system / browsing of publications. You can try out the new version here:

There’s also a new forum there… I’ll probably closing the forum here in favor of using that one. Let me know what you think! – Charlie

3 thoughts on “Gibber 2.0

  1. Hi!

    I’m just discovering Gibber and am wondering about the status of the project so that I can focus my learning in the right direction. In my experience Gibber 2.0 at has a much nicer IDE and Interface is awesome, but it seems less stable and I sorely miss Freesound integration and syntax like Delay(_8) and Synth( {maxVoices: 5} ).chord(“C4m7”); Should I be patient and expect these features soon or stick with the older Gibber? Thank you!

  2. Hi Aidan,

    I’ll try and put Freesound integration into Gibber 2 tonight… it’s been on my todo list for a while.

    Synth({maxVoices: 5}).chord('C4m7') // works fine for me!

    The syntax for rhythmic subdivision changed from (for example) _8 to 1/8. I think it’s easier to read and requires less explanation. Especially if you consider something like a duration of eleven eighth notes… which is just 11/8 using the new notation instead of _8 * 11. Four measures becomes 4 instead _1 * 4 etc.

    With that said the following line worked fine for me:

    a = Synth({ maxVoices:5, attack:44 }).chord( 'c4maj7' ).fx.add( Delay( 1/8 ) )

    I had a new forum up and it vanished at some point, I’ll try and get that working again tonight as well for when you encounter bugs. There’s also always the GitHub bug tracker:

    The short answer: Use the new version!!! And keep me posted how it goes. – Charlie

  3. OK, I added Freesound into Gibber 2.0; there’s a demo under Browse > Audio. The main difference is that I included it in an external module; I want to start pushing as much stuff as I can into modules to keep the initial download times small. The demo shows how to load the module (it’s one line of code).

    I also re-added the forum link back to the menubar, so feel free to point out bugs / add feature requests there!

Leave a Reply