diff options
| author | Jaromil <[email protected]> | 2008-05-30 08:51:56 (GMT) |
|---|---|---|
| committer | Jaromil <[email protected]> | 2008-05-30 08:51:56 (GMT) |
| commit | 2c5fcc30031ff15bed2b310c55e909f35f75e8ff (patch) | |
| tree | f015cae787faae47046262cd34c7ea9e2840ce9b | |
| parent | ea70e1749e0c7057d794d27e2170aa93d8a9ed9d (diff) | |
documentation update for 0.10 release,freej-0.10
build fixes on audio / goom configure detection
| -rw-r--r-- | ChangeLog | 35 | ||||
| -rw-r--r-- | KNOWN-BUGS | 2 | ||||
| -rw-r--r-- | Makefile.am | 4 | ||||
| -rw-r--r-- | README | 197 | ||||
| -rw-r--r-- | README.CVS | 5 | ||||
| -rw-r--r-- | README.OSX | 15 | ||||
| -rw-r--r-- | configure.in | 9 | ||||
| -rw-r--r-- | debian/control | 2 | ||||
| -rwxr-xr-x | debian/rules | 2 | ||||
| -rw-r--r-- | lib/Makefile.am | 2 | ||||
| -rw-r--r-- | lib/goom/Makefile.am | 10 | ||||
| -rw-r--r-- | lib/goom/ppc_drawings.s | 2 | ||||
| -rw-r--r-- | scripts/stream.js | 9 | ||||
| -rw-r--r-- | src/goom_layer.cpp | 6 | ||||
| -rw-r--r-- | src/goom_layer_js.cpp | 7 | ||||
| -rw-r--r-- | src/include/jsparser_data.h | 43 |
16 files changed, 207 insertions, 143 deletions
@@ -1,15 +1,16 @@ -Freej 0.9.x Experimental - AudioJack() collector for realtime sound parametrization - WiiController() for bluetooth WiiMote device - MouseController() for mouse pointer - ViMoContoller() for serial Video Mouse device - tons of bugfixes - JS garbage collection framework, rem_controller() and rem_layer() - new fps sync architecture to let layers go - Layer.start() .stop() - OpenGL viewport fixes - experimental ViewportLayer() using Xv extension +Freej 0.10 + Realtime sound parametrization (16 band FFT) + Support for more plugins (freeframe) + WiiController for bluetooth WiiMote device + MouseController for mouse pointer + ViMoContoller for serial Video Mouse device + OscController for network messaging + Javascript enhancements and garbage collection + Faster response and handling of layers + Experimental python bindings and OpenGL support + Several bugfixes + FreeJ 0.9.1 BeTV - 26 Nov 2007 New video encoder (ffmpeg2theora) More generators (Frei0r) @@ -18,7 +19,7 @@ FreeJ 0.9.1 BeTV - 26 Nov 2007 Implemented class inheritance with some introspection -FreeJ 0.9 KRAAKENGAATDOOR - 1 Sep 2007 +FreeJ 0.9 KRAKENGAATDOOR - 1 Sep 2007 Scriptable controllers: keyboard, midi, joystick Major code cleanup to encoding and streaming Debugging and optimization of scripting API @@ -127,26 +128,26 @@ FreeJ 0.3 PRATERHIMMEL - 26 Jan 2002 fixes in absdiff filter major code cleanup -FreeJ 0.2.3 "ETNA" - 25 Nov 2001 +FreeJ 0.2.3 ETNA - 25 Nov 2001 included new Simura filter new OSD fonts code cleanups -FreeJ 0.2.2 "ETNA" - 1 Nov 2001 +FreeJ 0.2.2 ETNA - 1 Nov 2001 fixes for webcams, DEXXA/Logitech and others supported TV tuner code gives you the trippiest TV you ever saw! OSD fixes and status messages implemented fixed crash with filters not supporting actual bit depth engine code cleanups -FreeJ 0.2.1 "ETNA" - 20 Sep 2001 +FreeJ 0.2.1 ETNA - 20 Sep 2001 total rewrite of the multithreading system, NOW stable detached threads and priority scheduling commandline options and help new asm filter coding example (src/filter/*judenburg*) various bugfixes -FreeJ 0.2 "ETNA" - 8 Aug 2001 +FreeJ 0.2 ETNA - 8 Aug 2001 major fixes in multithreading system, most of the crashes are fixed new on screen display (OSD) instead of GUI keyboard driven command interface @@ -177,5 +178,5 @@ FreeJ 0.1 - 22 may 2001 presented at digital_is_not_analog01 in a performance with: the mitocondri - GNU love foundation party -$Id$ +$Id: $ @@ -1,5 +1,5 @@ please report bugs on http://bugs.dyne.org -$Id$ +$Id: $ diff --git a/Makefile.am b/Makefile.am index 641c0e8..7c5d664 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ -docs_DATA = README README.CVS README.OSX TODO INSTALL API COPYING USAGE AUTHORS NEWS -docsdir = ${prefix}/doc/${PACKAGE}-${VERSION} +docs_DATA = README README.OSX TODO INSTALL API COPYING USAGE AUTHORS NEWS +docsdir = ${prefix}/share/doc/${PACKAGE}-${VERSION} man_MANS = doc/freej.1 @@ -1,5 +1,5 @@ - -=:[ dyne.org autoprod ]:=--- - -- - proudly presents: + -=:[ dyne.org software foundry ]:=--- - -- - proudly presents: o__ __o__/_ __o__ @@ -12,48 +12,49 @@ | | v\ /v __o v\ /v __o o o / \ / \ <\/> __/> <\/> __/> <\__ __/> - [[[ FreeJ 0.9.1 "BeTV" ]]] + [[[ FreeJ 0.10 "set the vj free" ]]] - http://freej.dyne.org + 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, medical -visualisation and TV. +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 scripted vector -graphics. All the resulting video mix can be shown on a screen, -encoded into a movie and streamed live to the internet. +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 -automated via javascript, also MIDI and Joystick controllers can be -scripted. +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++, it can run on -GNU/Linux and Darwin/OSX platforms, PC-x86 or Mac, and is released -free under the GNU General Public License. + 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 and txt files + 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 procedural object oriented language -++ high precision looping of movie clips -++ plugin effects are chainable on each layer +++ 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 (S-Lang) -++ multiple controllers at the same time (Midi,Joystick) -++ 100% Free and open source: GNU General Public License +++ 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 @@ -73,23 +74,32 @@ 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 been supported by the Netherlands Media Art -Insitute employing +Since 2004 development has received support from the Netherlands Media +Art Insitute. -In 2005 Mr.Goil joined the project writing programmable controllers -and debugging the scripting environment. +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 support for Frei0r +streaming, with a major cleanup of the code and wider support of video plugins. -For the time being, FreeJ is employed in various video performances and -installations, but also used for medical analisys visualizations. +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 :) -Developers are keen to accept projects and propositions in order to -sustain the development activity on this free software, please contact -us on http://dyne.org if you think we can collaborate. @@ -97,49 +107,80 @@ us on http://dyne.org if you think we can collaborate. :: GET STARTED To start rolling with FreeJ you can have a look to the online -documentation on it website http://freej.dyne.org +documentation on http://freej.dyne.org -Experiment with the scripts and follow Piotr's tutorial on the usage -of the console. There are many things that can be done with this tool, -let us know :) http://dyne.org/hackers_contact.php +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 run FreeJ is necessary to have: +To compile and run FreeJ it is necessary to have: -- a working GNU/Linux e u +- 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 -- Ogg/Vorbis/Theora libraries http://www.xiph.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 -download a binary for your operating system from http://freej.org or -try dyne:bolic GNU/Linux http://dynebolic.org which includes it ready -to use from a liveCD which is also easy to install. + ++ GNU/Linux users: -Debian GNU/Linux users can 'apt-get install freej', + 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 -Gentoo GNU/Linux users can 'emerge freej' + On Gentoo it is also possible to 'emerge freej' -But if the package of your distribution is out of date you should -compile from source for the latest features. + ++ 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: -:: DEVELOPERS + 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 @@ -147,24 +188,32 @@ compile from source for the latest features. Christoph "Mr.Goil" Rudorff - Scriptability, MIDI and Joystick - documentation, testing and user case study by: + 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 -You are very welcome to join, there is a lot of space for modules and a -pretty clear (and almost freezed) API to be used. -You can follow development activity, just visit http://devel.dyne.org :: DISCUSSION -Come and visit the irc.dyne.org channel #dyne - A mailinglist for further discussion about FreeJ is running on -http://lists.dyne.org - come and join us there :) + + 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. + @@ -172,36 +221,40 @@ http://lists.dyne.org - come and join us there :) :: DEVELOPMENT -The latest development version is publicly available on our subversion -repository: +To follow development activity, visit our new distributed versioning +system on http://git.dyne.org - # svn co svn://svn.dyne.org/rastasoft/freej/trunk freej +To test new branches and latest code, use git: -Please download and run this code if you want to submit a bugreport or -a patch or propose and test new features on our mailinglist. + # 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 - 2007 by Denis Roio +FreeJ is (c) 2001 - 2008 by Denis Roio (c) 2004 - 2005 by Silvano Galliani - (c) 2005 - 2007 by Christoph Rudorff + (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. +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. diff --git a/README.CVS b/README.CVS deleted file mode 100644 index 5399b1e..0000000 --- a/README.CVS +++ b/dev/null @@ -1,5 +0,0 @@ - -to create the configure script, run autogen.sh - -$Id$ - @@ -1,11 +1,7 @@ -Since FreeJ 0.9 there is an experimental branch in the subversion for -OSX, if you are interested in hacking on it please join us on the -mailinglist or on IRC (see the README) - - - - +### this documentation is old and not yet updated +### please check on our website on http://freej.dyne.org +### in case anything new is published there FreeJ 0.7.1 notes for Darwin/OSX hackers @@ -41,7 +37,6 @@ below until it's noticed, so scroll down... # apt-get install libpng3 # apt-get install freetype2-dev - - OPTIONAL and NOT recommended: if you want to compile the gtk+2 graphical interface # apt-get install gtk+2-dev @@ -57,6 +52,8 @@ performance and usability. - OPTIONAL and WELL RECOMMENDED: + + if you want to compile the Javascript interpreter download the SpiderMonkey engine from http://mozilla.org/js/spidermonkey it's js-1.5.tar.gz in http://ftp.mozilla.org/pub/mozilla.org/js @@ -126,5 +123,5 @@ be slick enough on MacOSX and lacks of a Quicktime layer. if you want to collaborate, subscribe and mail our mailinglist. -$Id$ +$Id: $ diff --git a/configure.in b/configure.in index 12b5318..46c86a1 100644 --- a/configure.in +++ b/configure.in @@ -412,6 +412,8 @@ AC_SUBST(OPENGL_LIB) ALSA_LIBS="" JACK_LIBS="" FFTW_LIBS="" +GOOM_DIR="" +GOOM_PPC_FILES="" #SNDFILE_LIBS="" if test x$have_linux = xyes ; then @@ -431,8 +433,11 @@ if test x$have_linux = xyes ; then if test x$have_fftw = xyes; then AC_DEFINE(WITH_SOUND,1,[define if compiling sound system]) - + GOOM_DIR=goom have_sound=yes + if test x$host_cpu = xpowerpc; then + GOOM_PPC_FILES="ppc_zoom_ultimate.s ppc_drawings.s" + fi fi fi @@ -444,6 +449,8 @@ fi # have_linux AC_SUBST(ALSA_LIBS) AC_SUBST(JACK_LIBS) AC_SUBST(FFTW_LIBS) +AC_SUBST(GOOM_DIR) +AC_SUBST(GOOM_PPC_FILES) #AC_SUBST(SNDFILE_LIBS) diff --git a/debian/control b/debian/control index 599d475..1516f4e 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: x11 Priority: optional Maintainer: Jaromil <[email protected]> XSBC-Original-Maintainer: Jaromil <[email protected]> -Build-Depends: g++, libtool, debhelper (>> 4.0.0), flex, bison, libsdl-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, dpatch, libogg-dev, libvorbis-dev, libjpeg-dev, libslang2-dev, libtheora-dev, libhtml-template-perl, libavcodec-dev, libavformat-dev, libbluetooth2-dev, libfftw3-dev, libjack-dev, libasound-dev +Build-Depends: c++-compiler, libtool, debhelper (>> 4.0.0), flex, bison, libsdl-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, dpatch, libogg-dev, libvorbis-dev, libjpeg-dev, libslang2-dev, libtheora-dev, libavcodec-dev, libavformat-dev, libbluetooth2-dev, fftw3-dev, libjack-dev, libasound-dev Standards-Version: 3.7.2.2 Package: freej diff --git a/debian/rules b/debian/rules index 103e4f1..7b77cc6 100755 --- a/debian/rules +++ b/debian/rules @@ -53,7 +53,7 @@ really_clean: rm -f config.log # Add here commands to clean up after the build process. - -$(MAKE) -k clean +# -$(MAKE) -k clean # rm config.status #ifneq "$(wildcard /usr/share/misc/config.sub)" "" # cp -f /usr/share/misc/config.sub config.sub diff --git a/lib/Makefile.am b/lib/Makefile.am index a904ec1..5363c81 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -5,8 +5,8 @@ SUBDIRS = ccvt \ lo \ shout \ javascript \ - goom \ frei0r \ + @GOOM_DIR@ \ @CWIID_DIR@ \ @FLASH_DIR@ diff --git a/lib/goom/Makefile.am b/lib/goom/Makefile.am index 877862f..dafb7fb 100644 --- a/lib/goom/Makefile.am +++ b/lib/goom/Makefile.am @@ -4,18 +4,16 @@ INCLUDES = -I$(top_srcdir) AUTOMAKE_OPTIONS = foreign -if ARCH_PPC -PPC_FILES=ppc_zoom_ultimate.s ppc_drawings.s -else -PPC_FILES= -endif noinst_LIBRARIES = libgoom2.a +# removed assembly (fix?) +# ppc_zoom_ultimate.s ppc_drawings.s + #goom2_library_include_HEADERS = goom.h goom_plugin_info.h goom_typedefs.h goom_graphic.h goom_config_param.h goom_visual_fx.h goom_filters.h goom_tools.h goomsl.h goomsl_hash.h goomsl_heap.h goom_tools.h goom_config.h libgoom2_a_SOURCES = \ goomsl_yacc.y goomsl_lex.l goomsl.c goomsl_hash.c goomsl_heap.c \ - goom_tools.c $(PPC_FILES) \ + goom_tools.c \ config_param.c convolve_fx.c filters.c \ flying_stars_fx.c gfontlib.c gfontrle.c \ goom_core.c graphic.c ifs.c lines.c \ diff --git a/lib/goom/ppc_drawings.s b/lib/goom/ppc_drawings.s index 845e5ea..a425a85 100644 --- a/lib/goom/ppc_drawings.s +++ b/lib/goom/ppc_drawings.s @@ -2,6 +2,8 @@ ; © 2003 Guillaume Borios ; This Source Code is released under the terms of the General Public License +#include <config.h> + ; Change log : ; 30 May 2003 : File creation diff --git a/scripts/stream.js b/scripts/stream.js index e6944b8..ec473a2 100644 --- a/scripts/stream.js +++ b/scripts/stream.js @@ -2,10 +2,19 @@ /// do any action above here and then include the code below to stream // don't forget to edit it with your streaming authentication +// create a jack audio input +// port name buffer size samlerate +audio = new AudioJack("alsaplayer", 2048, 44100); +// in case the port named is not already present: +// you should connect the input manually using jack + // create a video encoder object // values 1-100 video quality video bitrate audio quality audio_bitrate encoder = new VideoEncoder(10, 64000, 0, 24000); +// add the audio channel in the video encoded +encoder.add_audio(audio); + encoder.stream_host("giss.tv"); encoder.stream_port(8000); encoder.stream_title("testing new freej"); diff --git a/src/goom_layer.cpp b/src/goom_layer.cpp index 7be8f46..816a46d 100644 --- a/src/goom_layer.cpp +++ b/src/goom_layer.cpp @@ -17,6 +17,9 @@ * */ +#include <config.h> +#ifdef WITH_SOUND + #include <math.h> #include <jutils.h> @@ -25,7 +28,6 @@ #include <goom_layer.h> -#include <config.h> #include <jsparser_data.h> @@ -106,3 +108,5 @@ void *GoomLayer::feed() { bool GoomLayer::keypress(int key) { return false; } + +#endif diff --git a/src/goom_layer_js.cpp b/src/goom_layer_js.cpp index 4c84588..db0565e 100644 --- a/src/goom_layer_js.cpp +++ b/src/goom_layer_js.cpp @@ -19,9 +19,12 @@ * */ +#include <config.h> +#ifdef WITH_SOUND + #include <callbacks_js.h> #include <jsparser_data.h> -#include <config.h> + #include <goom_layer.h> DECLARE_CLASS_GC("GoomLayer",goom_layer_class,goom_layer_constructor,js_layer_gc); @@ -168,3 +171,5 @@ JS(goom_layer_wave) { return JS_TRUE; } + +#endif diff --git a/src/include/jsparser_data.h b/src/include/jsparser_data.h index 351392e..d1a0eb1 100644 --- a/src/include/jsparser_data.h +++ b/src/include/jsparser_data.h @@ -57,9 +57,13 @@ JS(vscroll_layer_constructor); JS(geometry_layer_constructor); JS(image_layer_constructor); JS(flash_layer_constructor); -JS(goom_layer_constructor); JS(movie_layer_constructor); +#ifdef WITH_SOUND +JS(goom_layer_constructor); +JS(js_audio_jack_constructor); +#endif + #ifdef WITH_V4L JS(v4l_layer_constructor); #endif @@ -92,8 +96,6 @@ JS(js_vid_enc_constructor); JS(js_shouter_constructor); #endif -// audio collectors -JS(js_audio_jack_constructor); ////////////////////////////////////////////////////////////// // classes @@ -172,9 +174,14 @@ extern JSFunctionSpec image_layer_methods[]; extern JSClass flash_layer_class; extern JSFunctionSpec flash_layer_methods[]; +#ifdef WITH_SOUND +// Audio collector +extern JSClass js_audio_jack_class; +extern JSFunctionSpec js_audio_jack_methods[]; // GoomLayer extern JSClass goom_layer_class; extern JSFunctionSpec goom_layer_methods[]; +#endif // CamLayer #ifdef WITH_V4L @@ -192,9 +199,6 @@ extern JSFunctionSpec txt_layer_methods[]; #ifdef WITH_FFMPEG extern JSClass video_layer_class; extern JSFunctionSpec video_layer_methods[]; -#else -extern JSClass movie_layer_class; -extern JSFunctionSpec movie_layer_methods[]; #endif #ifdef WITH_OGGTHEORA @@ -206,10 +210,6 @@ extern JSClass js_shouter_class; extern JSFunctionSpec js_shouter_methods[]; #endif -// Audio collector -extern JSClass js_audio_jack_class; -extern JSFunctionSpec js_audio_jack_methods[]; - // XGrabLayer JS(js_xgrab_constructor); @@ -370,6 +370,12 @@ JS(vscroll_layer_speed); JS(vscroll_layer_linespace); JS(vscroll_layer_kerning); +#ifdef WITH_SOUND +////////////////////////////////// +// Audio collector methods +JS(js_audio_jack_add_output); +JS(js_audio_jack_get_harmonics); +JS(js_audio_jack_fft); //////////////////////////////// // Goom Layer methods JS(goom_layer_mode); @@ -380,6 +386,7 @@ JS(goom_layer_plane); JS(goom_layer_wave); JS(goom_layer_hypercos); JS(goom_layer_noise); +#endif #ifdef WITH_V4L //////////////////////////////// @@ -435,21 +442,7 @@ JS(stream_homepage); JS(stream_description); #endif -////////////////////////////////// -// Audio collector methods -JS(js_audio_jack_add_output); -JS(js_audio_jack_get_harmonics); -JS(js_audio_jack_fft); - -/* TODO: shouter class -JS(set_shout_host); -JS(set_shout_port); -JS(set_shout_pass); -JS(set_shout_mountpoint); -JS(set_shout_name); -*/ - -/* avifile now removed +/* #ifdef WITH_AVIFILE //////////////////////////////// |

