This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit 02afaad5f2f87262580667d4ba452b2341046c56
tree af8c3ecebbd21c3eabf7172fa28821727109c4e2
parent 1107dcb91e5492000a773829895a86fcb98df7c2
tree af8c3ecebbd21c3eabf7172fa28821727109c4e2
parent 1107dcb91e5492000a773829895a86fcb98df7c2
| name | age | message | |
|---|---|---|---|
| |
README | Mon Nov 03 13:32:26 -0800 2008 | |
| |
artists/ | Mon Oct 20 02:07:43 -0700 2008 | |
| |
lib/ | Sat Oct 11 14:56:18 -0700 2008 | |
| |
rakefile | Thu Oct 09 22:14:18 -0700 2008 | |
| |
run.rb | Mon Oct 20 02:07:43 -0700 2008 | |
| |
spec/ | Tue Oct 14 00:54:46 -0700 2008 | |
| |
vendor/ | Sat Oct 11 14:02:28 -0700 2008 |
README
= SocialBeat A proof of concept social crowd beat visualization thing, inspired by Giles Bowkett's RubyFringe talk. Here is an introductory screen cast, under 3 minutes long: http://vimeo.com/2139958 Only works on OSX, maybe only on Leopard = Install gem install ruby-opengl gem sources -a http://gems.github.com gem install xaviershay-rbcoremidi = Usage # Start archaeopteryx # Open MIDI Patch Bay.app # Create a new input ("Archaeopteryx") # Create a new output ("SocialBeat") ruby run.rb artists/simple.rb vim artist/simple.rb # Try changing the base_color and watch it morph on the fly. oooooooooh. If it complains about loading rbcoremidi, this means that you have to compile it yourself. Grab it from github: http://github.com/xaviershay/rbcoremidi/tree/master, compile, and put the bundle into vendor/rbcoremidi = Current state DONE * Hot reloads your artist file * Accepts MIDI input TODO * Some cool examples, esp with multiple inputs * Nested reloading (files included from an artist) * Canvas::OpenGl needs to be fleshed out so you can actually draw cool stuff * Make a screencast showing awesomeness * Profiling and performance work = Architecture A subclass of SocialBeat::Artist is instantiated on the fly, as the code file changes. This instance is responsible for drawing and update logic. It is totally stateless - any state it wishes to keep should be stored in the env variable that is passed to it by SocialBeat::Runner This allows the hot swapping to work. Any drawing should be done on the canvas object, so that OpenGl can easily be switched out for processing/directX/AWESOMEASCIIART/whatever







