Tuesday, October 7, 2003
Introduction to Egg & Malti
NCSA Seminar Series
Experimental Technologies Division Staff
John Martirano, NCSA
1:00 pm - 2:00 pm CDT
Room E102A, SRP Building Z, 1901 S. First St., Champaign, IL
This talk is an introduction to some of the application infrastructure and
tools being developed by the Experimental Technologies Division at NCSA. The
Egg is a C++ application infrastructure. Malti, which is built on Egg, is a
multi-channel media processing and transport framework. Virtual Director 2,
an animation package also built on Egg and utilizing Malti will be breifly discussed
in the context of Egg.
Egg
The Egg library is a small framework originally created as a dynamic dependency
graph tool for Virtual Director 2, an animation package. The purpose was to
allow the application user to modify all aspects of an animation's "actors",
including the ability to link some aspect of one actor to another, such as linking
an object and a camera to produce a follow cam. Or you could link the color
of an object to the loudness of the computer's sound input. The underlying Egg
framework enables the programmer to create such objects, and open up the parameters
to the end-user. Egg also provides: command support with a plain-text interpreter,
undo support, reference counted memory management, preliminary support for persistence,
and primitive networking. The current development is geared towards finishing
persistence, binding Egg to Python, and improving the API.
Malti
Malti is a multi-layered communications infrastructure which has been chiefly
utilized for its real-time multi-channel media processing and transport layers.
The transport layer abstracts RTP, UDP and TCP transport mechanisms to simplify
application integration. The application layer allows multi-channel real-time
media processing applications to be built by linking together modules into graph
structures (The application layer is similar to D2K in this respect). Malti
was recently redesigned on top of the Egg library in order to benefit from the
object oriented infrastructure and enable better integration with Virtual Director
efforts.
If you have questions concerning this seminar, please contact training@ncsa.uiuc.edu.