I needed a fast webserver in order to relay AJAX requests to computer music instruments. Yes the web is viable now. Imagine that.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
404
csound
harbinger-demos
presentation
swarmed-visuals
swarmed
tests
.gitignore
404-bubble.pl
404-env.pl
404.pl
404test.sh
AnchorString.pm
Bouncey.pm
Clothe.pm
Enveloper.pm
Force.pm
Harbinger.pm
Makefile
Mongrel2.pm
NOTES.org
README
Vornoi.pm
anchor-sine.pl
anchor-string.pl
anchor.sh
balls.pl
balls.sh
body_post.pl
bouncey-balls.pl
bowed_string.csd
cloth-sine.pl
clothe.sh
connect.sh
eater-sine.pl
enveloper.pl
filler-balls.pl
force.pl
harbhandlegeneric.pl
http.pl
http.py
http_bubble.pl
http_enveloper.pl
http_harbinger.pl
http_harbinger.py
http_harbinger_logger.pl
http_mongrel.pl
jackd.sh
mixerconnect.sh
mongrel-HOWTO.txt
mongrel2s-example-http-py-ported-to-perl.pl
myconfig.conf
myconfig.py
planets.orc
planets.sco
ripple-bells.pl
ripple-table.pl
swarmed.pl
voronoi.pl

README

This is a demo of using Mongrel2 in order to take input from webpages and turn it into music.

We use CSound on the backend to render.

* Mongrel2
* ZeroMQ
* ZeroMQ in perl
* CSound
* A good browser.

A demo of what I'm up to: http://softwareprocess.es/y/mongrel2-js1k-music-instrument-demo.ogv
                          http://www.youtube.com/watch?v=jchB_pBdWHA

To run the balls thing do this:

In one terminal: make start
In another terminal: perl http_harbinger.pl
In another terminal: perl bouncey-balls.pl
Then open up your browser and go to 
http://localhost:6767/demos/  and
http://localhost:6767/demos/bouncey.html

Have fun.

|-- Harbinger.pm -- Harbinger perl library
|-- Makefile -- Makefile to start up mongrel2
|-- Mongrel2.pm -- My Mongrel2 perl bindings ZeroMQ
|-- NOTES.org -- Some poor Notes
|-- balls.pl -- Crap file, shouldn't be here -- Harbinger example
|-- balls.sh -- Jackit boot up for bouncey-balls.sh (used for desktop recording)
|-- body_post.pl -- Demo of posting with a body
|-- bouncey-balls.pl -- Harbinger bouncey balls instrument (uses planet.orc planet.sco)
|-- filler-balls.pl -- Use filler.html some dumb game I made (uses planet.orc planet.sco)
|-- harbinger-demos
|   |-- bouncey.html -- bouncey ball js1k.com entry sonified
|   |-- filler.html -- filler creep game sonified
|   |-- index.html -- a directory
|   `-- json2.js  -- a json lib I use
|-- http.pl -- http.py ported to Perl for Mongrel2
|-- http.py -- http.py from Mongrel2
|-- http_harbinger.pl -- http.pl ported to harbinger :D
|-- http_mongrel.pl  -- http.pl ported to Mongrel2.pm
|-- mongrel2s-example-http-py-ported-to-perl.pl -- redundant
|-- myconfig.py -- The config that I am using to run the harbinger thing in mongrel2
|-- myconfig.sqlite -- the mongrel2 config which you need to make
|-- planets.orc -- CSound Orchestra
|-- planets.sco -- CSound real time score
`-- tests
    `-- sample.html -- Sample.html

For swarmed you need:
dnsmasq
iptables
privbind
jackd
qjackctl
jack_connect

A router to plug into.

settings: set file handles high in /etc/./security/limits.conf
*		soft	nofile		12000
privbind -u hindle1 -n 1 make start

in sudoers

hindle1 ALL=(ALL) NOPASSWD: /usr/sbin/privbind

Here's what we added to dnsmasq.conf
address=/#/10.20.30.1
address=//10.20.30.1