I needed a fast webserver in order to relay AJAX requests to computer music instruments. Yes the web is viable now. Imagine that.
JavaScript Perl CSS Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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