"IOProcs" are input/output procedures. MMPM/2 uses these things to be able
to understand various file formats and storage types.
IOProcs are really a very abstract concept and hard to understand.
Basically, this concept allows MMPM/2 to understand new media formats without
a programmer having to rewrite MMPM/2 together. So to make all &os2; applications
understand a new media format, one "only" has to write an IOProc. These must
reside in a
DLL
and then get registered with MMPM/2 through the MINSTALL program.
IOProcs can either read files, or write them, or both, depending on how lazy
the programmer was.
The "FourCC" stands for "four-character code" and is used to correlate
an IOProc to a file format and to find a codec for an IOProc, if necessary. See
the next page for details.
There are several "IOProc types":
- "File" IOProcs handle a certain file format. These are used to open
and interpret a file. See the various media types below.
- "Storage" IOProcs are a special type which allow the MMPM/2 file
interfaces to be very generic. Since IOProcs can be organized into layers, certain
IOProcs can call other IOProcs if they don't understand the file format themselves
or need some other assistance. For example, the "File" format IOProcs call the
"Storage" IOProcs in turn to actually access a file. As a result, the same file
IOProc can be used to handle data on disk or in memory, depending on the storage
IOProc being used.
With "file" IOProcs, there are three main media types:
- Audio is for audio files, obviously. Note that with audio
files, IOProcs only handle the file format (e.g.
.WAV
), but not
the contents of the file.
Most audio files are compressed, so to actually understand the file contents, MMPM/2
also needs a codec for the file. See the next page for details.
- Movie is for video files. Same as with audio files, MMPM/2 needs codecs
to be able to handle the file's contents. See the next page for details.
- Image IOProcs handle image (bitmap) files. This has been greatly
enhanced with Warp 4, which comes with IOProcs for the most common image file types.
Some are still missing though, and some of the implementations are a bit shaky.
(Try saving a 20 MB compressed TIFF file with the Warp 4 image editor).
As opposed to the previous two types, no codecs are involved when handling image files.