Updated according to development.

This commit is contained in:
Eric Pouech 1998-11-24 18:54:18 +00:00 committed by Alexandre Julliard
parent 65ae1b5982
commit 8a4333e8b5
1 changed files with 20 additions and 10 deletions

View File

@ -8,6 +8,10 @@ can be found in the multimedia/ subdirectory.
The multimedia stuff is split into 3 layers. The lowlevel (device drivers), The multimedia stuff is split into 3 layers. The lowlevel (device drivers),
midlevel (MCI commands) and highlevel abstraction layers. midlevel (MCI commands) and highlevel abstraction layers.
The lowlevel may depend on current hardware and OS services (like OSS).
Mid-level and high-level must be written independantly from the hardware and OS
services.
1. Lowlevel layers 1. Lowlevel layers
Following lowlevel layers are implemented: Following lowlevel layers are implemented:
@ -73,7 +77,7 @@ midlevel (MCI commands) and highlevel abstraction layers.
- have a look at OPL/3 ? - have a look at OPL/3 ?
- a hack is used in mmsystem.c (setting reserved to the 32 bit linear - a hack is used in mmsystem.c (setting reserved to the 32 bit linear
address of the block whatever the call is made from 16 or 32 bits address of the block whatever the call is made from 16 or 32 bits
code...). this should be in midi.c I think code...). this should be made in midi.c I think
1.4 Timers 1.4 Timers
@ -131,16 +135,16 @@ midlevel (MCI commands) and highlevel abstraction layers.
The functions there (mciOpen,mciSysInfo) handle midlevel driver The functions there (mciOpen,mciSysInfo) handle midlevel driver
allocation and calls. allocation and calls.
The implementation is not complete, but works for most cases. The implementation is not complete.
Win32 support for mciSendCommand is missing (mciSendString works
in the Win32 case, since the use of strings doesn't differ between
win16 and win32).
TODO: TODO:
- Win32 support
- support windows MCI drivers (should be possible for they usually - support windows MCI drivers (should be possible for they usually
do not use lowlevel calls) do not use lowlevel calls)
- MCI command loading support - MCI command loading support
- better implement non waiting command (without the MCI_WAIT flag).
First shot is present in midi.c but requires much more work (and
will impact sndPlaySound() as well which shall be written as
as set of MCI commands).
- implement other stuff as yet unknown - implement other stuff as yet unknown
WINE implements several MCI midlevel drivers: WINE implements several MCI midlevel drivers:
@ -161,7 +165,8 @@ midlevel (MCI commands) and highlevel abstraction layers.
2.2 MCIWAVE 2.2 MCIWAVE
The implementation is rather complete and can be found in multimedia/audio.c. The implementation is rather complete and can be found in
multimedia/audio.c.
It uses the lowlevel audio API (although not abstracted correctly). It uses the lowlevel audio API (although not abstracted correctly).
FIXME: The MCI_STATUS command is broken. FIXME: The MCI_STATUS command is broken.
@ -169,12 +174,13 @@ midlevel (MCI commands) and highlevel abstraction layers.
2.3 MIDI/SEQUENCER 2.3 MIDI/SEQUENCER
The implementation can be found in multimedia/midi.c. I am not sure The implementation can be found in multimedia/midi.c. Except from the
about the completeness. Record command, should be close to completion (except for non blocking
It uses the lowlevel midi driver and is probably broken too. commands).
TODO: TODO:
- implement it correctly - implement it correctly
- finish asynchronous commands
2.4 MCIANIM 2.4 MCIANIM
@ -183,3 +189,7 @@ midlevel (MCI commands) and highlevel abstraction layers.
TODO: TODO:
- implement it, probably using xanim or something similair. Could - implement it, probably using xanim or something similair. Could
also be implemented by using the Windows MCI video drivers. also be implemented by using the Windows MCI video drivers.
3 High-level layers
The rest (basically the MMSYSTEM and WINMM DLLs entry points.