Skip to content

feierwerk/acab-streetlife

 
 

Repository files navigation

This is the software behind the ACAB wall.
You can get our software on github: https://github.com/muccc/acab-streetlife

Animations are created as python scripts which run on the
computer controlling the installation.

In the multiwall setting the ACAB wall has two walls with 8x6 pixels each. They are addressed using the wall number [0,1] and their x and y coordinates.
The setup looks like this: (x,y,wall)

Wall1:
  (0,0,0), (1,0,0) ... (6,0,0), (7,0,0)
  (0,1,0), (1,1,0) ... (6,1,0), (7,1,0)
    .      .          .       .
    .      .          .       .
    .      .          .       .
  (0,4,0), (1,4,0) ... (6,4,0), (7,4,0)
  (0,5,0), (1,5,0) ... (6,5,0), (7,5,0)

Wall2:
  (0,0,1), (1,0,1) ... (6,0,1), (7,0,1)
  (0,1,1), (1,1,1) ... (6,1,1), (7,1,1)
    .      .          .       .
    .      .          .       .
    .      .          .       .
  (0,4,1), (1,4,1) ... (6,4,1), (7,4,1)
  (0,5,1), (1,5,1) ... (6,5,1), (7,5,1)

Use the acabsl library from our git repository to create your own scripts.

It provides two methods:

  acabsl.send(x,y,r,g,b,time,w):
      Send a new color to pixel (<x>,<y>) on wall no <w>. If you ommit 'w', the
      server will choose a wall for you, when the scripts gets executed.

      'r','g','b' are in [0-255]

      time is in seconds:
          'time'=0  => Instant update
          'time'>0  => Fade to the new color in <time> seconds

  acabsl.update(w):
      Use this command if you want to use double buffering.
      Use it once before you do your first acabsl.send() call.
      Then use it everytime you want new commands to be executed.
      
      Currently this command affects all walls at the same time.
Example:

  import acabsl
  
  #enable double buffering
  acabsl.update()

  wall1 = 0
  wall2 = 1
  
  #let every pixel fade to red
  for x in range(8):
      for y in range(6):
          acabsl.send(x,y,255,0,0,500,wall1)
          acabsl.send(x,y,255,0,0,500,wall2)
  
  #execute all fades at once
  acabsl.update()


Have a look at the scripts in the animations directory for examples. We also have audio examples ;)


Execute the startsimulation file to run a simulation of the walls on your computer:
  ./startsimulation

It will open two windows with simulated acab walls. Use your imagination to form cylinders for 29c3 ;)

Then execute the script you wrote to display it on the simulator.

Send new scripts via a pull request to our github account: https://github.com/muccc/acab-streetlife and we will put them
into rotation on the walls.

Have fun :)

About

Scripts for an ACAB-Installation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published