WMRECORD(1)

NAME
WMRecord - General Purpose Recording Utility for Linux

SYNOPSIS
wmrecord [-d <dsp>] [-m <mixer>] [-h]

DESCRIPTION

WMRecord is a general purpose recording utility for Linux systems running X11, currently using the Open Sound System (OSS) to access the audio subsystem. The interface is designed to work in conjunction with WindowMaker's Dock or AfterStep's Wharf, two popular window managers for the X Window System. An alternative interface incorporating a more general purpose GUI toolkit is planned but not imminent.

WMRecord was originally conceived as a tool for recording memos, interviews and meetings, and this approach is reflected somewhat in the interface. Recordings are made to one of 99 numbered slots or tracks which the user may browse through. There is no limit (other than the constraints of the file system) to the size of recording you make. Recordings are automatically saved to disk, but may be erased or recorded over as necessary.

The user may select the input source, line quality and bit rate of the recording as well as determining whether or not to record in stereo. All settings are automatically saved by the program, so there need be no fiddling with configuration files in order to manipulate the settings.

Version 1.0.5 now uses the WAVE file format for recording samples. This should allow users to import recordings into other applications and therefore increase the usefulness of WMRecord. However, recordings made with version 1.0.0 will no longer be playable with the new release.

OPTIONS

By default, WMRecord uses the devices /dev/dsp and /dev/mixer to manipulate the audio hardware. There is currently no way to change this from the interface, but it is possible to override these settings at the command line using the following switches:

-d <dsp>
    Set the DSP audio device.

-m <mixer>
    Set the Mixer device.

The main display area of the interface shows the length of the recording in seconds (or in playback mode, the number of seconds elapsed), the recording source (icons representing either a microphone, a line jack or a CD) and the sample rate. Two green LEDs represent mono or stereo mode and two red LEDs represent 8-bit or 16-bit sound quality.

Directly underneath are the Record, Stop and Playback buttons and underneath that is the track selection which comprises a display of the current track number, Previous Track and Next Track buttons, and the Erase track button. Using the right mouse button on the Previous and Next track buttons changes the volume.

Arranged from top to bottom on the right hand side of the interface are controls for selecting the Input Source (either Mic, Line or CD), the Sample Rate (either 8000, 11025, 22050 or 44100), the Mono / Stereo toggle and the 8-bit / 16-bit toggle.

FILES

All files are stored in the directory $HOME/.wmrecord. Recordings are listed "rec01.wav" ... "rec99.wav", while the configuration file is called "wmrecordrc".

CAVEATS

WMRecord uses the OSS (Open Sound System) as its interface to the audio hardware. WMRecord also assumes that samples are little-endian. As such, this means that WMRecord is probably limited to the x86 architecture.

There is no processing of the recorded audio. This means that there is no noise filtering, and data is written to disk uncompressed.

8-bit data does not appear to be recorded correctly.

There is no more space on the interface for new buttons. *sigh*

CREDITS

The interface is based on an excellent dockapp called WMTune, with the input source icons being taken from another excellent app called WMMixer. Well, I'm not too good at drawing fiddly little things and these applications look great. The sources for WMTune (and other dockapps for that matter) also came with a general purpose dockapp library which I have also used for creating the window and copying pixmaps around. I think that this should be packaged up into a separate library for WindowMaker / Afterstep as it really cuts down the number of hoops you have to jump through in order to please Xlib.

TO BE DONE

-   Find a better way to update the configuration file. Normally I would have left all updates until the program received a signal or a DestroyNotify event but this does not seem to achieve the desired effect in WindowMaker.

-   Implement a method for selecting the dsp and mixer devices without the need for command line switches.

-   Fix the playback timing bug: the playback counter updates more rapidly than the rate at which the recording is being output, unless high quality settings are specified.

-   Allow a user to impose a maximum recording time.

-   A configure script or Imake setup, perhaps?

AUTHOR

Malcolm Cowe <malk@bruhaha.demon.co.uk>