forked from zzkt/fluxus
-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
176 lines (120 loc) · 5.55 KB
/
README
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
Fluxus :
(C) 2007 Dave Griffiths : dave at pawfal dot org : www.pawfal.org
(C) 2018 Thomas Hocdez : thomas at blenderlab dot fr : www.blenderlab.fr
"act of a flowing; a continuous moving on or passing by, as of a flowing stream;
a continuous succession of changes"
Fluxus is a small realtime render engine for linux that generates animation from
sound. Released under the GPL licence (see COPYING)
Using fluxus
------------
See docs/fluxus-documentation.pdf, the online help and most importantly the
example scripts (in the examples directory) for pointers on using fluxus.
Load the examples on the commandline by running "fluxus scriptname.scm" or
loading them from inside fluxus by pressing ctrl-l and browsing.
Also, sign up to the mailing list to search the archives and ask questions:
http://lists.pawfal.org/listinfo.cgi/fluxus-pawfal.org
Installing
----------
Fluxus is a dependancy heavy application, and installing it can be a bit of a
challenge - anyone who can help in this regard (debian packages etc), please get
in contact!
It requires:
ode (0.5) http://opende.sourceforge.net/
racket (6.x) http://www.racket-lang.org/
fftw (3.0.1) http://www.fftw.org/
jack (1.0) http://jackit.sourceforge.net/
libsndfile (1.0.12) http://www.mega-nerd.com/libsndfile/
liblo (0.6.0) http://plugin.org.uk/liblo/
glew (1.3.4) http://glew.sourceforge.net/
libfreetype (2.2.1) http://www.freetype.org/
libalsa http://www.alsa.org/
The version numbers in brackets are the version I've built it with, later versions
should also be ok, let me know (via the mailing list) if you run into problems.
And if that's not enough, you'll also need scons (http://www.scons.org/) to
actually build fluxus.
Racket install instructions
------------------------
You probably need to install Racket from source, in order to get shared libraries
like this:
./configure --enable-shared --prefix=/usr/local
make
sudo make install
Fluxus install instructions
---------------------------
To build and install, type:
scons
sudo scons install
Build options to scons are:
X11=1
Build with the X11 libraries - rather than Xorg which is default.
GLSL=0
Set this to disable GLSL hardware shaders.
MULTITEXTURING=0
There is a fluxus bug causing crashes on some systems - try this if you
get a crash with just (build-cube)
STEREODEFAULT=1
Use hardware stereo rendering
ACCUM_BUFFER=1
Startup with an accumulation buffer (another bad tempered option on some drivers)
There are more settings at the top of the SConstruct file which may need to be
tweaked to correctly find things.
Fluxus install instructions for OS X
------------------------------------
Install Racket binary (http://racket-lang.org/download/) and
MacPorts (http://www.macports.org/).
Put the bin directory of Racket and MacPorts to your path by adding
the following line to the .bash_profile file in your home directory:
PATH=$PATH:/opt/local/bin:/Applications/Racket\ v5.3.1/bin/
Also add this line to .bash_profile, which is necessary for fluxus to
find the Racket framework:
export DYLD_FRAMEWORK_PATH=/Applications/Racket\ v5.3.1/lib/
You might need to change the Racket version number according to
the binary package you have installed.
In OS X 10.8 install the library dependencies as universal:
sudo port install fftw-3 +universal glew +universal freetype +universal jpeg +universal \
liblo +universal libpng +universal libsndfile +universal ode +universal \
tiff +universal zlib +universal scons
Install JackOSX 0.90+ on OS X 10.8 (http://www.jackosx.com/) instead of
MacPorts jack.
To build and install, type:
scons ADDONS=0
sudo scons ADDONS=0 install
It is also possible to build an OSX application of Fluxus.
To build, type:
scons --app ADDONS=0
./packages/macos/osx_app-postbuild.sh
Homebrew (http://mxcl.github.com/homebrew/) users:
The homebrew formula conveniently installs all dependencies for you (including racket):
brew update
brew install fluxus
Building fluxus on Windows
--------------------------
You need to install python, scons and MinGW, then install the win32 versions of
the dependencies from their websites (eq ode, plt) or for lower level ones
like libpng, libtiff etc from here: http://gnuwin32.sourceforge.net/
Put the libs in the C:\MinGW\lib and includes in c:\MinGW\include for everything
except Racket. You should now be able to build and install fluxus.
It installs by default to C:\Program Files\Fluxus. You now need to add copies
of all the dependencies dlls in the bin directory there.
More advanced building commands
-------------------------------
For building fluxus for packaging or as downloadable all included games or
applications, there are these flags:
STATIC_MODULES=1
Build fluxus such that it doesn't require Racket installed - embeds the module binaries
and all the scheme code required from Racket. Currently you also need to change a couple
of lines of modules/scheme/fluxus-modules, see comments in that file for more info.
STATIC_EVERYTHING=1
Build fluxus same as STATIC_MODULES=1, but also static link as much as possible, this
results in a binary which doesn't require any dynamic linking except to GLIBC. Not
really good practice, but helpful for run-anywhere binaries.
RELATIVE_COLLECTS=1
Create a binary which looks for it's collects in the same directory as the binary
resides - this means that fluxus can be installed anywhere, and can carry around
it's dependant scheme code.
STATIC_ODE=1
Build fluxus with ODE statically linked.
ADDONS=0
Disable building additional modules.
RACKET_FRAMEWORK=0
Build with the Racket library instead of the framework on OSX.