Commit Graph

250 Commits

Author SHA1 Message Date
Eric Pouech 1d1a6bb4a7 small range fixes for OSS driver
changed to the new debug channel interface
1999-05-03 09:43:30 +00:00
Eric Pouech 54e4ba048a first (working) shot at OSS mixer low level interface
changed to the new debug channel interface
1999-05-03 09:26:48 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Michael Veksler 92ae219e04 Removed redundant include of winbase.h from winuser16.h.
Moved types from winbase.h to winuser16.h .
1999-05-02 11:39:09 +00:00
Eric Pouech 281c927317 - got rid of all the internal MM tweaks to load builtin MCI
drivers. They are all seen as drivers, loaded as DLLs and standard
  module loadorder is used to know which type to use (builtin vs
  native).
- first full working implementation of mmThread??? functions (to
  support gracefully native MCI drivers).
- support of mmShowMMCPLPropertySheet.
- fix of some heap validate bugs (thanks to Ulrich for reporting them).
1999-05-02 10:21:49 +00:00
Marcus Meissner 89b1fc98ff MCI_ANIM_OPEN_PARMSW should be LPCWSTR, MCI_DefYieldProc should be WINAPI. 1999-05-01 10:39:28 +00:00
Ove Kaaven 819791ba0a Don't malloc/free for every mixing operation, use the same buffer over
instead...
1999-04-24 11:53:38 +00:00
Patrik Stridvall 0f8bc5b5c7 Fixed ANSI compabillity. 1999-04-22 16:27:50 +00:00
Michael Veksler ff5ae3dd65 Removed some includes of 16 bit API. 1999-04-22 15:26:11 +00:00
Eric Pouech 25ec27abea Fixed playing position when required by track number. 1999-04-19 16:26:27 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Eric Pouech b1ec5bcae2 Reduced fragment size.
Reorganized wodOpen (with support for WAVE_QUERY_FORMAT).
Fixed buffer underrun recovery.
Fixed bug in wodReset()/wodClose().
1999-04-18 09:30:54 +00:00
Eric Pouech 08004ac368 Added event callback mechanism.
Introduction of MCI yield procs.
Updated (prepare|unprepare)header functions (wave, midi) to allow
correct callback mechanisms.
Made midiStreamXXX functions working.
First try at mmThreadXXX functions.
1999-04-11 12:21:23 +00:00
Eric Pouech ec301db50b Updated (prepare|unprepare)header functions to allow correct callback
mechanisms.
1999-04-11 12:20:08 +00:00
Eric Pouech 1dc1a253e3 Small enhancement. 1999-04-11 12:19:04 +00:00
Eric Pouech afc94f4536 New method for structure conversion (16 <-> 32).
More MCI structures correctly mapped.
Introduction of MCI yield proc and break facility.
1999-04-11 12:17:53 +00:00
Eric Pouech a731fcc8f8 Updated (prepare|unprepare)header functions to allow correct callback
mechanisms.  Implemented waveOut playback as asynchronous.
1999-04-11 12:16:24 +00:00
Francois Gouget ab13bee49a - updated because of the splitting of interface/implementation
- updated to use ICOM_THIS
1999-04-11 11:56:03 +00:00
Francois Gouget bed8c26cff ICOMisation of the DirectSound API. 1999-04-11 11:51:48 +00:00
Ove Kaaven 1441e03e0c Fixed fake multimedia timers. Grim Fandango is now able to start up
when under favorable conditions. The preview movie on the Brood Wars
disc now plays, too.
1999-04-10 16:27:08 +00:00
Alexandre Julliard f9e030dc3c Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Fixed memory leaks in mixerOpen16/mixerClose,
midiOutOpen16/midiOutClose16, waveInOpen16/waveInClose16,
midiInOpen16/midiInClose16.
1999-04-06 07:01:33 +00:00
Eric Pouech b94ac22f16 mmioOpen() now handles correctly MMIO_PARSE flag. 1999-04-03 11:17:31 +00:00
Eric Pouech 4e65995b16 Starting implementation of MCI creator tasks
Fixed bug in MCI_OPEN handling (thanks to Adam for reporting this one)
Better implementation of mmTaskCreate16
1999-04-01 10:18:01 +00:00
Alexandre Julliard d604b4bd5b Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Fixed memory leak in waveOutOpen/waveOutClose.
1999-03-28 09:14:56 +00:00
David Luyer cb40df2749 Changed "strings.h" to "string.h". 1999-03-25 15:52:09 +00:00
Eric Pouech 9b5d49226d Started calling mixer as a 32 bit low level driver (no longer 16 bit)
Added support for yield proc in mci struct
Added mmTaskXXX16 and mmThreadXXX16 functions
Refreshed implementation of 16 bit native & asynchronous MCI driver
command (through mmtask.tsk).
1999-03-22 14:51:24 +00:00
Eric Pouech 31c286658b Fixed a few bugs. Started implementing mixerMessage as a 32 bit
function (no longer 16 bit).
1999-03-22 14:50:38 +00:00
Eric Pouech af524f54c0 Implemented mciExecute. 1999-03-22 14:50:08 +00:00
Eric Pouech 7081395019 Added yield proc members to mci struct. 1999-03-22 14:49:31 +00:00
Eric Pouech b2ad2439ef Fixed some bugs in MCI message mapping (32A => 16). 1999-03-19 17:00:02 +00:00
Marcus Meissner 6b9dd2e098 Lots of warning fixed, one missing WINAPI in ddraw.c added. 1999-03-18 17:39:57 +00:00
Eric Pouech a9ffdcf903 Moved all MCI internal functions/variables/macros to mci.c.
Changed some interface names.
1999-03-15 15:42:26 +00:00
Eric Pouech efba9f8079 Make use of digitalv.h file. 1999-03-15 15:40:27 +00:00
Eric Pouech 8e361310ba Changed how list of loadable MCI drivers is obtained. 1999-03-15 15:38:36 +00:00
Eric Pouech b874293530 Cosmetic fixes. 1999-03-15 15:16:13 +00:00
Eric Pouech d6bbbeb990 Makes use of new CDAUDIO_Seek() function. 1999-03-15 15:15:29 +00:00
Jim Aston 2e1cafa288 Renamed wintypes.h to windef.h. 1999-03-14 16:35:05 +00:00
Marcus Meissner bb3bdbf059 Some fixes and additions. 1999-03-13 18:08:32 +00:00
Marcus Meissner de43ef45ec Fixed a lot of warnings using WINE_UNUSED, casts, commenting out and
additional {}. Rewrote GetCreationModeFromSTGM so we don't get
"possible use of uninitialized variable".
1999-02-28 19:56:59 +00:00
Marcus Meissner 21903aebe0 Added missing <sys/types.h>. 1999-02-28 19:42:18 +00:00
Marcus Meissner 064f170f76 More include optimisations and fixes. 1999-02-28 19:14:33 +00:00
David Luyer ee517e863e - fixed missing stdlib.h and string.h includes everywhere
- removed a couple of unneeded stdlib.h and stdio.h includes
1999-02-28 12:27:56 +00:00
Marcus Meissner 664c2727cf Some Solaris fixes. <resolv.h> needs <arpa/nameser.h>, sig_context.h
needs to define HANDLER_CONTEXT, wctype.h does not like 'wsprintf'
defined, msdos/dpmi.c needs "stackframe.h" too, and multimedia/dsound.c
needs "winuser.h".
1999-02-28 11:23:44 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Marcus Meissner 61afa33b03 Some more recursive include fixes/optimizations. 1999-02-22 10:16:00 +00:00
Michael Veksler 3fbb8dc829 - Fix headers to include less or smaller header files.
- Fix header and source files to include missing header files to avoid
  warnings and errors.
1999-02-21 18:23:26 +00:00
Marcus Meissner 9a73d86723 mmioDescend: debugoutput enhanced, FINDLIST/FINDRIFF should Check the
correct ckid (LIST/RIFF) too. (verified against mciavi32.dll)
1999-02-20 16:08:23 +00:00
Francois Gouget b8cfd179d1 Changed the first parameter from LPGUID (Windows headers) to REFGUID.
This makes it a 'const GUID*' which means DirectSoundCreate must not
change it.
1999-02-19 09:58:41 +00:00
Marcus Meissner 92e2cbb2db Removed superflous WINAPI (mismatch with prototype) in *_DriverProc32. 1999-02-18 15:52:50 +00:00
Marcus Meissner 72f12e7285 mmioDescend: fixed FIND_xxxx, verified with mciavi32.dll.
mciLoadCommandResource32: second arg is wide string
mciGetDriverData: spec has just one long argument
1999-02-17 16:10:17 +00:00
Francois Gouget 452db3f18a Changed ICOM_THIS definition. 1999-02-17 15:57:24 +00:00
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Brian Joseph Czapiga 5ef8b175c0 Fixed a few #ifdefs. 1999-02-14 13:35:52 +00:00
Eric Pouech e518cba579 Fixed bugs on MCI notification (callback info are copied before
asynchronous return) - make use of it in MCI wave and midi.
Implemented mci(Set|Get)DeviceID(16|32) functions.
1999-02-14 11:26:34 +00:00
Marcus Meissner fb0192236b Some ddraw/d3d bugfixes, updated Diablo/WC4 ddraw status. 1999-02-14 09:25:37 +00:00
Eric Pouech c11b167f62 Added support for MCI AVI driver
Added some fixes mixer functions
Fixed MCI string comparison (thanks to Lionel ULMER)
No longer using 16 bit USER functions (use their 32 bit counter part)
Reindenting.
Added function sndPlaySound32W
1999-02-13 12:38:09 +00:00
Andreas Mohr 21149d0943 Fixes mixerGetID16/32 problems/errors. 1999-02-11 13:17:00 +00:00
Francois Gouget 20570b1738 IsEqualGUID is defined in 'include/wine/obj_base.h'. All other
declarations must surrender or prepare to be met with deadly force :-)
1999-02-11 13:05:22 +00:00
Francois Gouget 93217c6056 Better set of macros for defining the COM interfaces. 1999-02-10 06:42:03 +00:00
Ove Kaaven 4d713f97e0 Sounds were cut off due to integer overflow. Fixed. 1999-02-09 14:05:51 +00:00
Marcus Meissner 676a513524 Updated msvideo / vfw.h, use builtin msvfw32.dll by default, added
aviinfo and aviplay programs.
1999-02-05 09:41:55 +00:00
Eric Pouech d4926497aa Fixed tracks indexing in mcicda.c
Make use of new Wine internal CD ROM interface.
1999-02-02 15:25:16 +00:00
Andreas Mohr cb1f2c43f2 Fixed error messages. 1999-01-30 15:52:50 +00:00
Marcus Meissner 32b32d8f3d Updated msvideo. New program 'icinfo [-about] [-configure]' to
query installed (win32) compressors. Started on AVIFILE support.
1999-01-29 15:12:10 +00:00
Peter Hunnisett 9266004f63 - Small bug fix.
- Added direct play ascii interfaces.
- Fixed up the QueryInterface for dplay and dplaylobby to handle all cases.
1999-01-28 17:36:51 +00:00
James Juran c2a1063940 Commented out unused variables to prevent needless compiler warnings. 1999-01-28 16:33:44 +00:00
Marcus Meissner 03479f8adb Fixed a lot of warnings for possible problems. 1999-01-28 10:06:38 +00:00
Geoff Clare b02f65d5b7 Several internal functions won't compile when the conditional
#if defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__)
comes out false.  I moved the conditionals around so that
the file would at least compile.  Not sure if it does the
right thing on non-linux/FreeBSD/NetBSD systems.
1999-01-24 19:04:34 +00:00
Rob Riggs 689b9f8993 Fixed duplicate sound buffer handling. Updated status. 1999-01-23 12:19:34 +00:00
Alexandre Julliard 8da12c43a9 Group commit for recovery after disk crash.
See Changelog for changes WRT release 990110.
1999-01-17 16:55:11 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Lionel Ulmer 5ff007747f - beginning of implementation of Direct3D2 (DX 5.0) and associated classes
- some basic code for Direct3D and Direct3DExecuteBuffer (DX 3.0)
- added stretching to Blt function
1999-01-03 17:00:19 +00:00
Ove Kaaven ed80878377 Reading joystick 5 when we only support 4 should fail instead of
hang.
1999-01-03 12:28:03 +00:00
Ove Kaaven d4fb05707a Playing a non-existent CD should fail instead of crash. 1999-01-03 12:27:28 +00:00
Michael Veksler ca1bc866cf Moves more stuff from windows.h.
- include/winuser.h - interface relevant to user32.spec
- include/wine/winuser16.h - the old 16 bit interface (internal use)
- include/winbase.h - some minor updates to keep things coherent.
- Lot of other files made to include wine/winuser16.h, which is no
  longer included from windows.h
1999-01-01 18:57:33 +00:00
Marcus Meissner 73458b03cd Changed // comments to /* */ so WINE compiles with non-gcc compilers
again.
1998-12-26 12:54:29 +00:00
Peter Hunnisett 92cbc1d343 Added macros to header file for easier function calling.
Changed implementation a little bit.
Added stubs for dplay3. Still need to break into A and W versions.
1998-12-24 16:27:46 +00:00
Alexandre Julliard fe4038ab3c #elif -> #else 1998-12-24 14:26:41 +00:00
Eric Pouech 4d6248baf1 Changed error values MCI_INTERNAL to their correct values. 1998-12-18 15:13:57 +00:00
Eric Pouech 024d194d5a Removed warning. 1998-12-18 15:08:39 +00:00
Eric Pouech 007a2d6525 No longer sending directly messages to DriverProc but rather go through
MCI layer (required for open/close).
1998-12-18 15:07:18 +00:00
Eric Pouech fdae503e63 Removed incorrect patch for MCI_OPEN anc MCI_CLOSE parameters (thanks to Robert Riggs
for pointing out the bug, see the fix in mcistring.c)
Fixed MCI seeking on CD audio.
1998-12-18 15:05:25 +00:00
Todd Vierling ecc7669dfc - add -lossaudio if needed, and a check for <soundcard.h>, to configure.in
(run autoconf after this).  Note that the check has been altered to break
  out of the AC_CHECK_HEADERS after the first match - this is so
  <sys/soundcard.h>, if found on NetBSD (a `real' OSS), will not conflict
  with the emulated ossaudio.
- check for <soundcard.h> along with the other two in a mutually-exclusive
  manner in the various *.c files that need it; change include of
  "mmsystem.h" to "multimedia.h" so this logic is all in one place
- change mcicda.c to allow for CD audio manipulation on NetBSD.  This
  includes:
  * changing ioctl() calls to be NON-SPLIT with exactly 3 args; on NetBSD
    ossaudio, ioctl() is #defined to be _oss_ioctl by <soundcard.h>, and
    neither splitting with #-directives nor a two-arg ioctl work;
  * changing the #if logic to allow both FreeBSD and NetBSD to share the
    appropriate code blocks
- block out MIDI code for NetBSD (init.c) and/or missing SNDCTL_MIDI_INFO
  (midi.c, mcimidi.c).  NetBSD's OSS emulation does not (yet) support MIDI.
Thanks go to mycroft@netbsd.org for the 99% bulk of this work.
1998-12-15 17:49:02 +00:00
Robert Riggs 4751a509e8 Accept MCI_OPEN and MCI_CLOSE messages in MCICDAUDIO_DriverProc32(). 1998-12-10 09:03:00 +00:00
Marcus Meissner d5e7c7927c Some unnecessary #include and messages removed. 1998-12-09 11:06:00 +00:00
Brian Gerst 33839e9963 Properly implement MCI_CDA_STATUS_TYPE_TRACK.
Fix an off-by-one bug with MCI_STATUS_LENGTH.
1998-12-08 10:34:58 +00:00
Robert Riggs f0fa956384 More general code cleanup for readability.
A few more parameter validation checks.
Return DS_OK rather than 0 in a number of functions.
Fixed primary buffer ref count bug in CreateSoundBuffer().
Handle 1-3 byte sound fragments that would cause buffer overruns.
Clear primary buffer with a neutral value instead of always 0
(because 128 is neutral for 8-bit sound).
Fix bug with mixing 8-bit sound into the primary buffer.
Broke out the main block in DSOUND_thread() to another function for
readability.
Handle "no audio" and "audio busy" cases properly when initializing
dsound. Rename DllCanUnloadNow() to DSOUND_DllCanUnloadNow().
1998-12-07 12:13:01 +00:00
Andreas Mohr 59ae7d94ea Fixed a heap bug. 1998-12-07 10:56:40 +00:00
Robert Riggs b9950124a1 Fixed 8-bit WAV format handling (it is unsigned data).
Fixed off-by-one checks for buffer wrap.
Increment ref count for primary buffer in CreateSoundBuffer().
Added DSBPN_OFFSETSTOP support to position notification code.
Lots of minor parameter validation checks.
Stubs for: IDirectSound_initialize(), IDirectSound_Compact(),
and IDirectSound_GetSpeakerConfig().
Fixed freq shifting with 16-bit data problem, fixed 8bit<->16bit
conversion.
Lots of thread locking for DirectSound buffers.
Dealloc primary buffer when dsound is deallocated.
1998-12-01 12:57:31 +00:00
Eric Pouech 40c7c4f371 Fixed memory/status recovery when error occured in MIDI_mciOpen.
Fixed support for RMID files in MIDI_mciOpen.
Fixed bug for playing MIDI files with tempo changes. Sound output is
now correct, but length of tracks (and therefore of whole file) is not
correct.
Changed error values (INTERNAL => INVALID_FILE) when file cannot be read.
1998-12-01 08:28:43 +00:00
Eric Pouech 95bce834ca Fixed memory/status recovery when error occured in WAVE_mciOpen.
Changed error values (INTERNAL => INVALID_FILE) when file cannot
be read.
1998-12-01 08:27:22 +00:00
Juergen Schmied c8a213a2b6 Stubs for MCIWndCreate[A|W]. 1998-12-01 08:26:45 +00:00
Marcus Meissner 1ff1f7d15f Implemented class factory for dsound. 1998-11-30 11:07:11 +00:00
Eric Pouech 4fa77ce4a1 Moved MCI part to mcimidi.c ; added DriverProc. 1998-11-24 18:31:43 +00:00
Eric Pouech f33f7d2b4c Moved MCI part to mciwave.c ; added some error checking ; added
DriverProc
1998-11-24 18:24:47 +00:00
Eric Pouech 221a0b8d06 Added mcimidi and mciwave. 1998-11-24 18:13:12 +00:00
Eric Pouech 41274f0ce5 Fixed bug in MCI_INFO command ; fixed pause/resume commands ; fixed
seek command.
1998-11-24 17:30:37 +00:00
Eric Pouech b0a64e3a4b Starting writing MCI part ; fixed bug in MCI_INFO command. 1998-11-24 16:36:18 +00:00
Eric Pouech c6d65e06d2 Added some missing stubs in 32 bit part. 1998-11-24 15:27:43 +00:00
Eric Pouech 22c339fdff Made use of new 16/32 MCI message handling in mmsystem.c. 1998-11-24 15:08:41 +00:00