PLM Software Multimedia Tools and Games

PLMMedia

PLMMedia Library version 0.20

Description

PLMMedia is the second library in the PLM Libs series. Its main goal is to provide simple and low-level classes to access hardware or system components, such as the screen (graphics output), the mixer (audio output), or the keyboard and the mouse (input events), all of this in a portable way (platform-independance), thanks to SDL.

Here is a quick list of all classes, with a short description:

Graphics:

  • PLMScreen: the main 2D output class, use it to create a fullscreen output or a simple window, to blit images to, to save screenshots, ...
  • PLMVideoMode: a very simple object to ask the video driver for available resolutions.

Audio:

  • PLMMixer: the audio output class, can mix audio channels to play sounds and musics, many settings available (sample rate, bits per sample, mono/stereo),
  • PLMSound: a simple sound to be played by the mixer, (WAV, AU, AIFF and OGG formats),
  • PLMMusic: a streamed sound loaded on demand (WAV, AU, AIFF and OGG formats).

Input:

  • PLMInput: a singleton class to get all the system and input events, managed in a queue,
  • PLM*Event: a series of structures returned by PLMInput, one for each event type (keyboard, mouse, joystick, system).
  • PLMKeyCode: a complete list of key codes, to use in your program to compare with events code.

Other classes:

  • PLMTimer: a class to get the current system time, in ticks, compute time differences, and stop the program for some time (wait).
  • PLMSDLMgr: a low-level class to manage the SDL library and its components (to properly initialise and shut down them). All the classes that need SDL, inherits from it.
Tools

Some basic tools are released with PLMMedia to help developers to use and create resources for their applications. These tools are all command-line tools.

  • plmfont: to get informations about a font, and to build new fonts (from an image and a description file),
  • plmres: the resource manager, to build archives from data files,
  • plmlang: to create language files to use with PLMTransalator, from message files.

Examples

You will also find some examples with the library to illustrate its main capabilities... The main classes used in each example at the end, between brackets ().

  • image: simple program to load image files and display them (PLMImage, PLMScreen, PLMInput).
  • screen2D: example to illustrate 2D drawing methods of PLMScreen (PLMImage, PLMFont).
  • input: simple program to test input events (keyboard, mouse), print main event fields (PLMInput).
  • sound: example to load and play one sound file (PLMMixer, PLMSound, PLMMusic).
  • mixer: to test the configuration manager, you can set user options, from a config file, a default static value or command line arguments.
 Download

OSI certifiedOpen Source

Note that the following packages are released under the GNU LGPL license (Lesser General Public License).

Package Size Date Notes
Linux library 207.2 k 26 Oct 2004 TGZ, Development package (headers + libs)
Windows library 271.8 k 26 Oct 2004 ZIP, Development package (headers + libs)
Documentation 418.0 k 26 Oct 2004 ZIP, HTML documentation (doxygen)
Sources 645.5 k 26 Oct 2004 TGZ, Linux/Windows sources (contains PLMBase, PLMMedia, PLM3D)

Copyright 2001-2004 PLMSoft All rights reserved. (last mod.: 15 Oct 2004)