-=:[ dyne.org software foundry ]:=--- - -- - proudly presents: o__ __o__/_ __o__ <| v | < > / \ | \o__ __o o__ __o o__ __o \o/ o__/_ | |> /v |> /v |> | | / \ < > /> // /> // < > \o/ \o o/ \o o/ \ | | | v\ /v __o v\ /v __o o o / \ / \ <\/> __/> <\/> __/> <\__ __/> [[[ FreeJ 0.11 "alive in babylon" ]]] http://freej.dyne.org :: OVERVIEW FreeJ is a vision mixer: a digital instrument for realtime video manipulation used in the fields of dance teather, veejaying, online streaming, medical visualisation and TV. It runs a video engine in which multiple layers can be filtered thru effect chains and then mixed together with images, movies, live cameras, particle generators, text scrollers and vector graphics. All the resulting video mix can be shown on a screen, encoded into a movie and streamed live to the internet. FreeJ can be controlled locally or remotely, also from multiple places at the same time, using its ascii console interface; operations can be scripted in javascript and triggered live via keyboard, mouse, MIDI controllers, Joysticks, OSC clients, Wiimotes and more devices. FreeJ's sourcecode is written in portable C and C++ and it works on most platforms supported by the GNU C compiler, including 32bit and 64bit processors, PowerPC and various ARM flavours. FreeJ is released free under the GNU General Public License (v3). :: FEATURES ++ reads and renders layers from multiple sources: webcams, TV, divx/avi movies, images, txt files and more ++ can encode in Ogg/Theora video, recording on local file and streaming live to an online Icecast server ++ can be controlled from remote: VJoE - VeeJay over Ethernet ++ can be scripted in object oriented javascript ++ supports frei0r and freeframe video plugins ++ very efficient video engine with multithreaded layers ++ Emacs/Vi style console with hotkeys and completion ++ multiple controllers at the same time (Midi,Joystick etc.) ++ 100% Free and open source, GCC 4 compliant portable code :: HISTORY This software started being developed as a digital instrument Jaromil used in dance-theater performances. Since 2001 ongoing development took inspiration from various artists and programmers: Andreas Schiffler, Roberto Paci Dalo', Tom Demeyer, Francescopaolo Isidoro, Kentaro Fukuchi, Luigi Pagliarini, Isabella Bordoni, to name just a few. Set the VeeJay Free! was the first motto for this software. In 2003 Kysucix joined development contributing the streaming feature and helping to include the javascript parser. He employed FreeJ in interactive installations while working with Studio Azzurro. Since 2004 Jaromil has been employed by Montevideo / Time Based Arts (NIMK) and his research and development activity also converged in FreeJ development. In 2005 Mr.Goil joined development, writing programmable controllers, reviewing the scripting environment and adding more features. In 2007 the austrian initiative Netculture.lab supported Jaromil and Mr.Goil developing the BeTV release: it enhanced scriptability and streaming, with a major cleanup of the code and wider support of video plugins. After revamping their enthusiasm in the Chaos Computer Camp, in 2008 both Jaromil and Mr.Goil met regularly in code sessions , rapidly driving the project towards a stable javascript API. Meanwhile Blender2Crystal developer Caedes has joined implementing python bindings and using the FreeJ engine in a 3d environment. In 2009 FreeJ development is sponsored by Digitale Pioneers and almost the entire team had the opportunity to join the Wintercamp organised by the Institute of Network Cultures in Amsterdam; here, a week of coding & sharing gave a significant push to the entire project, leading to many bug fixes and some really interesting rewriting and optimization into the code. Those magical days saw the presence of Jaromil, Acracia, Xant & V@nex living in Amsterdam, Vlax from Oaxaca (Mexico), Kobaiashi & Shammash from Italy, Crash, Tomak & Asbesto from Sicilia (Italy), Mr.Goil from Germany, Andy from Australia, Adnan from Switzerland, Lluis from France, and Rama from Argentina. What a nice family! :) For the time being, FreeJ is employed in various video performances, interactive installations and online TV streams, as well used for visualisations in medical analysis. Developers are keen to accept projects and propositions in order to sustain the development activity and involve more developers, please join our mailinglist on http://lists.dyne.org to collaborate and be part of our history :) :: GET STARTED To start rolling with FreeJ you can have a look to the online documentation on http://freej.dyne.org Most powerful uses of FreeJ involve scripting for live interaction with devices and video compositing, still a first look at the console controller can give an initial picture of how the software works. A nice tutorial to start is: http://lab.dyne.org/FreejTutorial Tutorials, examples and scripting reference are available from the website as well along with the distributed sourcecode, in the doc/ and scripts/ directories. GNU/Linux distributions usually ship these files inside /usr/share/freej and /usr/doc/FreeJ* As development unrolls suggestions and feedback are welcome, join us on the freej mailinglist on http://lists.dyne.org and let us know your impressions and ideas. :: REQUIREMENTS To compile and run FreeJ it is necessary to have: - a working GNU/Linux system or Darwin/OSX -> see the documentation in README.OSX - SDL libraries http://www.libsdl.org - PNG libraries http://www.libpng.org - S-LANG libraries http://www.s-lang.org Several other libraries are optional and strongly recommended to benefit from all features implemented in FreeJ, in particular Ogg/Vorbis/Theora libraries available on http://www.xiph.org :: HOW TO INSTALL IT ++ GNU/Linux users: On Debian and Ubuntu 'freej' stable packages are ready to install. Release candidates up to date with latest development are also published on: http://launchpad.org/~jaromil/+archive On Gentoo it is also possible to 'emerge freej' ++ Apple/OSX users: Binary packages of FreeJ for OSX should be available from the website http://freej.dyne.org, although they might be a bit outdated and limited in features. It is also possible to compile FreeJ from source following the README.OSX and using XCode, MacPorts and Fink. In case you are a programmer talented with OSX please consider to get in touch with us and contribute to make this software better on the Apple platform, there isn't much work to do anyway. ++ Windlows users: No-one of us feels to compile FreeJ on the M$ platform, but there is a quick and easy way to try this software using the dyne:bolic liveCD even without installing anything, just boot it, see: http://dynebolic.org ++ Game console users: Experimental builds of FreeJ have succeeded to work on consoles as GP2X and NintendoDS. It should be also possible to make FreeJ run on other embedded devices and we are very interested in doing so, please contact us if you are as well :) :: TEAM Denis "Jaromil" Roio - FreeJ author and mantainer Silvano "Kysucix" Galliani - Scriptability, encoding and layers Christoph "Mr.Goil" Rudorff - Scriptability and several controllers Luca "Shammash" Bigliardi - Debian packaging and core development Andrea "Xant" Guzzo - OSX porting and core development parts of included code are written by Andreas Schiffler (sdl_gfx), Jan Gerber (theorautils), Dave Griffiths (audio bus), Nemosoft (ccvt), Charles Yates (yuv2rgb), Steve Harris (liblo), Sam Lantinga (sdl_*), Jean-Christophe Hoelt (goom), L. Donnie Smith (cwiid), Olivier Debon (flash). documentation, testing and user case studies have bee contributed by: Anne-Marie Skriver, Marloes de Valk, Piotr Sobolewski refer to the AUTHORS file for a full list of contributions :: DISCUSSION A mailinglist for further discussion about FreeJ is running on http://lists.dyne.org For chat we hang around the channel #dyne on irc.dyne.org - access is free via SSL on port 9999, connection IP is kept anonymous for your own privacy. :: DEVELOPMENT To follow development activity, visit our new distributed versioning system on http://git.dyne.org To test new branches and latest code, use git: # git clone git://dyne.org/freej.git then generate the build environment running ./autogen.sh - note that automake and aclocal at exactly 1.9 version are required for it. More detailed instructions about installation by git can be found into the INSTALL readme file. Please download and run the latest code from there if you want to submit a bugreport, submit a patch or propose and test new features on our mailinglist. :: DISCLAIMER FreeJ is (c) 2001 - 2009 by Denis Roio (c) 2004 - 2005 by Silvano Galliani (c) 2005 - 2008 by Christoph Rudorff (c) 2008 - 2009 by Luca Bigliardi (c) 2008 - 2009 by Pablo Martin Statically included libraries are copyright of the respective authors. This source code is free software; you can redistribute it and/or modify it under the terms of the GNU Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This source code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer to the GNU Public License for more details. You should have received a copy of the GNU Public License along with this source code; if not, write to: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.