,-o----o----o----o-. | GridFlow 9.14 | `-o--------------o-' | .-o-------------------------------------------------------------- | Hardware and Software you Probably Need Computer/Processor: GridFlow is mainly made on PC. This includes AMD K6/K7/K8 (Athlon/Opteron/etc), Intel P2/P3/P4 and other Pentiums, Intel-Core, etc. ; the absolute minimum is 386. However, it has also been built for Macintosh PowerPC (G3/G4/G5) recently. GridFlow have also been tried on SPARC and ARM processors long ago. Operating System: GridFlow is mainly made on Ubuntu. We have also used Debian, SuSE, Mandrake, OSX. Microsoft Windows is not supported, but if you do want to try to add support for that, try CygWin and/or MinGW. Now if you want to make your own executables, you will need the following things. (This README is mainly aimed at people who use the source code. If you use a package, there's probably another README file for you) Required Software: Ruby 2.5 PureData 0.47 or later GNU C++ Compiler (g++) version 3.x or later GNU Make SVN Developer CD (XCODE) (if using OSX) FINK or equivalent (if using OSX) Multimedia Components (optional): libSDL (Simple Directmedia Layer) libjpeg libpng libmpeg3 (.mpg reader, HeroineWarrior's) libquicktime (.mov reader/writer, Burkhard Plaum's or HeroineWarrior's) Apple QuickTime (.mov reader/writer and camera interface) Ascii Art Library (aalib) Video digitizer card or USB camera (whatever supports Video4Linux version 1 or 2) FFTW3 OpenCV NetPBM OpenGL (and GLEW) GEM (if you have OpenGL) Apple X11 (for 10.3: http://www.apple.com/support/downloads/x11formacosx.html for 10.4: http://www.apple.com/support/downloads/x11update2006113.html ) .-o-------------------------------------------------------------- | Downloading from SVN The SVN has the absolute latest version of GridFlow, but it's not guaranteed to be working, whereas the actual releases are more tested. However you may have various reasons to use the SVN edition, so here's how: Make sure you have the svn program installed. cd pd/extra svn checkout http://gridflow.ca/svn/trunk mv trunk gridflow And the subsequent times, you only do this: cd pd/extra/gridflow svn update .-o-------------------------------------------------------------- | Installation instructions (incl. compilation) Install Ruby. Download GridFlow from the website and uncompress it, or get it from the SVN server. Run ./configure from the gridflow directory. Make sure it detects all the components you want to use with GridFlow. In MacOS you would normally use FINK to install those extra components: ruby libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs In Debian (we tried lenny) or Ubuntu (we tried 8.04 ... 10.04), do apt-get install libjpeg62-dev libpng12-dev libmpeg3-dev libquicktime-dev fftw3-dev apt-get install libaa1-dev libsdl1.2-dev libx11-dev libxt-dev g++ ruby nasm apt-get install libglew1.5-dev libx11-dev libxext-dev libxt-dev libv4l-dev libcv-dev apt-get install libglib1.2-dev or apt-get install libglib2.0-dev At least with Ubuntu you can add those, but haven't tried with Debian yet: apt-get install libcv-dev libdc1394-13-dev Note: you may have to set CPLUS_INCLUDE_PATH and C_INCLUDE_PATH to indicate where to find *.h files, and you may have to set both LIBRARY_PATH and LD_LIBRARY_PATH to indicate where to find *.so or *.a or *.dylib or *.bundle or *.dll or *.lib files. For example, if m_pd.h is found in /Users/pierre/include, you would do this to access it: export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/Users/pierre/include You can do this in a bash shell (in which case it will have effect on this instance of the shell until it is closed) or you can do this in .bashrc (in which case it will have effect on all shells started in the future) Alternately you could copy m_pd.h into /usr/include (note: /usr is not visible from Finder) Note: you can do ./configure --help to get a list of supported options. You can use them to ignore the presence of troublesome libraries and select debugging level. With --use-compiler you should use a version of g++, not directly a version of gcc, else you get undefined symbol problems. Some versions of gcc/g++ are troublesome. Note: starting with GridFlow 0.9.6, the --no-gem08 and --no-gem09 (etc) options don't exist anymore. Instead use --no-opengl if you want to disable GEM support. Run make to produce the executables gridflow.so and gridflow.pd_linux or similar Loading GridFlow: PureData : With a text editor, modify or create ~/.pdrc and write -lib gridflow -path gridflow/abstractions -path gridflow/deprecated -helppath gridflow/doc/flow_classes DesireData : In "Server Preferences", add gridflow to the list of libraries. Note that on MacOS the dot-files are invisible in the Finder but you do cd ~/Desktop; ln -s ../.pdrc "PureData Configuration" to make an alias on the Desktop. Note also that on Windows the dot-files are even more trouble. .-o-------------------------------------------------------------- | Other Tips you just did a SVN update and now the program does not compile, or crashes, or changes didn't go through. When some kinds of changes have happened, you may have to rerun the configure program before redoing make. If you had previously reconfigured with specific options, don't forget to use them again in this case. Maybe matju forgot to upload part of an important change. Tell him. PureData Crashing: run start Pd from within the debugger using gdb $(which pd) then run then cause the crash. In GDB, after a crash, you can use the where to find out what Pd was doing at the moment of the crash. If instead Pd is frozen, you can force it to crash using Ctrl+C in the terminal. To quit GDB use the quit command. .-o-------------------------------------------------------------- | Directory layout ./abstractions ..... Pd object classes written in Pd ./src .............. object classes written in C++ ./bin .............. programs startable as applications ./bundled .......... files from other packages, bundled here for convenience ./deprecated ....... old abstractions for backward-compatibility ./examples ......... more complex Pd programs showing off more practical uses. ./doc .............. complete documentation in HTML, with XML source ./doc/flow_classes . help files (.pd) ./doc/tutorials .... tutorials ./examples ......... more complex Pd programs showing off more practical uses. (this will replace ./pd_examples in the future). ./images ........... sample images used by ./examples, ./doc ./tests ............ will contain Pd programs that test GridFlow itself. (see also: the PureUnity project) .-o-------------------------------------------------------------- | License Info This program 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. See the GNU General Public License for more details. This program is free software; you can redistribute it and/or Modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See file COPYING for further informations on licensing terms.