Skip to content

nhandler/chroma-scripts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chroma-Lights

Chroma lights is a frame work for running annimations for led lights over OSC.

Setup

1. Install virtualenv (skip if you have it already)

sudo easy_install virtualenv

2. Create your virtualenv for chroma-scripts

virtualenv env # or replace 'env' with whatever folder  you want your environment in

3. Activate the environment

source env/bin/activate

4. Install dependencies

pip install -r dependencies.txt

Windows Setup

0. Get and burn a Debian ISO from http://www.debian.org/CD/
1. Wipe your hard drive and install Debian
2. Follow the Setup instructions above

Running

You'll want to activate your virtualenv if it's not already. In your chrome-scripts folder (after having set everything up above before), source env/bin/activate. In order to run the animations locally, we provide a lights emulator written in Processing.

To run the light emulator: $ emulator/lights_emulator

To run an animation: $ ./run.py [animation name]

Contributing

To contribute add a new folder in the animation directory. This folder should be have a unique name for the animation. The folder must contain the following two files:

main.py:

import sys
sys.path.append("./osc")
from oscapi import ColorsOut
...

manifest.json:

{
	"name":"Random Colors",
	"description":"Random colors on 3 second intervals",
	"creator":"RJ and Reed"
}

Each light recieves an input that is a tuple (r,g,b) where each of r, g, b can be 0-1023.

Construct an array of tuples and send them to the OSC server with

pix = [(1023.0,0.0,0.0)]*24
out = ColorsOut()
out.write(pix)

To add simple effects, such as automatic fade-in and fade-out of pixels, use the animations library in place of ColorsOut

from animations import FadeAnimation
pix = [(1023.0,0.0,0.0)]*24
out = FadeAnimation()
out.FADEINRATE = 2.0 #optional
out.FADEOUTRATE = 8.0 #optional, makes things 'trail off'
out.start()
out.write(pix)

Tips and Tricks

Chroma is bright, and can easily be the predominant lighting in the room. Fast blinking of the lights can be intense, so be considerate.

  • Avoid instantaneous changes in both intensity and color
  • Use the provided animation framework to transition between colors

About

light animations for chroma

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.4%
  • JavaScript 3.4%
  • Java 1.1%
  • Shell 0.1%