File: README

package info (click to toggle)
freej 0.10git20080824-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 13,504 kB
  • ctags: 19,398
  • sloc: ansic: 135,255; cpp: 32,550; sh: 9,318; perl: 2,932; asm: 2,355; yacc: 1,178; makefile: 1,119; java: 136; lex: 94; python: 16
file content (260 lines) | stat: -rw-r--r-- 9,233 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260

 -=:[ 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    o/      \        |
  |          |          v\  /v __o   v\  /v __o    o       o
 / \        / \          <\/> __/>    <\/> __/>    <\__ __/>

              [[[  FreeJ 0.10 "set the vj free"  ]]]

                      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 development has received support from the Netherlands Media
Art Insitute.

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.

In  2008  both Jaromil  and  Mr.Goil  are  meeting regularly  in  code
sessions which  are rapidly driving  the project towards a  stable 1.0
release of FreeJ engine  and javascript API. Meanwhile Blender2Crystal
developer Caedes is experimenting with python bindings and uses of the
FreeJ engine in a 3d environment.

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.

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" Rojo        - FreeJ author and mantainer

 Silvano "Kysucix" Galliani  - TXT layer, encoder, streaming

 Christoph "Mr.Goil" Rudorff - Scriptability, MIDI and Joystick 

 parts of  included code are  written by Andreas  Schiffler (sdl_gfx),
 Jan  (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.

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 - 2008 by Denis Roio
         (c) 2004 - 2005 by Silvano Galliani
	 (c) 2005 - 2008 by Christoph Rudorff

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.