'''[http://www.libsdl.org/%|%Simple Directmedia Layer]''' is a cross-platform [C] library providing access to audio, keyboard, mouse, joystick, and graphics hardware via [OpenGL]. This is great stuff for [game development%|%writing games]. ** See Also ** [BOOK Programming Linux Games]: Available online, includes a large chapter on programming in SDL. [The Aries Engine]: A game engine implemented using SDL. [http://techtinkering.com/2012/06/26/embedding-an-sdl-surface-in-a-tk-window/%|%Embedding an SDL Surface in a Tk Window], by [Lawrence Woodman]]: ** Description ** Currently, [Neil Madden] is working on a simple binding of SDL for Tcl. This will be pretty much a direct mapping of the SDL API to Tcl (but following Tcl's conventions). This will be mostly useful for scripting SDL components written in C, but you could write stuff in Tcl if you can live with the performance hit, or for prototyping. [Kristoffer Lawson] is working on a higher level binding for Tcl, called [Oil], which is directed at games and other multimedia presentations, that are scripted in Tcl. [tclsdl] is another project that links the SDL and Tcl event loops together to let Tcl control an SDL surface. [[http://code.google.com/p/tclsdl/]] There is a certain amount of overlap in these projects and hopefully effort can be made to merge parts. ---- Other media libraries it would be nice to have in Tcl: [OpenAL] - a 3D sound library, useful for effects. I don't think [Snack] has spatial sound. ** Other Bindings ** * What about [Kent Mein]'s TclDemo at http://www.libsdl.org/projects/tcl-demo/ ? * [Jim] has some [SDL] and '''SDL_Glx''' binding in the current distribution. Check [Jim Extensions] for example and screenshot. * [Tcl3D] wraps the Audio and CD related portions of the SDL library. It also has some demonstration programs [http://www.tcl3d.org/cgi-bin/demolist.tcl?dir=LibrarySpecificDemos/tcl3dSDL] using SDL. * [The brick engine] uses SDL as well and exposes part of the SDL API to Tcl. * Tim Baker also had done a Tk backend in SDL, look here: http://members.shaw.ca/tnbaker/SDLTk/ A slightly updated version of SDLTk running on Linux (EL5 packages, can be rebuild on EL6 and maybe Fedora) can be downloaded from [http://www.ch-werner.de/sdltk]. In combination with an enhanced SDL library with a VNC video driver supporting libvncserver-0.9.9 SDLTk can display in a recent web browser (support for HTML5 Canvas and WebSockets is needed, e.g. Firefox, Chrome) using http://novnc.com as shown here: [http://www.ch-werner.de/sdltk/sdltk-in-browser.png] * Tim Baker's initial work served as a building block for [AndroWish], a Tcl/Tk port for the [Android] platform. Parts of [AndroWish] have been "back-ported" to the Windows platform as http://www.androwish.org/index.html/wiki?name=undroidwish%|%undroidwish%|%. * [Lawrence Woodman] has created a demo showing how to embed an SDL surface in a Tk window. The demo is on https://github.com/LawrenceWoodman/sdl_and_tk_demo/%|%GitHub%|% and he has written an article on how to do this: http://techtinkering.com/2012/06/26/embedding-an-sdl-surface-in-a-tk-window%|%Embedding an SDL Surface in a Tk Window%|%. * http://sourceforge.net/projects/sdltk.berlios/ ---- LMBOX [http://www.crystalballinc.com/vlad/software/lmbox/] is an application framework for multimedia desktops or computer-based set top boxes which uses SDL via Eboxy [http://eboxy.sourceforge.net/]. (eboxy is a small Linux application for building user interfaces for set-top boxes, suitable for use on a TV. It reads an XML file describing a simple GUI consisting of pages and widgets, and displays it on the screen.) LMBOX features an embedded Tcl interpreter which allows binding of all events to Tcl scripts. [http://www.crystalballinc.com/vlad/software/lmbox//genre.png] [http://eboxy.sourceforge.net/images/screenshots/eboxynew-2.png] <> Glossary | Graphics | Multimedia