Commit Graph

475 Commits

Author SHA1 Message Date
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
Patrik Stridvall 4325554aef Fixed some issues found by winapi_check. 2002-08-09 01:07:29 +00:00
Michael Stefaniuc ec7d7b72b2 - Convert HDRVR to a void*.
- Fix declaration of DriverCallback().
2002-08-09 01:02:25 +00:00
Michael Stefaniuc c414344e2a Convert HMIXER, HMIXEROBJ to a void*. 2002-08-03 00:14:43 +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 526531eb6c Create at most one glue file for a single dll.
Avoid the intermediate .tmp.o file when building programs.
2002-08-01 18:36:58 +00:00
Robert Lunnon 2a91e3f99b Preliminary audio driver for Solaris Libaudioio. 2002-08-01 18:22:38 +00:00
Alexandre Julliard 7cae201e3f Authors: Eric Pouech <eric.pouech@wanadoo.fr>, Michael Stefaniuc <mstefani@redhat.com>
Convert HMIDI, HMIDIIN, HMIDIOUT, HMIDISTRM to void*.
2002-08-01 18:17:51 +00:00
Nicolas Escuder 2a0dd0be05 Speed and buffer improvement, code clean up, and fix some bug
on close / reset waveout.
2002-07-31 17:23:47 +00:00
Alexandre Julliard 04b5a86c46 Merged the NAS driver written by Nicolas
Escuder <n.escuder@alineanet.com>.
2002-07-30 02:44:19 +00:00
Chris Morgan 6ecade7c84 Some dos VGA error handling. Misc TRACE changes. 2002-07-29 23:51:57 +00:00
Gerald Pfeifer 22780c814d Fixed format string. 2002-07-29 23:29:23 +00:00
Alexandre Julliard 13f2a17eb2 Convert HTASK to void* (based on a patch by Michael Stefaniuc). 2002-07-28 23:48:27 +00:00
Patrik Stridvall a3868218d0 Fixed some issues found by winapi_check. 2002-07-19 00:30:16 +00:00
Rok Mandeljc 3fb4b81379 Added Slovenian resources. 2002-07-10 03:03:46 +00:00
Eric Pouech 80884be68c Fixed another PlaySound bug (when SND_LOOP is requested). 2002-07-08 19:35:08 +00:00
Eric Pouech e3bd1361f1 Fixed a few compilation warnings. 2002-07-08 19:34:49 +00:00
Gregg Mattinson 7c4cb515b6 Cast void* to char* for pointer arithmetic. 2002-07-03 21:10:43 +00:00
Eric Pouech 34865e4c27 Fixed some more configuration issues. 2002-07-03 01:14:52 +00:00
Alexandre Julliard 958732d21c Fixed warnings. 2002-07-02 02:09:39 +00:00
Alexandre Julliard f92b7c06c2 Added some ALSA configure checks. 2002-06-28 18:31:01 +00:00
Eric Pouech a120ce015c Created an ALSA driver (with the help of David Hammerton and Marco
Pietrobono).
2002-06-28 17:40:16 +00:00
Eric Pouech d075eff2e9 Ensured full duplex mode is only used with same parameters in in/out
streams.
Some more work towards multiple audio cards support.
2002-06-28 17:31:31 +00:00
Eric Pouech 64284a8767 Fixed flags handling in sndPlaySound. 2002-06-25 02:58:48 +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
Eric Pouech 7efd615e4f Fixed another regression in PlaySound. 2002-06-04 00:51:38 +00:00
Steven Edwards fb24f71e5b Porting fixes. 2002-06-04 00:50:11 +00:00
Alexandre Julliard 7cae558bdc Removed some more trailing whitespace. 2002-06-01 02:55:48 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Eric Pouech 4664903d1e Some other synchronisation issues. 2002-05-29 19:04:41 +00:00
Eric Pouech c22256a01c Check for NULL ptr in midiStreamOut. 2002-05-29 00:31:00 +00:00
Sander van Leeuwen f81982aeed mixerGetControlDetailsW: translate strings for
MIXER_GETCONTROLDETAILSF_LISTTEXT option.
2002-05-28 22:40:40 +00:00
Alexandre Julliard 261e28a775 Removed some unnecessary imports. 2002-05-23 02:46:10 +00:00
Patrik Stridvall 5e6943f421 Fixed some issues found by winapi_check. 2002-05-22 01:55:18 +00:00
Eric Pouech 48b98159ce Fixed hang in PlaySound in error cases; added registry lookup for sounds. 2002-05-22 01:52:31 +00:00
Steven Edwards 48ac89b627 Add check for <sys/ioctl.h>. 2002-05-19 22:25:02 +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
Eric Pouech ff8a62d8fe Fixed hangs when playing an ASCII resource. 2002-05-16 20:28:26 +00:00
Johan Gill b4f3cc9507 lpmmioinfo can sometimes, proven in the read case, be NULL. 2002-05-16 18:27:52 +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
Eric Pouech b93f1114de Better behavior of PlaySound (error handling, synchronization).
Removed some unnecessary tests about windows handles.
2002-05-12 03:10:26 +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
Eric Pouech 8be2e3d489 Let MCI drivers support the session instance loading mechanism (NULL
lParam2 in MCI_OPEN).
2002-05-11 23:02:55 +00:00
Eric Pouech bf98cf8404 Created session instance for installable drivers.
Now properly freeing library upon driver exit.
2002-05-11 22:55:29 +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
Alexandre Julliard 140e7222e0 Removed more code at Hidenori's request. 2002-05-05 19:40:57 +00:00
Eric Pouech 90b71b5191 Fixed multi-thread access to local variables (mainly fd for
/dev/dsp).
God rid of obsolete macro.
Fixed some slight init issues.
2002-04-22 22:35:30 +00:00
Eric Pouech ef1f015652 Fixed a mismatch in wavein 16/32 mapping.
Relaxed some tests about buffer lengths.
2002-04-22 22:34:26 +00:00
Hidenori Takeshima 5d8b982b6b Added resources for Japanese. 2002-04-08 20:13:27 +00:00
Hidenori Takeshima dc31501ed2 Fixed an overflow in calculating times. 2002-04-08 20:10:10 +00:00
Eric Pouech a1e57324e4 More robust and less time consuming playback. 2002-04-01 21:02:49 +00:00
Eric Pouech 3209f949b3 Fixed size of buffers in conversion. 2002-04-01 21:02:27 +00:00
Vincent Béron 847dda4ea0 Changes some handle definitions to the proper type. 2002-03-25 20:53:35 +00:00
Chris Morgan cf5bfc44b1 wodOpen() should return MMSYSERR_ALLOCATED if the device is already
allocated.  Allow for multiple audio devices. Fix wodPlayer_reset as
with aRts we cannot cancel audio data already written to the server.
Rename some functions. Cleanup unused code.
2002-03-25 20:52:42 +00:00
Chris Morgan cc9e3ccd2a Fix range in aRts 8bit volume code. 2002-03-22 00:12:31 +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 651a8ba880 Added some defines for compatibility with Windows headers. 2002-02-15 19:12:35 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Dimitrie O. Paun 693cca5d4d Make FIXMEs more grep-able. 2002-01-29 03:12:19 +00:00
Patrik Stridvall 74e4d21ebe Avoid wildcards in .cvsignore. 2002-01-29 03:05:12 +00:00
Andreas Mohr bfbe3b5c62 Fixed ==/!= mismatch. 2002-01-29 02:56:50 +00:00
Francois Gouget 54697dd302 Print the strerror instead of just the errno. 2002-01-21 18:00:42 +00:00
Eric Pouech f65c7d546d Now using the NT CD interface. 2002-01-13 01:46:12 +00:00
Eric Pouech 738669a709 Fixed the wodReset implementation, internal messages priority, full
duplex code, wait algorithm for feeding the OSS buffer.
2002-01-12 21:15:08 +00:00
Eric Pouech d0d7764ac0 Fix potential memory issue. 2002-01-10 18:21:07 +00:00
Alexandre Julliard 851297919b Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-24 20:30:24 +00:00
Eric Pouech d547450b35 Added full-duplex capability.
Added missing init for wave-in.
Fixed pause behavior in wave-out.
Added message-ring deletion.
Added experimental full-duplex capability.
2001-12-21 20:28:43 +00:00
Eric Pouech 090629242b Fixed another bunch of bugs (mainly linked to operations where file
pointer was past the end of file).
2001-12-21 20:28:09 +00:00
Eric Pouech 37083176e8 Thawed some freezes.
Cleaned up time and notification handling.
Typos fixes (Gerard).
Added breakloop support.
2001-12-14 22:44:29 +00:00
Eric Pouech d585e7a2a4 Fixed bugs in output functions (write).
Rewrote some parts for better DLL separation.
Fixed some prototypes.
Fixed mmioAdvance in write mode.
2001-12-04 19:40:28 +00:00
Simon Britnell 5ba7438df1 Fix a loop playing failure and a problem with choppy sound. 2001-11-19 02:10:50 +00:00
Eric Pouech d45f041ec2 Fixed wave(In|Out)Open when called with WAVE_MAPPED flag; some minor
16/32 API call ordering.
2001-11-13 21:58:32 +00:00
Eric Pouech fa7a8c6306 Fixed some race conditions in notification vs. operation
synchronization using the same in process message ring in waveIn as in
waveOut.
2001-11-12 15:55:37 +00:00
Simon Britnell 78bae03241 Cleaned up the wodPlayer functionality to make it easier to follow.
Changed notification to be calculated from bytes played rather than
time elapsed.
2001-11-09 20:26:59 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Eric Pouech 2f9eb3b0cb Fixed dst / src lines implementation.
Added mux/mixer control for master rec.
Added framework for multiple mixers.
2001-11-05 23:53:48 +00:00
Francois Gouget 3bb9a36ee0 Spelling, grammar and a bit of comment formatting fixes. 2001-10-22 19:04:32 +00:00
Francois Gouget b60c4ce0f0 Don't print NULL strings (crashes on Solaris).
Small code maintainability tweak in ShellExecuteExA.
Two typo fixes in winmm.
2001-10-14 16:15:05 +00:00
Francois Gouget 588ff3743a Documentation updates (mainly thru vs. through). 2001-08-21 17:07:17 +00:00
Eric Pouech 96c514bdf8 Replaced memset by hand made equivalent to work around some buggy
memset implementations.
2001-08-18 16:09:41 +00:00
Eric Pouech 7321bfa006 Fixed error message and return value in case of bogus 'open all' mci
string command. Minor 32/16 optimizations and cosmetic fixes.
2001-08-15 17:40:03 +00:00
Andreas Mohr da920ee9b9 Spelling fixes. 2001-08-09 21:16:55 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00