Commit Graph

205 Commits

Author SHA1 Message Date
Robert Reif
28651e8187 Added more tests and restructured tests for easier debugging. 2003-09-01 23:59:03 +00:00
Robert Reif
5ec32cecf2 Added SecondaryBuffer and DirectSoundCaptureNotify COM objects to get
reference counting right.
2003-09-01 23:58:43 +00:00
Dimitrie O. Paun
4ff79add63 Remove some unneeded __WINESRC__ tests from the headers.
Miscellaneous cleanups and fixes.
2003-08-27 02:07:02 +00:00
John K. Hohm
3af19f3e78 Implement DllRegisterServer and DllUnregisterServer for dsound.dll,
and add OleSelfRegister version string.
2003-08-23 23:03:28 +00:00
Robert Reif
0611f902db Added tests for buffer property sets. 2003-08-20 18:18:39 +00:00
Robert Reif
b805f0f1b7 Split property sets into two types: buffer and private. 2003-08-20 18:18:23 +00:00
Robert Reif
fe09afb7cc Fixed bug where last tests were not executed.
Print out sound device info.
2003-08-18 19:52:56 +00:00
Duane Clark
852a37bc64 Move declarations to compile with older compilers. 2003-08-07 20:11:45 +00:00
Alexandre Julliard
21c01853b6 Added propset.ok. 2003-08-07 03:07:26 +00:00
Robert Reif
b5d2f84f87 Added some COM and property set tests.
Added LIBUUID to makefile.
2003-08-06 22:57:48 +00:00
Robert Reif
f5080c86e5 Added class factories for DirectSoundCapture, DirectSoundFullDuplex
and DirectSoundPrivate.
Added error checking to QueryInterface and CreateInterface.
Added some more functionality to property sets.
2003-08-06 22:57:24 +00:00
Alexandre Julliard
20698b22df Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +00:00
Robert Reif
8c37581dd7 Fixed a bug where a NULL primary buffer pointer is used when the
DirectSound object didn't create properly.
2003-07-28 19:01:20 +00:00
Francois Gouget
56aaea2f43 Spelling fixes. 2003-07-09 02:52:57 +00:00
Francois Gouget
14a5d168e9 Fixed some common spelling errors. 2003-07-02 04:37:26 +00:00
Robert Reif
9dacf206fe 3D buffer and listener reference counts should be fixed.
3D sound now plays in 3D.
COM interfaces should be correct for buffers and 3D stuff. The COM
interface is broken on notifications but I will fix that next.
Fixed the bug when closing and opening the same or another sound
device quickly.
Fixed some locking but there is a lot of work left yet.
2003-06-27 22:22:15 +00:00
Robert Reif
05fb2c89e1 Fixed a reference counting bug I introduced. 2003-06-18 19:31:44 +00:00
Duane Clark
8ed6df97a2 Fix compile error. 2003-05-22 20:56:04 +00:00
Robert Reif
1024fb924d Add 3d primary and secondary buffer tests.
Check reference count at object release.
Remove redundant cooperative level setting.
2003-05-22 03:39:32 +00:00
Robert Reif
a4ed8e7740 - make parameter checking and error notification consistent
- propagate driver and local function errors where needed
- fix error returns where pointer is given for returned data
- add 3d listener to primary buffer when needed
- copy 3d part of buffer when duplicated
- fix bug when primary buffer is reopened with smaller buffer
- loosen requirements on caps data size check
- set caps for emulated mode based on actual driver caps
2003-05-22 03:39:13 +00:00
Lionel Ulmer
f5a4a9b60a Give the right ids to the DirectSoundCreate8 function (thanks to
Robert Reif).
2003-05-04 02:24:36 +00:00
Robert Reif
772539a84a Move all tests to outside the loop when setting volume.
Add traces to functions.
2003-05-02 21:23:16 +00:00
Lionel Ulmer
6ad962142f - misc. tracing fixes
- handle IID_IDirectSound(8) as the default sound driver
2003-05-02 21:22:49 +00:00
Robert Reif
abde7d0acf Reversed relationship between buffers and notifies.
Fixed notify reuse bug.
Minor documentation and error message cleanup.
2003-05-02 20:16:48 +00:00
Robert Reif
e743e091ed Added partial property set support which is used by dxdiag.exe. 2003-04-29 22:49:52 +00:00
Alexandre Julliard
92bfe2269b Don't use Wine debugging API in tests. 2003-04-13 01:09:23 +00:00
Robert Reif
26ba64b563 Fixed PCM format evaluation bug.
Properly clean up partially created sound buffers.
2003-04-11 23:59:19 +00:00
Robert Reif
db68f33a5e Changed capture format printing to hex. 2003-04-11 00:35:50 +00:00
Alexandre Julliard
c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Robert Reif
deeb2abd96 Changed DLL version to 8. 2003-04-09 23:34:49 +00:00
Jerry Jenkins
5f4e4a5094 Align data to proper size. 2003-04-07 23:18:31 +00:00
Robert Reif
fa13d013e8 Fixed a problem when multiple devices are present and a device other
than the first one is used.
2003-04-05 05:11:02 +00:00
Alexandre Julliard
c7bebba198 Warning fixes. 2003-04-04 22:13:02 +00:00
Robert Reif
aeddf2c409 Added wide character enumeration of sound devices. 2003-04-03 18:03:01 +00:00
Robert Reif
3569c2344f Added entry for DirectSoundFullDuplexCreate. 2003-04-02 22:35:05 +00:00
Rok Mandeljc
ce7a2bab97 Framework for the doppler effect. 2003-03-31 01:34:08 +00:00
Alexandre Julliard
114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Ove Kaaven
6fb0277699 Somewhat more reliable dsound position notifications. 2003-03-17 21:23:12 +00:00
Robert Reif
89b469fefe Added support for multiple direct sound devices. 2003-03-15 00:54:11 +00:00
Rok Mandeljc
7da6e5c9a5 - implemented panning
- implemented coning
- many minor fixes
2003-03-10 19:06:02 +00:00
Robert Reif
5a1439cf23 Fixed a bug where a capture device was used after it failed to open
due to a missing driver.
Added tests to try all possible combinations of sample rate, sample
size and mono/stereo.
2003-03-07 20:36:47 +00:00
Robert Reif
8c2ec131a8 Added a configuration option for setting the hardware acceleration
level just like the direct sound control panel app.
More work on the full duplex interface so the compile warning is no
longer generated.  Full duplex interface is still stubbed out.
Moved full duplex mixer reset fix into wineoss driver where it
belongs.
Added some more locking fixes.
Capture and full duplex are now stable.
2003-03-06 22:46:34 +00:00
Rok Mandeljc
53b5a4746f Changed some stuff so distance attenuation works for both 3d
processing modes.
2003-03-05 02:47:39 +00:00
Robert Reif
15cc17fbcf Fixed code to handle full duplex properly.
Added support for capture driver (disabled).
Fixed direct sound capture test to handle notifications properly.
2003-03-04 02:12:34 +00:00
Robert Reif
490d2a7bc2 Fixed a problem getting the GUID to compile under windows and wine. 2003-02-24 20:42:59 +00:00
Michael Stefaniuc
f85440466b Add missing LeaveCriticalSection's in error path. 2003-02-24 20:39:22 +00:00
Rok Mandeljc
22b09a10f0 Reimplemented distance attenuation formula.
Removed coning formula since i believe it's inappropriate.
2003-02-17 01:46:46 +00:00
Robert Reif
5be7f69d72 Added support for direct sound capture and a real direct sound capture
driver. Capture now works with some skipping. Full duplex does not but
I will be working on that next.
2003-02-15 00:01:17 +00:00
Gerald Pfeifer
61e9670d31 #include <stdlib.h> instead of the non-standard <malloc.h>. 2003-01-20 23:27:27 +00:00
Francois Gouget
8e9dcb6655 Use the same 8/16bit conversion routines as in pcmconverter.c.
Reorder the two ifs in the first part of cp_fields to simplify the
code.
2003-01-16 00:20:07 +00:00
Francois Gouget
336d8fe298 SetFormat may not change the primary buffer format as requested.
Dump the effective format and prepare the tone signal accordingly.
Play tones from the secondary buffers at -3dB rather than -12dB.
Always print the volume the tone is going to be played at.
Remove the gamedev URL.
2003-01-16 00:19:49 +00:00
Francois Gouget
6bbce6cd22 Initialize the pwave array whenever we don't have a hardware buffer.
Always create the wineoss thread.
Change the mmap ERR into a TRACE: there are normal circumstances where
mmap will fail and we can deal with them.
2003-01-15 00:44:50 +00:00
Rok Mandeljc
5438df173e Added cone support. 2003-01-14 19:31:08 +00:00
Enrico Horn
6b83bb622b Add version info to dll/dsound. 2003-01-13 20:40:45 +00:00
Francois Gouget
32140adefa DSB.SetFormat:Trace the requested format as soon as possible in case
it is not supported and simplify validity check.
Initialize the buffer format, and only from the fields we checked.
DirectSoundCreate8 fully initializes the buffer format (just in case).
2003-01-11 20:54:56 +00:00
Francois Gouget
8325deaa33 Fix latent deadlock in DSOUND_callback. 2003-01-11 20:53:43 +00:00
Rok Mandeljc
438985f3dd 3d sound diminishes with distance. 2003-01-10 01:46:36 +00:00
Dimitrie O. Paun
297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Francois Gouget
112cf22a12 Always open the device in the default 22050x8x2 format, and let it
report the actual device format to us.
2003-01-07 19:43:18 +00:00
Rok Mandeljc
1b3ce0d571 - 3d buffers produce sounds
- some other small fixes
2003-01-04 01:24:59 +00:00
Rok Mandeljc
5b918db643 - cleaned *Set* functions
- added initial code for 3d buffer recalculating
- added some auxiliary functions
2003-01-04 01:22:51 +00:00
Francois Gouget
3b761a6b39 Add the ability of playing a test tone when in interactive mode.
Test both primary and secondary buffers.
2003-01-02 23:08:57 +00:00
Rok Mandeljc
f3128dad92 Implementation of IDirectSound3DListenerImpl_Set*(). 2002-12-13 23:20:58 +00:00
Francois Gouget
a542770c55 Extend the test by creating a PrimaryBuffer object and perform a few
basic tests such as querying its characteristics and changing its
format.
Changing the format requires that we call SetcooperativeLevel first,
which means we need an hwnd. So the test must now link with
user32.dll.
2002-12-13 20:27:36 +00:00
Francois Gouget
78561f3eb3 IDirectSoundBuffer.GetCaps should fail if caps.dwSize is not set. 2002-12-13 20:26:23 +00:00
Rok Mandeljc
553dded48a Implemented IDirectSound3DBufferImpl_Set*(). 2002-12-13 00:31:06 +00:00
Rok Mandeljc
17c8b8e271 Implemented IDirectSound3DListenerImpl_Get*() functions. 2002-12-12 23:01:05 +00:00
Rok Mandeljc
dcc5b4fe53 Implemented some stubs. 2002-12-12 22:27:15 +00:00
Alexandre Julliard
dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Alexandre Julliard
26d648887a Back out the aRts volume patch, this is not user-friendly at all. 2002-12-05 19:20:36 +00:00
Francois Gouget
d523a45bd0 A simple test for IDirectSound.GetCaps. 2002-12-05 19:19:41 +00:00
Francois Gouget
ee4d9c5e29 Return an error if dwSize is not valid.
No need to dump dwFlags before it is initialized.
2002-12-05 19:00:56 +00:00
Alexandre Julliard
b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Ove Kaaven
4774477b2b Fix for soundcards that can't do 8-bit audio, only 16-bit (also
checked for soundcards that can't do stereo while I was at it).
2002-09-29 18:01:33 +00:00
Jerry Jenkins
062425aee4 Added waveOutSetVolume when opening sound driver. Otherwise, there is
no sound if we use aRts.
2002-09-17 01:29:01 +00:00
Patrik Stridvall
9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Patrik Stridvall
d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Michael Stefaniuc
bacc1b3b58 - Converted HWAVE, HWAVEIN, HWAVEOUT to void*.
- Fixed some HMIDI{IN,OUT}16 to HANDLE conversions.
- midiOutCacheDrumPatches16 called itself recursively in an infinite
  loop.
2002-08-02 19:02:49 +00:00
Alexandre Julliard
1f6ce57b24 Removed ordinal 0. 2002-07-24 19:05:50 +00:00
Steven Edwards
6aa9ccb102 Need to import ntdll. 2002-07-05 22:48:33 +00:00
Alexandre Julliard
7015ce3096 No need to call GetModuleFileName16 now that GetModuleFileNameA
handles 16-bit tasks.
2002-07-05 01:28:10 +00:00
Alexandre Julliard
77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Ove Kaaven
935e3df35c Support DirectSound 8 interfaces. Split interface implementations into
separate files. Split primary buffer and secondary buffer interfaces
into separate implementations. Made the primary buffer state part of
the dsound object, so primary buffer objects can be created and
refcounted independently. Made the interfaces follow COM aggregation
rules more closely. Converted the dsound critical section to a R/W
lock to improve potential remixing concurrency. Fixed various bugs and
refcounting issues.
2002-06-13 19:15:06 +00:00
Vincent Béron
9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Johan Gill
7c61a61616 Only enumerate DirectSound devices if the first sound device in the
system supports the Wine implementation of DirectSound. Also added
some entries to the sample config file and changed the values of the
"EmulDriver" key to "Y"/"N".
2002-05-28 22:45:58 +00:00
Alexandre Julliard
2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard
ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard
67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Joris Beugnies
ff60a9a27b Make defines configurable at run-time. 2002-05-11 22:53:00 +00:00
Alexandre Julliard
32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Johan Gill
8fc98cdef8 DirectSoundEnumerateA() now passes a GUID to the callback if the first
call returned TRUE.
2002-05-01 18:05:30 +00:00
Alexandre Julliard
5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Eric Pouech
c745b52803 A bit more robust against wave???Open failures. 2002-04-22 22:36:18 +00:00
Chris Morgan
ace56c62a3 Dsound will now try as many devices as are available when trying to
open a waveOut device in DirectSoundCreate().
2002-03-25 20:52:17 +00:00
Chris Morgan
9b0ba7ca2b Added aRts driver. 2002-03-21 01:38:19 +00:00
Alexandre Julliard
c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Alexandre Julliard
0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Patrik Stridvall
74e4d21ebe Avoid wildcards in .cvsignore. 2002-01-29 03:05:12 +00:00
Ove Kaaven
f250b6b5fa Further unified HAL and HEL mixing, and added some more intelligence
to prebuffering, with some basic prebuffer canceling support, to get
rid of mixing delays in Half-Life. Used a very small waveout buffer
queue in HEL mode, using a callback to queue additional buffers, to
get rid of playback delays in Half-Life. Fixed a couple of bugs.
2002-01-02 21:46:54 +00:00
Ove Kaaven
fdebace998 Fix buffering problems in HEL mode. 2001-09-10 23:08:11 +00:00