You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nova deViator c488c3cb39 various cosmetic changes 8 years ago
bin various cosmetic changes 8 years ago documentation edit 8 years ago
xorg.conf adding documentation 8 years ago

Structure of code

Main components of this project are three:

  • Processing code taking care of visuals (in folder pde/)
  • SuperCollider code - generative and live sound, GUI interface for touchscreen (in folder scd/)
  • Renoise module - composition (sound) and midi triggers for Processing/visuals (in foder rnx/)

Helper folders:

  • dat/ contains some data for SuperCollider (for now)
  • smp/ contains samples for SuperCollider
  • doc/ contains some simple documentation (this file!)
  • dev/ is some development code (may not be in git)
  • textures for Processing are in pde/IF3Si/images and may not be in git)

How is this run?

Hardware setup contains of a computer running a capable OpenGL card (Nvidia?) with two displays. One is a multitouch display device (1920x1080 but not necessary), the other is either a simple display monitor or a projector capable of 60fps at FullHD (1080p). Underlaying OS is Linux.


Edit ~/.processing/preferences.txt and change run.display=1 accordingly. I have it on 1, since 0 is my 'primary' display, which is the touchscreen. See also an example xorg.conf. I personally do the following - I access everything through a remote laptop, loging in through ssh. Processing applet is run remotely by using two small bash scripts: (this one needs to be on the executable path):

if [[ -z $1 ]]; then
	echo "error. no argument."
	echo "need the sketch path"

export DISPLAY=":0"
~/src/processing-2.2.1/processing-java \
    --force \
    --sketch=$1 \
    --run \



while (true)
    # clear ~/PROJECTS/IF3Si/pde/IF3Si/
    echo "~~~ Program has quit. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "


export DISPLAY=":0.0"
/usr/local/bin/sclang ~/PROJECTS/IF3Si/scd/IF3Si.scd 

Renoise sends MIDI to SuperCollider who controls Processing patch via OSC.


Monitor files while developing to restart Processing sketch on save with entr. After running the sketch in one terminal with, in another terminal run something like

ls PROJECTS/IF3Si/pde/IF3Si/*.pde | entr killall java

(this will kill other running instances of java, so beware)