This commit is contained in:
Eric Pouech 1999-03-15 15:42:51 +00:00 committed by Alexandre Julliard
parent a9ffdcf903
commit 5df640ded4
1 changed files with 28 additions and 5 deletions

View File

@ -40,7 +40,7 @@ services.
- check the callback functions - check the callback functions
- verify all functions for correctness - verify all functions for correctness
- add drivers for other soundsystems (Sun Audio, remote audio systems - add drivers for other soundsystems (Sun Audio, remote audio systems
(using X extensions, ...) (using X extensions, ...), ALSA
1.2 Mixer 1.2 Mixer
@ -67,13 +67,15 @@ services.
driver is checked by configure (depends on the <sys/soundcard.h> file). driver is checked by configure (depends on the <sys/soundcard.h> file).
Both Midi in and Midi out are provided. The type of MIDI devices supported Both Midi in and Midi out are provided. The type of MIDI devices supported
is external MIDI port (requires an MIDI capable device - keyboard...) and is external MIDI port (requires an MIDI capable device - keyboard...) and
OPL/2 synthesis (the OPL/2patches for all instruments are in midiPatch.c). OPL/2 synthesis (the OPL/2 patches for all instruments are in midiPatch.c).
TODO: TODO:
- Do not implement a software synthesizer. This should be done - Do not implement a software synthesizer. This should be done
using MIDI loopback devices in an external program (like timidity). using MIDI loopback devices in an external program (like timidity).
the only trouble is that timidity is GPL'ed... the only trouble is that timidity is GPL'ed...
- use better instrument definition for OPL/2 (midiPatch.c) - use better instrument definition for OPL/2 (midiPatch.c) or
use existing instrument definition (from playmidi or kmid)
with a .winerc option
- 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
@ -137,6 +139,20 @@ services.
The implementation is not complete. The implementation is not complete.
There is a first shot at using native (MS provided) MCI
drivers. For this to work, there are two .winerc options to be
used:
- key 'mci' in [option] section
mci=CDAUDIO:SEQUENCER
gives the list of MCI drivers (names, in uppercase only) to
be used in WINE. This list, when defined, supercedes the mci
key in c:\windows\system.ini
- key 'mciExternal' in [option] section
mciExternal=CDAUDIO
gives the list of MCI drivers to be loaded from Windows
installation. Since, drivers are DLLs, drivers are searched
(and loaded) as DLLs are.
TODO: TODO:
- 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)
@ -146,6 +162,8 @@ services.
will impact sndPlaySound() as well which shall be written as will impact sndPlaySound() as well which shall be written as
as set of MCI commands). as set of MCI commands).
- implement other stuff as yet unknown - implement other stuff as yet unknown
- in mciString(), make use of hiword from mciSendMessage
return value to convert value into string...
WINE implements several MCI midlevel drivers: WINE implements several MCI midlevel drivers:
@ -154,12 +172,17 @@ services.
The currently best implementation is the MCI CDAUDIO driver that can The currently best implementation is the MCI CDAUDIO driver that can
be found in multimedia/mcicda.c. The implementation is mostly complete, be found in multimedia/mcicda.c. The implementation is mostly complete,
there have been no reports of errors. there have been no reports of errors.
The implementation currently uses only the Linux /dev/cdrom controlling
functions. (Sun and BSD like should be similair, but are not implemented.) It makes use of misc/cdrom.c Wine internal cdrom interface. This
interface has been ported on Linux, FreeBSD and NetBSD.
(Sun should be similair, but are not implemented.)
A very small example of a cdplayer consists just of the line A very small example of a cdplayer consists just of the line
mciSendString("play cdaudio",NULL,0,0); mciSendString("play cdaudio",NULL,0,0);
Native MCICDA is starting to output sounds... It uses the mscdex
traps (on int 2f).
TODO: TODO:
- add support for other cdaudio drivers - add support for other cdaudio drivers