Info, Help, and Documentation
What does a typical party have in terms of visuals? Blacklights? Maybe a strobe light if its a good party. Most are barely sufficient.
Visuals are a large part of the experience, and someone should be in charge. Introducing the Visualization DJ, the DJ who is responsible for producing stunning visuals for your party.
CodeDJ Live! is a tool for the Visual DJ. It is entirely cloud-based, so it can be at any party, anywhere, as long as you have a computer, an internet connection, and a nice screen. No extra DJ-ing equipment needed.
So, at your next party, set up that projector in your living room, hook it up to your laptop, and fire up CodeDJ Live!
CodeDJ Live! is a project made by Nop Jiarathanakul for PennApps Fall 2012, a 48-hour hackathaon.
Inspired by Iņigo Quilez and his live code demos at SIGGRAPH 2012 Real-time Live event. Examples can be seen here and here.
The user interface is designed to be very minimal, as this is something that would be shown on a large screen. The only visible elements are the FPS counter and the mini visualizer. This visualzer shows the levels of the 8 different channels available. The first red bar shows the overall volume of the track.
The code editor is hidden, and can be toggled using Ctrl+E. There is a colored bar at the top of the editor. This indicates the status of code compilation. Green means the code successfully compiled and is running. Red means the code failed to compile. When the code does not compile, it is not loaded, and the last compiled code continues to run.
All actions are done through keyboard commands, which are listed below here.
|Space||Play / pause music|
|Ctrl+E||Show / hide code editor|
|Esc||Hide code editor|
|uTime||float||Incrementing time since started|
|uAspect||float||Screen aspect ratio|
|uAudLevels||float array||Array of frequency levels. Fixed 8 channels.|
|uAudAveLevel||float||Volume level. Average level of all frequency channels.|
|uAudAccumLevel||float||Accumulated volume level. Increments by volume level every update.|
|getAudLevel||float n||float||Returns one of the audio freq levels given normalized n.|
|rand||vec2 n||float||Returns pseudo-random float, given a seed vec2 n.|
|EQUALS||float A, float B||bool||Returns if two floats are equal with an EPS error.|
|EQUALSZERO||float A||bool||Returns if A is equal to zero with an EPS error.|
|EPS||float||0.0001||Epsilon. Arbitrary small value.|
|PI||float||3.14159265||Mathemathical constant pi|
|TWOPI||float||6.28318530||Pi multiplied by two|
|HALFPI||float||1.57079633||Pi divided by two|
|OVRTHREE||float||0.57735027||One over root three|
|HUGEVAL||float||1e20||Arbitrary large value|