Main author, project leader:
Dennis Smit <ds@nerds-incorporated.org>

Developers:
Duilio J. Protti <dprotti@users.sourceforge.net>
Vitaly V. Bursov <vitalyb@mail333.com>
Gustavo Sverzut Barbieri <gsbarbieri@yahoo.com.br> (From freevo)

The original JESS work:
Remi Arquier <arquier@crans.org>

The original Infinity work:
Julien Carme <julien.carme@acm.org>

The original lv_gltest work, which is the gl analyzer from xmms:
Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies

Nebulus:
Current maintainer, port to libvisual, cleanups, fixes, additions by:
Dennis Smit <synap@nerds-incorporated.org>

The previous maintainer and hackers:
Pascal Brochart <pbrochart@tuxfamily.org>
tunnel effect derived from the tides of time by
Mirko Teran-Ravnikar <mirko.teran@guest.arnes.si>
child effect derived from the star child demo by
Andreas Gustafsson <sdw@lysator.liu.se>
energy effect derived from the tesla demo by
Konrad "Yoghurt" Zagorowicz (sunflower)
knot effect derived from the knot another torus demo
by Jan Horn <jhorn@global.co.za>
tentacles derived from the biohazard demo by
Jan Horn <jhorn@global.co.za>
spectrum analyzer derived from the spectrum plugin
by the XMMS team
face effect derived from the radial blur demo by
Dario Corno / Jeff Molofee and converted to delphi
by Jan Horn <jhorn@global.co.za>
twist effect derived from the twisting cylinder by
Andreas Gustafsson <sdw@lysator.liu.se>
beat detection written by Steve Kirkendall <kirkenda@cs.pdx.edu>

Delphi/C | C++/C conversion by Pascal Brochart <pbrochart@tuxfamily.org>

Corona:
Richard Asbury <richard.asbury@lincoln.oxon.net>
Linux port by: Jean-Christophe Hoelt <jeko@ios-software.com>

Many thanks for quality suggestions and input:
Jean-Christophe Hoelt <jeko@ios-software.com> (Goom2 main author)

