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. ## Software I personally do the following - I access everything through a remote laptop, loging in through ssh and running: `export DISPLAY=":0.1"` (this is actually not very necessary, but the following is: 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 an example xorg.conf Processing applet is run remotely by using two small bash scripts: *processing-runsketch.sh*: ```bash #!/bin/bash if [[ -z $1 ]]; then echo "error. no argument." echo "need the sketch path" else export DISPLAY=":0" ~/src/processing-2.2.1/processing-java \ --force \ --sketch=$1 \ --run \ --output=$1/output fi ``` and *processing-runsketch_IF3.sh*: ```bash #!/bin/bash while (true) do # clear processing-runsketch.sh ~/PROJECTS/IF3Si/pde/IF3Si/ echo echo "~~~ Program has quit. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " echo done ``` .