Commit Graph

559 Commits

Author SHA1 Message Date
Robert Reif 725d8c39aa Device enumeration callbacks should return a NULL guid for default
devices.
Fixed some volume and pan cases.
Added missing property set.
Fixed capture notification bug.
2003-09-15 20:08:05 +00:00
Eric Pouech 766ef669eb Moved some MM internal definition to internal include files. 2003-09-12 00:24:16 +00:00
Francois Gouget 721dbf0b29 Modify ok("xxx") calls into ok("xxx\n") as is now expected. 2003-09-11 02:52:19 +00:00
Alexandre Julliard cf52644a1c Removed the A/W constants for builtin cursors, icons and resource
types since they don't exist on Windows, and added typecasts
everywhere instead.
2003-09-10 03:56:47 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Christian Costa 4b40180e38 Fix modLongData.
Enable opening of MOD_SYNTH type devices.
Add some comments.
2003-09-04 00:04:37 +00:00
Robert Reif 7d43d7bb3b Use the drivers to get device capabilities and property sets. 2003-09-03 19:28:20 +00:00
Rok Mandeljc d4c1ebabdb Minor updates of Slovenian translations. 2003-08-29 22:21:43 +00:00
Mike Hearn 61402c64de Fixed the error message in Wave(In|Out)Init, it used to give a
confusing message, now uses strerror.
2003-08-29 22:12:15 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
3d6e91cd99 Fix parameter to snd_pcm_sw_params_set_silence_size(). 2003-08-20 03:38:27 +00:00
Robert Reif a9460b3dbe Use same GUIDs as win2k and xp for dsound drivers. 2003-07-28 19:02:29 +00:00
Mike McCormack 604f0e95fb Fixed incorrect strcasecmp usage. 2003-07-18 22:59:41 +00:00
Marcus Meissner 104d9d44fd Use standard debugging macros for jack.
JACK_SONAME -> SONAME_LIBJACK so we do not need the devel symlink
there.
2003-07-03 18:08:32 +00:00
Francois Gouget 14a5d168e9 Fixed some common spelling errors. 2003-07-02 04:37:26 +00:00
Eric Pouech 5061d3a21d - renamed winmm.OpenDriverW into winmm.OpenDriver
- replaced all inter-DLL calls (msacm and msvideo) to OpenDriverA with
  OpenDriver (unicode form)
- as a consequence, driver name handling in msacm is now mostly
  unicode
- moved UserYield16 and UnMapLS call out of the 32bit part of winmm
2003-07-02 00:40:14 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Marcelo Duarte de08661413 - Localization to Portuguese of Brazil
- Revision and addition of missing resources
- Minor typo fix and codepage fix in programs/winefile resource.
2003-06-30 20:22:35 +00:00
Robert Lunnon ff4f127801 Added libuuid to wineaudioio makefile. 2003-06-30 18:26:40 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Rok Mandeljc e36fa4551a Updated a bunch of translations for Slovenian language. 2003-06-16 01:32:09 +00:00
Robert Reif a104d91ce8 Added a dynamically growing ring buffer for oss, alsa, arts, and nas. 2003-06-04 20:28:04 +00:00
Marcus Meissner d17bc912db winejack.drv.so needs -lwine_uuid too. 2003-05-14 19:34:16 +00:00
Eric Pouech 639db3ef8b Stop wavemap lookup if a device isn't functional (spotted by Lionel
Ulmer).
2003-05-11 03:30:51 +00:00
Alexandre Julliard 1bb3645443 Avoid local WINAPI function pointers. 2003-05-11 03:00:32 +00:00
Marcus Meissner dac51c005a Added include <errno.h>. 2003-05-06 18:25:11 +00:00
Robert Reif bcfff87be5 Added driver property set implementation.
Fixed notify release bug.
2003-05-02 20:16:20 +00:00
Alexandre Julliard 812b4f46e9 Avoid calling Win32 resource functions on 16-bit modules. 2003-04-30 17:28:45 +00:00
Robert Reif aa8559e84a Fixed a problem where OSS trigger support is inconsistent. 2003-04-29 22:54:09 +00:00
Robert Reif 144d7f5da2 Added driver notify implementation. 2003-04-29 22:47:59 +00:00
Alexandre Julliard 50149af8b5 Make sure that snd_pcm_open returned a valid handle before using it. 2003-04-27 00:38:39 +00:00
Jerry Ji 79916df96b The missing part of multiple device support for winearts, wineaudioio,
winejack and winenas.
2003-04-27 00:37:08 +00:00
Robert Reif f64f69abe7 Fixed bug caused by OSS inconsistent trigger operation on different
hardware.
2003-04-26 02:09:20 +00:00
Robert Reif 303d93680d Better error messages. 2003-04-10 18:33:46 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Eric Pouech f5554c3236 Work around not implemented ioctl in BSD. 2003-04-05 05:09:57 +00:00
Robert Reif cc365bd822 Added more information to some of the failure messages.
Fixed a bug where garbage data is printed out for the 2 MHz tests.
2003-04-02 22:38:42 +00:00
Andreas Mohr 114b667f41 Some spelling and formatting fixes. 2003-04-02 01:23:43 +00:00
Alexandre Julliard 270d1b8ad7 Avoid crash if snd_pcm_open fails. 2003-03-28 19:34:50 +00:00
Alexandre Julliard e048adab83 List 16-bit spec files explicitly to avoid problems with some versions
of make.
2003-03-23 20:00:02 +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
Alexandre Julliard 7c7bd1c359 Avoid warnings. 2003-03-17 00:00:53 +00:00
Alexandre Julliard 3453746aa1 Added #ifdef checks for SOUND_MIXER_INFO. 2003-03-15 22:23:27 +00:00
Robert Reif 89b469fefe Added support for multiple direct sound devices. 2003-03-15 00:54:11 +00:00
Eric Pouech 8e90c68d56 Fixed error code when no mapping is found for wave input. 2003-03-10 19:03:08 +00:00
Robert Reif a20f86fc7b Fixed bug where the enable state of the output and input were not set
properly when doing full duplex.
Fixed bug where resetting the output would affect the capture when
doing full duplex.
2003-03-07 20:37:25 +00:00
Steven Edwards 1306fdbd01 Add import of ntdll. 2003-03-07 20:30:17 +00:00
Robert Reif 6168a2ea20 Added waveIn tests. 2003-03-04 22:15:39 +00:00
Robert Reif f851a860fc Capture thread checks queue for more headers before giving error.
Capture driver work started.
2003-03-04 02:11:21 +00:00
Alexandre Julliard 7e92c9af7b Replaced most uses of the auto-generated glue code by explicit calls
to WOWCallback16Ex.
2003-02-27 21:09:45 +00:00
Waldeck Schutzer a639d834fe Avoid playing data tracks. 2003-02-19 22:08:03 +00:00
Eric Pouech 893f5ff432 Allowed waveInMessage to use physical information (as waveOut does). 2003-02-17 01:48:47 +00:00
Robert Reif 4c9e56b163 Added additional formats.
Fixed a few bugs in read/write positions when the format is mapped
using acm.
Fixed a bug where the number of waveOut devices is used when iterating
over waveIn devices.
2003-02-15 00:00:12 +00:00
Robert Reif bcc4bb2d06 Started to add support for a real direct sound capture driver.
Changed the capture fragment size but this still needs tuning for best
performance.
2003-02-14 23:59:15 +00:00
Michael Stefaniuc 62ed0ffe00 Added some missing LeaveCriticalSection's. 2003-02-12 01:26:05 +00:00
Waldeck Schutzer c1a4cead2f Removed invalid char. 2003-01-31 03:20:03 +00:00
Alexandre Julliard 43690e9e47 Removed no longer needed inclusion of heap.h. 2003-01-24 00:54:58 +00:00
Matthew Davison 60009b9a56 Removed calls to HEAP_strdupAtoW. 2003-01-23 23:07:38 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +00:00
Francois Gouget 48dacc4996 Make sure we always know about the 48 and 96kHz formats even if they
are not defined in the (old) Windows headers.
2003-01-20 23:28:50 +00:00
Francois Gouget 9140349886 Warn if open_count is already 0 when OSS_CloseDevice is called.
Don't decrement it in that case.
2003-01-16 01:16:46 +00:00
Francois Gouget 2147b9f5da Return MMSYS_NOERROR even if we don't open the device with the
requested format, otherwise OSS_OpenDevice will not increment
open_count.
Use -1 to signal OSS_RawOpenDevice not to do ioctls because 0 is
ambiguous (also means mono as opposed to stereo).
2003-01-16 00:19:04 +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
Francois Gouget ce0557fe8e Modify OSS_Wave{In,Out}Init to report the exact capabilities of the
OSS driver.
Add support for the 48kHz and 96kHz formats.
2003-01-11 22:47:51 +00:00
Eric Pouech e8a7ad3040 Some code cleanups.
Better error handling.
Removed unneeded internal variables.
2003-01-11 22:47:21 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Francois Gouget ede0e8ae64 In OSS_RawOpenDevice, always retrieve the device format and store it
in the OSS_DEVICE structure.
Modify our internal functions so that they can be told to still open
the device even if the device format is not an exact match.
In wodOpen return the actual device format if the WAVE_DIRECTSOUND
flag is set.
Fixes DirectSound on i810 soundcards (i.e. cards supporting only
48000x16x2).
2003-01-07 23:08:05 +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 772cabeba9 Fix the BlockSize check. 2003-01-07 19:43:02 +00:00
Gerald Pfeifer 3af9641e6f #include <stdlib.h> instead of the non-standard <malloc.h>. 2003-01-03 22:32:47 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Patrik Stridvall 46304a7361 Fixed some issues found by winapi_check. 2003-01-02 19:28:09 +00:00
Eric Pouech 1d854a10b0 When unmapping a (wave|midi)-header unprepare message, make sure the
unpreparation was successful.
2003-01-02 17:56:41 +00:00
Francois Gouget 88a5cb569b Add support for WINETEST_INTERACTIVE. If set then tests can perform
additional explicitly interactive tests.
Modify the winmm test to use WINETEST_INTERACTIVE.
2003-01-02 17:52:05 +00:00
Jeff Smith b9f0fce668 Correct all instances of mixMessage to mxdMessage. 2002-12-23 02:05:30 +00:00
Francois Gouget 8c777a8c8c Add the capacity of playing a test tone using the 'play' option.
Factorize the regular and WAVE_FORMAT_DIRECT tests.
Test the new 48 and 96kHz formats.
2002-12-16 22:12:32 +00:00
Francois Gouget 8b97a3a391 In the latest sdk the {waveOut,midiOut}{Get,Set}Volume functions take
a handle as the first parameter.
2002-12-15 02:59:50 +00:00
Eric Pouech 59227d6b80 Fixed hangup condition at the end of some playback. 2002-12-15 02:59:13 +00:00
Francois Gouget e4eee61a3d If unable to set the desired format, OSS_RawOpenDevice should call
TRACE, not ERR.
2002-12-15 01:12:47 +00:00
Francois Gouget e385e5e467 Our resampling algorithm is quite primitive so try simple 8/16
mono/stereo conversions first. Only resample if we cannot avoid it.
2002-12-15 01:12:27 +00:00
Francois Gouget f650222131 If given a bad device id waveOutGetDevCapsA is supposed to return
MMSYSERR_BADDEVICEID. Fixes a todo_wine in the winmm test.
2002-12-15 01:11:41 +00:00
Chris Morgan 4691b18520 Add support for Jack audio server. 2002-12-13 02:26:18 +00:00
Francois Gouget a522385e7d Add support for the 48 and 96kHz formats. 2002-12-13 02:18:20 +00:00
Nikolay Stefanov 08ee2e1cc2 Fix issues with i810-based audio cards.
Support for user-selectable audio cards through the ALSA_CARD
environment variable (M.Miroslaw@elka.pw.edu.pl).
2002-12-13 00:36:22 +00:00
Jeff Smith f88d00a25d MMDRV_GetDescription32 fix + a few cosmetic improvements. 2002-12-12 22:26:01 +00:00
Francois Gouget 52574ed701 Fix error reporting in wavemap.c:wodOpen(); this solves the
waveOutOpen problem so that we can remove the todo_wine.
Win9x does not support WAVE_FORMAT_DIRECT.
Don't check the format if the waveOutOpen command failed.
Use trace, not winetest_trace!
2002-12-12 22:23:15 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Rok Mandeljc 72a2c37076 Fixed some characters. 2002-12-11 01:29:10 +00:00
Vincent Béron 9c627aae6b Suppress some signed/unsigned comparison warning. 2002-12-10 19:10:46 +00:00
Chris Morgan 50bd40c775 Reset the oss device before we try to close it. Fixes hang on startup
of Starcraft due to oss device being in a bad state.
2002-12-10 19:06:51 +00:00
Jeff Smith 528ac6386e Fix for MIDI Mapper. 2002-12-02 18:57:00 +00:00
Jeff Smith 5e0bdcc4d1 Fixed 32 bit flag in midiOutShortMsg. 2002-11-30 01:51:56 +00:00
Eric Pouech f086286d4f Better support for multiple midi devices on the OSS interface. 2002-11-20 19:46:35 +00:00
Eric Pouech 689312b15e Now properly unloading multimedia drivers when winmm unloads. 2002-11-11 19:53:01 +00:00
Patrik Stridvall 517a93afe3 Fixed some issues found by winapi_check. 2002-11-06 19:57:49 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Francois Gouget 4ce28377f7 Test sound format support with waveOutGetDevCaps and waveOutOpen. 2002-11-04 23:47:49 +00:00
Francois Gouget ffd98e9c59 OSS_RawOpenDevice should return an error if the format is not
supported.
2002-11-04 22:39:19 +00:00
Alexandre Julliard cf2e57d0c7 Split out some more 16-bit code. 2002-10-31 22:06:53 +00:00
Alexandre Julliard 7a1cb65cb9 Moved 16-bit definitions out of mmddk.h into mmsystem16.h. 2002-10-31 02:23:43 +00:00
Eric Pouech ac5de27d1c winmm/mmsystem now compiles with -DSTRICT. 2002-10-31 01:02:41 +00:00
Eric Pouech 7efe3ff0d8 Return correct values for wave(In|Out)GetPosition even if playing non
PCM files.
2002-10-31 00:54:27 +00:00
Eric Pouech 10d312eac1 wavemap now compiles with -DSTRICT. 2002-10-30 20:25:38 +00:00
Eric Pouech f97ba160f9 Moved 16 bit joystick function to mmsystem.c. 2002-10-29 22:02:57 +00:00
Eric Pouech 50ade2b33d - internal renaming (no longer using MMSYSTEM prefixes for WINMM only
functions)
- moved time 16/32 conversions functions to 16 bit source files
- final Makefile changes (16 bit part can now really be not compiled
  when -disable-win16 is requested)
2002-10-29 22:02:00 +00:00
Eric Pouech 8b7a45f4f7 - let all time related functions make use of low level drivers 16 bit
functions
- some renaming (prefixing internal time functions with TIME)
2002-10-29 21:59:24 +00:00
Eric Pouech 5942f98f92 All low level driver functions (internals for wave, midi, mixer and
aux) are now cleanly separated.
2002-10-29 21:55:25 +00:00
Eric Pouech 9becf85a2c All MCI functions are now cleanly separated. 2002-10-29 21:53:44 +00:00
Eric Pouech b4df16b3b2 All driver functions are now properly separated. 2002-10-29 21:51:24 +00:00
Eric Pouech 74b20fb8d8 - revisited mmsystem/winmm loading mechanism
- added WINMM_CheckMMSystem function (helps 32 bit code detect
  presence of our own mmsystem DLL)
- some internal renaming (MULTIMEDIA => WINMM)
2002-10-29 21:49:35 +00:00
Eric Pouech 2b0e56c8d8 Now only storing thread id for mci tasks (16 bit htask is now gotten
from WOW functions).
2002-10-29 21:44:23 +00:00
Eric Pouech 5e81d9a7ba - finish mmio separation
- no longer storing function pointers in global IData
2002-10-29 21:26:00 +00:00
Eric Pouech 1563fab4db Move low level multimedia message mapping out of 32 bit code. 2002-10-28 20:53:10 +00:00
Eric Pouech fdb623335a Move MCI message mapping out of 32 bit code. 2002-10-28 20:51:36 +00:00
Eric Pouech 894eedf5d3 Move driver message mapping out of 32 bit code. 2002-10-28 20:44:26 +00:00
Eric Pouech cfcc9e1094 Fixed mciSendString debug reporting when an error occurs (spotted by
Erland Lewin).
2002-10-28 20:05:25 +00:00
Andreas Mohr 6e256c72fe - fix some pselling
- enhance some TRACEs
2002-10-25 19:09:02 +00:00
Eric Pouech 1e3e87d430 Simplify the global internal data handling. 2002-10-25 19:00:12 +00:00
Eric Pouech fb8bad49d9 Unify the constant used for error codes reporting mapping functions
success/failures.
2002-10-25 03:51:40 +00:00
Vincent Béron d1d586e2a9 Bring some French resources in sync with English ones. 2002-10-23 23:34:32 +00:00
Eric Pouech b3854da29a Keep on moving 16 bit code out of winmm, now only using linear
addresses for buffers.
2002-10-21 18:21:26 +00:00
Alexandre Julliard 6fa2ac693e Removed DECLARE_OLD_HANDLE. Fixed a few remaining warnings. 2002-10-19 17:20:02 +00:00
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Alexandre Julliard 23bb3715f7 Added support for building certain dlls with -DSTRICT.
Added -DWINE_NO_STRICT flag to dlls that don't support STRICT yet.
2002-10-18 23:46:28 +00:00
Alexandre Julliard 0ca051e555 Fixed wownt32.h to make it usable from inside Wine, and use it to
avoid some duplication of the handle conversion macros.
2002-10-17 16:43:42 +00:00
Malte Starostik 41a9b1bba6 Initialize winearts's volume level to full, so applications that don't
set the volume are audible.
2002-10-17 01:19:22 +00:00
Michael Stefaniuc 9444dd2541 Compile fix when all handles are converted to a void*. 2002-10-15 21:00:05 +00:00
Eric Pouech 240f09391a Keep on moving 16 bit code out of winmm. 2002-10-10 23:28:22 +00:00
Eric Pouech 46c49c6d79 Removed no longer needed list of instance data. 2002-10-10 22:47:25 +00:00
Francois Gouget 6f670b13f5 The NAS headers and libraries are sometimes stored in the X
directories.
2002-10-10 17:54:27 +00:00
Eric Pouech 57e6ba7009 Started putting all 16 bit code in separate files. 2002-10-10 03:43:53 +00:00
Eric Pouech 580235504d Fixed some multi-sound card related bugs. 2002-10-09 20:37:09 +00:00
Alexandre Julliard 6ac4da7efb Fixed file descriptor corruption. 2002-10-09 18:15:05 +00:00
Eric Pouech dcb44969b9 Added support for several soundcard.
Remove non full duplex mode in code.
OSS Commercial doesn't properly handle SNDCTL_DSP_RESET, so close/open
device to workaround this issue (by Ove Kaaven).
2002-10-07 18:23:40 +00:00
Eric Pouech 60f21c3d58 Got rid of recursion in sub device opening. 2002-10-07 18:22:57 +00:00
Eric Pouech b4ba9fa7df Let wave(Out|In)Open call the wave mapper when the low level device
doesn't handle the wave descriptor.
2002-10-07 18:22:41 +00:00
Alexandre Julliard beb1fb16f3 Removed error message that confuses users. 2002-10-03 19:43:10 +00:00
Alexandre Julliard c728efc3c9 Added --disable-win16 configure option. 2002-10-02 02:34:09 +00:00
Alexandre Julliard e969027104 Fixed warnings. 2002-10-02 01:34:17 +00:00
Jerry Jenkins e944bbb954 Modified volume_effect8 for taking unsigned data as signed data, and
wodPlayer_WriteMaxFrags because of wrong data length which lead to
strange noise and volume control working incorrectly.
2002-09-17 01:29:26 +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
Alexandre Julliard dd0bdbe44e Removed the __uint* types from basetsd.h since they don't exist under
Windows. Fixed a few other issues with type definitions.
2002-09-12 17:29:12 +00:00
Michael Stefaniuc 025c0b716b Prepare dlls/{comctl32,gdi,msvideo,setupapi,shell32,twain,winmm} for
the conversion of HWND to a void*.
2002-09-06 19:41:17 +00:00
David D. Hagood d6b6509301 Fixed Linux 2.2 event API code. 2002-09-04 18:43:05 +00:00
Marco Pietrobono 0e79a4128c Use alsa/asoundlib.h instead of sys/asoundlib.h if possible. 2002-08-29 01:51:31 +00:00
Ove Kaaven 9fd3538b45 Tweaks to improve playback performance and reduce sound glitches:
- wodGetPosition does not send an update message to the player thread;
this reduces the accuracy of the readout from byte-accuracy to near
fragment-accuracy, but we save 2-4 context switches and kernel
scheduling penalties.
- if FeedDSP runs out of data, do not flush output buffers before
notifications are sent and given the chance to provide more sound data.
Do not flush before we're down to the last fragment.
- messages to the player thread are signaled using Unix pipes instead
of Win32 synchronization primitives, to avoid having the player thread
wait for the wineserver (and context switches from/to it) before the
it can feed more data to the sound card.
- ring buffer size is increased from 30 to 192 to support some games
that fires 128 messages at once to determine DMA buffer size.
2002-08-26 21:49:42 +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 c8ff4da2ac Convert HMMIO to a void*. 2002-08-09 19:51:01 +00:00