About Panda    SF project page    Details    FAQ    Development    Modules    Panda applications    Downloads    Mailing list    Links    Contacts

Last update Dec 19,2003.

More about Panda:

As soon as I can, I'll add more details.

Panda architecture and goals:

Panda will be a faster way for artist-developers to write applications and plugins for their purposes.
Using a modular programming approach, the developer can focus his attention on his new module, and can give less attention on GUI, others already existing modules and audio services.
Panda is designed to use the less cpu power that it can, also to pursuit this purpose will supports multiple zones of buffer size or/and sample rate and of course will support multi-processors(only mac os x and multi-processors machines). Altivec(only mac os x and G4) support should be implemented directly in modules, by the will of developer.

With P. an application can be created just connecting modules, so you can imagine this such a PD or a max/msp that can be used directly from your application code.

Also to make this more possible and more integrated with the system, Panda will use the facilities of some "more easy" programming languages such python, java, or whatever swig(www.swig.org) supports.

Inside Panda:

Panda Framework:
1 - loads Panda modules (CFBundles) and gets the pointers to fundamentals functions.
2 - manages audio and non-audio connections.
3 - manages outlets and inlets chains data flows.
4 - creates audio render threads and manages audio-outlets and audio-inlets chains data flows.
5 - creates audio plugin mode render ( a special mode that doesn't use coreaudio IOProc ) and manages data flows between outlets,inlets.
6 - has utilities functions to create and use Panda variables.
7 - has functions to store and re-store the Panda status (modules , args).

Panda Variables:
typedef struct _variable {
  int varType;
  void *var_t;
  int manyVar;
  int length;
  char *specification;
A variable or more variables in Panda must be of this type.

more details about interfaces are in Panda header files.

Copyright © 2003, Giovanni (Johnny) Petrantoni. SourceForge.net Logo