Commit Graph

413 Commits

Author SHA1 Message Date
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
Alexandre Julliard 5f728cae70 Removed HEAP_strdupA. 2001-07-24 21:45:22 +00:00
Patrik Stridvall bc38d6bfde - Made sure that the files that contains the declarations
of the implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-20 18:00:00 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Patrik Stridvall a274dd9105 Fixed some issues found by winapi_check. 2001-07-02 01:22:10 +00:00
Patrik Stridvall 83eb6b83a5 Fixed some issues found by winapi_check. 2001-06-28 18:02:05 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Eric Pouech 05b85c3290 Fails mapper opening when no midi out devices are present. 2001-06-19 18:15:53 +00:00
Eric Pouech 3c39af2e75 Fixed bugs in output functions (ascend, createChunk).
Cleaned up trace messages.
Fixed some mmioOpen file name parsing.
2001-06-19 18:15:30 +00:00
Patrik Stridvall c01c1933bf Fixed some issues found by winapi_check. 2001-06-19 03:36:23 +00:00
Patrik Stridvall 172cd1b967 Fixed some issues found by winapi_check. 2001-06-11 20:16:11 +00:00
Marcus Meissner 9db72e3b58 Alias and Device Type are case insensitive. 2001-06-11 20:12:39 +00:00
Huw D M Davies 738e2461f0 Attempt to write fragments and check whether we can notify the client
after every message.
2001-05-29 20:52:23 +00:00
Andreas Mohr c2bc22b91c Spelling fixes. 2001-05-24 18:44:25 +00:00
Eric Pouech beea615126 Made midi mapper more robust.
Added channel to device/channel mapping.
Removed midiIn mapping (it doesn't exist on Windows).
2001-05-22 19:20:53 +00:00
Eric Pouech d80b4337cc Now loading the default setting for low level drivers from registry. 2001-05-22 19:19:50 +00:00
Eric Pouech 8606971607 Fixed open requests in case of error (if the physical device failed to
open, the ACM stream was left opened).
Added mapping search for waveIn devices.
2001-05-21 18:32:17 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Bang Jun-Young d52e89ac36 Call OSS_MidiInit() only if HAVE_OSS_MIDI is defined. 2001-05-07 18:16:57 +00:00
Bang Jun-Young 31031abaa1 Include missing errno.h. 2001-05-07 18:16:38 +00:00
James Hatheway cf459ac76d PlaySoundA should return TRUE when it stops playing sound. 2001-04-25 19:51:32 +00:00
James Hatheway 8290c3e1e7 Make sure to return our variable with the correct return value. 2001-04-20 18:28:38 +00:00
Eric Pouech 1b9e33df0c Fixed callback parameters (bogus hWave); added acm conversion for
waveIn.
2001-04-13 22:28:06 +00:00
Eric Pouech b24ed627eb Allow MCI_SET to change waveFormat for recording.
Fixed buffer handling on recording end.
Fixed size of recorded data in mmio file.
2001-04-13 22:27:11 +00:00
Eric Pouech 7a3ec5d705 Fixed some buffers issue in recording.
Zeroed unnecessary second parameter for WIM_DATA notification.
2001-04-13 22:26:51 +00:00
James Hatheway d73c906328 - MCI_SAVE should overwrite its destination file.
- widClose() is sometimes failing... MCI (in WAVE_mciRecordCallback)
  shouldn't queue up buffers if it knows we are no longer recording.
2001-03-23 23:39:28 +00:00
Jeff Garzik 3ea0c073f8 Warning fixes. 2001-03-21 20:31:26 +00:00
Ove Kaaven e746f665ef Show an error if small enough fragment sizes couldn't be set.
Force a complete close/reopen of the sound device if pause is
requested in DirectSound mode (many drivers require this).
2001-03-21 03:37:33 +00:00
Francois Gouget 3d0589ae7d Fixed spelling/typos in comments. 2001-03-10 19:15:49 +00:00
Alexandre Julliard 566a52ad8c Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
2001-03-05 19:34:17 +00:00
Andreas Mohr 8c2f4b18fa Some more message cleanups. 2001-03-03 00:22:50 +00:00
Eric Pouech 26146cdd67 Started the real implementation of mciavi. 2001-02-14 21:49:22 +00:00
Andreas Mohr dacdb9c4c6 Cosmetics. 2001-02-14 00:29:16 +00:00
Francois Gouget b87a83866f Change the callback declarations to a safer format. 2001-02-12 03:51:04 +00:00
Andreas Mohr 14150c1ad5 Make MMIO_Open work with NULL filename again. 2001-02-12 03:41:13 +00:00
Andreas Mohr 1ea771c218 Don't touch WAVEHDRs dwLoops variable. 2001-02-12 01:24:18 +00:00
Eric Pouech 5d1892358b Fixed some mci string parsing issues.
Added more mappings 32ATo16.
2001-01-28 23:11:27 +00:00
Eric Pouech 2251fbc3c4 Simplified memory allocation for asynchronous MCI message handling. 2001-01-28 23:10:52 +00:00
Eric Pouech 15a3d774b0 Delay importing user32 (only used for configuration). 2001-01-28 23:10:22 +00:00
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Andreas Mohr c9cf70d448 Some more cleanups. 2001-01-26 20:40:50 +00:00
Patrik Stridvall d5f824b482 Fixed some issues found by winapi_check. 2001-01-25 22:23:08 +00:00
Huw D M Davies 53cb7cecc5 Fix off by one error in buffer length check. 2001-01-18 20:29:41 +00:00
Alexandre Julliard 0618746265 Cleaned up dll startup routines now that we have separate address
spaces.
2001-01-17 22:03:18 +00:00
Andreas Mohr 18a9d7417d Cosmetics. 2001-01-17 21:52:42 +00:00
Alexandre Julliard d8e9a09d9b Removed unnecessary headers. 2001-01-15 20:22:30 +00:00
Alexandre Julliard 728702e6ef winmm.dll can now be properly separated. 2001-01-13 01:01:00 +00:00
Ove Kaaven 0a01fbdacb Remove multimedia timers from the service thread, use a separate thread
instead.
2001-01-13 00:27:50 +00:00
Huw D M Davies c18391a003 Actually call CDROM_Audio_GetTracksInfo when retrieving
MCI_CDA_STATUS_TRACK_TYPE.
WINE_CDA_OPEN maps to MCIERR_HARDWARE.
2001-01-09 20:51:59 +00:00
François Gouget c583b68565 We must cast the return value of GetProcAddress. 2001-01-05 03:44:40 +00:00
Eric Pouech ad250aac34 Now using manifest constant instead of raw values for all the
DRV_QUERY??? values.
2001-01-04 19:53:51 +00:00
Marcus Meissner f7e09367bf Set fragments for wave input to 7 x 1024 byte. 2001-01-04 19:28:14 +00:00
Eric Pouech 40e9217523 Fixed loading of 16 bit drivers.
Better support for native mappers.
2001-01-04 19:27:49 +00:00
Eric Pouech 0478059b46 Removed duplicate field in internal structure.
Silenced warning for MCI_CONFIGURE message.
2001-01-03 21:36:56 +00:00
Eric Pouech 8bdba1ba6c Added support for the DRVM_MAPPER_STATUS message. 2001-01-03 21:35:00 +00:00
Eric Pouech 95064364a8 Replaced pointers to external functions by a DLL import. 2001-01-03 21:33:17 +00:00
Marcus Meissner 7a01b38321 Read 4 bytes to wake up GETISPACE. 2001-01-02 20:32:33 +00:00
Ulrich Weigand d34bc744f8 Compile fix if HAVE_OSS is not defined. 2000-12-27 18:43:30 +00:00
Andreas Mohr a6d83ebae1 - clarify many error messages
- add data corruption warning to README file
2000-12-27 04:02:46 +00:00
Eric Pouech 4d24e0f5a6 Replaced calls to KERNEL.Yield16 by calls to KERNEL32.K32WOWYield from
outside libkernel.so.
2000-12-22 23:25:47 +00:00