jarmitage / Cybin

A programming/performance environment for seamless online and offline audiovisual rendering.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cybin

CYBIN_V0.0_DEMO

This is Cybin. This is early, unstable, alpha software actually relatively stable now and comes with some decent utilities.

Installation:

  • Make sure you've got a C++ compiler
  • Install LuaJIT, libsoundio, libsndfile, freeglut, and if you're on MacOS, XQuartz (XQuarts has a native MacOS installer, all other dependencies are available through brew)
  • Install git
  • Run cd && git clone https://github.com/efairbanks/Cybin.git && cd Cybin
  • Run ./debian_build.sh or macos_build.sh depending on your platform
  • Put export PATH=$PATH:~/Cybin in your .bash_profile or other shell startup file

Optional

  • Install Emacs
  • Place the following into your Emacs init file (~/.emacs, ~/.emacs.el, or ~/.emacs.d/init.el)
(add-to-list 'load-path "~/Cybin")
(autoload 'cybin-mode "cybin-mode" "Cybin editing mode." t)
(add-to-list 'auto-mode-alist '("\\.cybin$" . cybin-mode))
(add-to-list 'interpreter-mode-alist '("cybin" . cybin-mode))

Emacs Hotkeys

  • C-c C-c -> execute line
  • C-c C-b -> execute file
  • C-c C-e -> execute block/paragraph

caveats: There's currently a pretty low limit to the number of characters you can send to the Cybin interpreter at a time, so watch out or it'll puke all over the place. Note the separation of code blocks in demo.cybin.

Goals:

  • Few dependencies (relatively speaking) (done)
  • Real-time, from-scratch audio synthesis in LUA (done)
  • Real-time, from-scratch video & image synthesis with LUA and OpenGL (tbd)
  • Seamless transition from live performance to high-quality offline rendering (audio: done, video: tbd)
  • Loading audio, video, and image data (audio: done, video: tbd, image: tbd)
  • On-the-fly reloading of LUA/OpenGL code with file watchers or a REPL (tbd)
  • C++ classes wrapped in LUA interfaces with efficient implementations of common effects and techinques (tbd)
    • granular synthesis
    • ray-marching
    • cellular automata
    • etc...
  • Mind-blowing demos and example code (tbd unless you like breakcore with repetetive basslines)

Dependencies

About

A programming/performance environment for seamless online and offline audiovisual rendering.


Languages

Language:Emacs Lisp 73.9%Language:C++ 25.3%Language:Shell 0.5%Language:C 0.3%