The Advanced Linux Sound Architecture is composed of several parts. The first is a fully modularized sound driver which supports module autoloading, devfs, isapnp autoconfiguration, and gives complete access to analog audio, digital audio, control, mixer, synthesizer, DSP, MIDI, and timer components of audio hardware. It also includes a fully-featured kernel-level sequencer, a full compatibility layer for OSS/Free applications, an object-oriented C library which covers and enhances the ALSA kernel driver functionality for applications (client/server, plugins, PCM sharing/multiplexing, PCM metering, etc.), an interactive configuration program for the driver, and some simple utilities for basic management.
libbgrab is a video4linux grabbing library to facilitate use of framegrabber cards and webcams through a few function calls. To implement constant throughput and to avoid frame loss delays, triple buffering is used through local buffer copying in a separate grabbing thread. The many demo and utility programs included can display live video to X, convert live video to ASCII, smoothly zoom live-video (using Glide), do some image processing (using MMX), and provide a stand-alone webcam image server.
parapin makes it easy to write C code under Linux that controls individual pins on a PC parallel port. This kind of control is very useful for electronics projects that use the PC's parallel port as a generic digital I/O interface. Parapin goes to great lengths to insulate the programmer from the somewhat complex parallel port programming interface provided by the PC hardware, and comes as a user-space C library, or linked as part of a Linux kernel module.
The Qt XInput Extension is a C library adding support for XInput devices (like tablets or joysticks) to Qt-based X11 applications. QXi supports devices with up to six valuator axes in absolute mode, up to 32 buttons, and any number of keys. It is built using autoconf and libtool, and comes with a simple example application.
SANE stands for "Scanner Access Now Easy" and is an application programming interface (API) that provides standardized access to any raster image scanner hardware (flatbed scanner, handheld scanner, video and still cameras, framegrabbers, etc.). The SANE standard is public domain and its discussion and development are open to everybody. The source code is written for UNIX (including Linux) and is available under the GPL, but commercial applications and backends are welcome. The package contains the libraries, net support, and scanimage. The X frontends xscanimage and xcam can be found in sane-frontends.
WinDriver automates and simplifies the development of user-mode Linux device drivers for PCI, CardBus, ISA, PMC, PCI-X, PCI-EXPRESS, and CompactPCI as well as USB 1.1/2.0. No internal OS knowledge or kernel level programming is required. It supports kernel 2.0.31 and above, including embedded Linux, x86 and PowerPC processors, and any 32-bit development environment supporting C or Delphi. Applications are source code compatible across Windows 98/Me/NT/2000/XP/XP Embedded/Server 2003/CE, Linux, Solaris, and VxWorks.
DirectFB is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, an integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.