Sunday, October 02, 2005

Performance Beans

In order to create and reuse elements of a live performance, what is needed is a mechanism like java beans where people can create "beans" that can be reused by a community of users. Each performance bean would have particular attributes that are required in order to used by others.

Several types of "beans" would be defined that fulfill different parts of the performance programming paradigm. Each one would be specific to a particular media types or set of media types.

Sequencing - putting events in particular orders.
Control - providing an interface to a capability that the user can manipulate.
Digitizer - bringing in data from sensors.
Filters - modifying data from sensors to condition it.
Sensing - taking digitized information and adding to the system's knowledge base.
Driver - giving the system a capability.
Rendering - taking a signal and manifesting it.
Modifier - taking a signal and modifying it for the purposes of re-rendering.
Translator - taking a signal and modifying it for the purpose of adapting its meaning to be understood by another component of the system.
Communication - allows modules to send messages and to be distributed.


The problem is on of efficiency and real-time.

The "Beans" would run inside a dataflow environment similar to max or Isadora.