Commit Graph

1325 Commits

Author SHA1 Message Date
Jörg Höhle 67124e1c0b winmm: Improve initial MIDI player thread synchronisation. 2010-02-11 14:38:45 +01:00
Jörg Höhle 7bd6be0706 winmm: Fix incorrect memory useage (Valgrind w/ MIDI tests). 2010-02-11 14:38:44 +01:00
Jörg Höhle a8b8078704 midimap: Implement callback/notification. 2010-02-11 14:38:44 +01:00
Jörg Höhle a758c6a981 winmm: The 64KB buffer limit on MIDIHDR buffers applies to streams only. 2010-02-03 15:49:09 +01:00
Jörg Höhle 771a29da86 winmm/tests: Initial set of MIDI tests. 2010-02-03 15:49:01 +01:00
Jörg Höhle bc76916b90 winmm: Reset MIDIHDR flags prior to return from midiStreamOut. 2010-02-02 12:00:07 +01:00
Jörg Höhle b0d2f77cc9 winmm: Have xyzGetDevCaps return MMSYSERR_BADDEVICEID, not INVALHANDLE. 2010-02-02 11:47:19 +01:00
Jörg Höhle 06d6dd3e72 winmm: Perform stricter MIDI-related error checking. 2010-02-01 15:39:28 +01:00
Jörg Höhle f1373d57c1 winmm: midiStreamPosition can select an alternative MMTIME format. 2010-02-01 14:11:04 +01:00
Jörg Höhle ebd55d9890 winmm: The MIDI MAPPER is not available with MIDI IN. 2010-02-01 14:11:04 +01:00
Jörg Höhle 9fac9d8ffd winmm: Fix MIDI resource leaks. 2010-01-28 11:10:19 +01:00
Dmitry Timoshkov 132e646fd4 winmm: Add a bunch of new mmio tests which discover some bugs in mmio handling. 2010-01-25 13:01:55 +01:00
Eric Pouech 5cab72bc95 winmm: For MCI parsing, use 64bit compatible variables. 2010-01-25 12:52:22 +01:00
Eric Pouech c62cf2e049 winmm: In mmio manipulation, always ensure that we use a HFILE for mmio internal handlers (and not a HANDLE). 2010-01-25 12:51:55 +01:00
Eric Pouech 37afecb883 winmm: A couple of simple fixes for winmm compilation on 64bit platforms. 2010-01-25 12:51:31 +01:00
Dmitry Timoshkov 7639ea3184 winmm: Buffer size must be at least MMIO_DEFAULTBUFFER (8192) bytes.
mmioOpen() with the length of buffer set to 0 expects the buffer to be at least
MMIO_DEFAULTBUFFER (8192) bytes in size, and using buffer of smaller size can
lead to various problems when the buffer actually gets used.
2010-01-18 14:15:43 +01:00
Alexandre Julliard 18a7655234 winmm: Avoid using ReleaseThunkLock from 32-bit code. 2009-12-24 12:29:24 +01:00
Henri Verbeet 4adefb689a winmm: Use wine_dbg_sprintf() in a few debug utility functions. 2009-11-30 12:49:30 +01:00
Jörg Höhle e36db94c7c winmm: Don't stop parsing after MCI's alias keyword. 2009-11-23 13:09:53 +01:00
Jörg Höhle 11f07c6f6b winmm/tests: Introduce coherence tests among parts that may fail. 2009-11-23 13:09:50 +01:00
Jörg Höhle 7ade23e300 winmm: Enable more MCI waveaudio tests. 2009-11-16 15:18:18 +01:00
Jörg Höhle 18971c94b6 winmm/tests: Print symbolic MCIERR_ names. 2009-11-16 15:17:54 +01:00
Jörg Höhle 65011132e5 winmm: MCI_ALL_DEVICE_ID(MCIDEVICEID) is not a 16bit entity in MCI32. 2009-11-16 15:17:30 +01:00
Jörg Höhle b04178eb01 mciwave/tests: Fix a few tests including one hang on Win9X. 2009-11-13 16:30:09 +01:00
Alexandre Julliard 9a43c410f9 winmm: Use PeekMessageW instead of UserYield. 2009-11-12 23:09:20 +01:00
Jörg Höhle 23060afdcd mciwave: Play/Record return MCIERR_OUTOFRANGE as required. 2009-11-11 11:36:19 +01:00
Jörg Höhle 7c62fe4639 mciwave: Seek stops and rounds position down modulo nBlockAlign. 2009-11-11 11:35:47 +01:00
Jörg Höhle 096b774db2 mciwave: Implement Cue as no-op.
Tests show that it must not close the opened wave file.
2009-11-11 11:32:41 +01:00
Jörg Höhle 2dfd3e901b mciwave: Rework MCI notification system. 2009-11-11 11:32:24 +01:00
Jörg Höhle db921ef7dc winmm/tests: Give flaky progress test more time. 2009-11-11 11:30:22 +01:00
Jörg Höhle 6b22861bfd winmm: MCI Close all causes one notification per open driver. 2009-11-10 13:12:52 +01:00
Jörg Höhle c4b5bd44c0 mciwave: Stop must not reset current position. 2009-11-10 13:12:32 +01:00
Jörg Höhle d0e1a4f96f winmm/tests: Fix MCI test failure on Win9x/WinME. 2009-11-10 13:10:55 +01:00
Francois Gouget 6f643290cf winmm: WINMM_CheckForMMSystem() is not used, remove it. 2009-11-09 19:41:29 +01:00
Francois Gouget dff253abe6 winmm/tests: Add a trailing '\n' to an ok() call. 2009-11-09 19:41:07 +01:00
Nicolas Le Cam 556b1ca7ed winmm/tests: Skip tests when running on non-english locale. 2009-11-09 19:38:19 +01:00
Jörg Höhle de00535c13 mciwave: Allow (again) to set wave format parameters prior to recording. 2009-11-05 15:46:28 +01:00
Jörg Höhle 518f4f8cdb mciwave: Set wave format PCM is the only one accepted. 2009-11-05 15:46:19 +01:00
Jörg Höhle f177e61338 winmm: Do not crash on NULL MCI Sysinfo command output buffer pointer. 2009-11-05 15:46:14 +01:00
Jörg Höhle 4aa5f5bc10 winmm/tests: Add MCI waveaudio tests. 2009-11-05 14:45:40 +01:00
Jörg Höhle 91344ae77c winmm: Time formats hms/tmsf use leading zeroes as in 00:00:00. 2009-10-26 13:21:50 +01:00
Eric Pouech a60dd6e918 winmm: Final split of mmsystem. 2009-10-23 12:17:57 +02:00
Eric Pouech ca1a7c6bad winmm: Get rid of 16bit driver support. 2009-10-23 12:14:58 +02:00
Eric Pouech 2a581444d0 winmm: Get rid of 16bit driver support in mci. 2009-10-23 12:14:52 +02:00
Eric Pouech 14a68405d3 winmm: Simply use kernel32.{Release|Restore}ThunkLock instead of using 16bit convolutions. 2009-10-23 12:14:46 +02:00
Eric Pouech 9709d1c67f winmm: Duplicate the 16<>32 time struct conversion functions in both DLLs. 2009-10-23 12:14:40 +02:00
Eric Pouech 73c7919c87 winmm: Restrict exposure of WINE_MMTHREAD to mmsystem. 2009-10-23 12:14:35 +02:00
Eric Pouech c997bd8460 winmm: Get rid to 16=>32 mappers in winmm (they're now in mmsystem). 2009-10-23 12:14:28 +02:00
Eric Pouech 69c963c3d1 winmm: Get rid of the bFrom32 parameter in MMDRV_Alloc and MMDRV_Message. 2009-10-23 12:14:22 +02:00
Eric Pouech 32c170344a winmm: Move the 16bit management of wave out driver type to the new 16=>32 thunking scheme. 2009-10-23 12:14:15 +02:00
Eric Pouech 739f3304c8 winmm: Move the 16bit management of wave in driver type to the new 16=>32 thunking scheme. 2009-10-23 12:14:08 +02:00
Eric Pouech 2d235de320 winmm: Move the 16bit management of midi stream (for midi out driver type) to the new 16=>32 thunking scheme. 2009-10-23 12:14:01 +02:00
Eric Pouech 80b079e011 winmm: Move the 16bit management of midi out driver type to the new 16=>32 thunking scheme. 2009-10-23 12:13:55 +02:00
Eric Pouech 84efa19e90 winmm: Move the 16bit management of midi in driver type to the new 16=>32 thunking scheme. 2009-10-23 12:13:47 +02:00
Eric Pouech 8aa64672de winmm: Move the 16bit management of mixer driver type to the new 16=>32 thunking scheme. 2009-10-23 12:13:40 +02:00
Eric Pouech beeac41595 winmm: Use the new 16=>32 thunks for Aux driver type. 2009-10-23 12:13:31 +02:00
Eric Pouech 60b652cd4e winmm: Added partial infrastructure for driver management in mmsystem.c. 2009-10-23 12:13:24 +02:00
Eric Pouech 3abaed0f22 winmm: Create a real function for MMSYSTEM.timeGetTime. 2009-10-22 10:41:15 +02:00
Eric Pouech 05e625fe3f mmsystem: Create a real function for mciExecute. 2009-10-21 16:05:55 +02:00
Eric Pouech 22daf0e216 winmm: Move the 16=>32W MCI map functions to mci16.c. 2009-10-21 16:05:55 +02:00
Eric Pouech ebcbdb9cdc winmm: Simplify mciLoadCommandResource by dropping 16bit module support. 2009-10-21 16:05:55 +02:00
Marcus Meissner 8ba51495fc winmm: Handle NULL szFileName in mmioOpen16 (Coverity). 2009-10-19 11:42:53 +02:00
Marcus Meissner 6999921a6d winmm: Return error on NULL ioProc (Coverity). 2009-10-19 11:41:52 +02:00
Eric Pouech b6c7eda2d3 winmm: Get rid of WINE_TIMER_IS32 internal flag. 2009-10-19 11:41:27 +02:00
Eric Pouech 09a9c87d6b mmsystem: Cleanly separate MCI in MMSystem from WinMM code. 2009-10-19 11:38:34 +02:00
Eric Pouech 4633822cdf mmsystem: Move the 16-bit MCI functions to a new mci16.c file. 2009-10-19 11:38:10 +02:00
Eric Pouech 4587a322df winmm: Protect MCI_SYSINFO against null buffers. 2009-10-19 11:36:38 +02:00
Ken Thomases 8b086d6050 winmm/tests: Don't complain for Wine drivers that allow multiple wave-out opens. 2009-10-16 13:36:41 +02:00
Eric Pouech 99c4b22bab winmm: Transform the mmio proc kind into a boolean (to distinguish between ANSI and Unicode). 2009-10-15 12:06:18 +02:00
Eric Pouech e5b4559d2e winmm: Create real 16<>32 thunks for mmio support in MMSystem. 2009-10-15 12:06:17 +02:00
Eric Pouech f4c561746c mmsystem: Move the 16bit mmio code into a dedicated file (mmio16.c). 2009-10-15 12:06:17 +02:00
Paul Vriens 55b3a9c906 winmm/tests: Fix some test failures in Win9x and WinMe. 2009-10-14 11:50:27 +02:00
Jörg Höhle d48d923df3 winmm: MCI notification is controlled by keyword only. 2009-10-14 11:27:08 +02:00
Eric Pouech 0d5c65fef2 winmm: Reduce in MMSystem the calls to WinMM's internals. 2009-10-09 11:50:28 +02:00
Eric Pouech 5b8b9d6da7 winmm: Remove direct inclusion of winemm.h in winemm16.h. 2009-10-09 11:50:28 +02:00
Jörg Höhle ad75d9a217 winmm/tests: Correct (IMA)ADPCM test. 2009-10-06 16:13:17 +02:00
Eric Pouech dd6b7b7f36 winmm: Correctly fill the yield-data parameter in mciGetYieldProc. 2009-10-05 15:18:21 +02:00
Jörg Höhle 376f74b452 winmm: Require at least 16 bytes in the WAVE fmt header for PlaySound. 2009-10-05 15:01:04 +02:00
Eric Pouech 0ba570141d winmm: Correctly check for the installed default ioProcs. 2009-08-29 17:11:10 +02:00
Vladimir Pankratov 590bb35079 winmm: Convert the Russian resources to UTF-8. 2009-08-05 13:10:56 +02:00
Michael Stefaniuc 360478e144 winmm: Convert the German resources to UTF-8. 2009-07-09 15:24:01 +02:00
Dan Kegel ea5a6f2db5 winmm: Don't convert return string in mciSendStringA on error. 2009-07-06 14:35:27 +02:00
Frédéric Delanoy da81ee2520 winmm: Fix French translation. 2009-07-06 14:35:25 +02:00
Michael Stefaniuc 0b16b40148 winmm: Build language resource files separately.
Do not include them from an other rc file.
2009-07-03 11:28:51 +02:00
Aurimas Fišeras f404fd787f winmm: Add Lithuanian translation. 2009-07-02 11:30:13 +02:00
Gerald Pfeifer c4a0539a79 winmm: Use & instead of && for bit test in wave_out_test_deviceOut(). 2009-06-08 14:28:49 +02:00
Paul Vriens 1aa71ea39e winmm/tests: Remove an unreliable test. 2009-06-01 16:16:02 +02:00
Gerald Pfeifer d840311f24 winmm/tests: Fix test in wave_out_test_deviceOut(). 2009-05-25 14:25:50 +02:00
Alexandre Julliard 8f813fd4e4 winmm: Fix some Win64 pointer truncations issues. 2009-05-20 17:52:46 +02:00
Łukasz Wojniłowicz 6c81f8b056 winmm: Added Polish translation. 2009-05-08 13:22:40 +02:00
Detlef Riekenberg be0721d442 winmm/tests: Fix a test on win98. 2009-04-09 11:19:15 +02:00
Aric Stewart 7e8e9c41e9 winmm: SND_ALIAS and SND_ALIAS_ID overlap so when checking for SND_ALIAS_ID make sure it is SND_ALIAS_ID and not SND_ALIAS. 2009-04-02 16:28:30 +02:00
Aric Stewart c08b0a0a9d winmm: Properly cleanup in return from proc_PlaySound if system sound is not found.
Prevents hanging in Outlook 2000 on sound cleanup.
2009-04-02 16:28:30 +02:00
Eric Pouech 2dbc7d5c41 winmm: Added support for SND_ALIAS_ID in winmm.PlaySound[AW]. 2009-03-30 14:20:48 +02:00
Alexandre Julliard b0530a5fbd winmm: Make sound.drv into a stand-alone 16-bit module. 2009-03-23 20:35:00 +01:00
Francois Gouget 8f2b4954b0 winmm: Try to load the Esound driver as a last resort.
This gets sound working out of the box on Solaris.
2009-03-10 12:05:20 +01:00
Michael Stefaniuc 8fde5bf807 winmm: Remove superfluous pointer casts. 2009-02-20 18:07:42 +01:00
Michael Stefaniuc 1134008973 winmm: Remove commented out code.
The code tried to optimize the usage of the 32bit A(scii) winmm API
with a 16bit driver.
2009-02-19 12:52:21 +01:00
Alexandre Julliard 9f32c0d9d6 winmm/tests: Assume volume is not supported if waveGetOutVolume fails. 2009-02-16 12:29:11 +01:00
Alexandre Julliard 3c68ba1bad winmm/tests: Don't test upper bound on sound duration, it's not guaranteed.
Also avoid infinite waits.
2009-02-11 15:56:03 +01:00
Alexandre Julliard 7ca85aa9ea winmm: Disable system thread if poll() support is missing. 2009-02-06 22:33:06 +01:00
Michael Stefaniuc b8a5ab2924 winmm: SendDriverMessage takes LPARAM as 3rd and 4th argument. 2009-02-06 13:04:50 +01:00
Michael Stefaniuc 3415f7788c include: Change some DWORD to DWORD_PTR in mmddk.h.
This matches the DDK and removes 14 Win64 compile warnings.
2009-02-04 12:26:05 +01:00
Andrew Talbot 84666d84a5 winmm: Declare some functions static. 2009-02-02 12:11:55 +01:00
Alasdair Sinclair 986b957e4a winmm/tests: Fix missing void in empty parameter list. 2009-01-29 12:19:49 +01:00
Andrew Nguyen cb6ddfc75b winmm: Make the return behavior of waveOutPrepareHeader consistent for 16-bit and 32-bit. 2009-01-26 15:07:07 +01:00
Alexandre Julliard 023df85183 winmm/tests: Increase the timing tolerances some more. 2009-01-20 14:02:12 +01:00
Alexandre Julliard ec1b28edb0 include: Fix a number of mmsystem.h structure for Win64. 2009-01-09 18:08:29 +01:00
Alexandre Julliard 94d9cfadb0 winmm/tests: Fix handle casting warnings on 64-bit. 2009-01-03 20:15:25 +01:00
Christian Costa 6d8fdefb4a winmm: Check param in joyConfigChanged. 2009-01-02 11:53:12 +01:00
Dan Kegel a7a50e0315 winmm: Don't crash on PlaySound(... SND_ALIAS_ID). 2008-12-29 12:16:18 +01:00
Paul Vriens cb05885f5d winmm/tests: Fix a test failure on NT4 and W2K. 2008-12-23 12:51:23 +01:00
Andrew Nguyen 0135bf8a0c winmm: mixerOpen should return success with NULL dwCallback and CALLBACK_WINDOW flag. 2008-12-22 13:43:56 +01:00
Andrew Nguyen 64cf306292 winmm/tests: Refactor the mixerOpen and mixerClose tests and add a few additional test cases. 2008-12-22 13:43:42 +01:00
Andrew Nguyen 81e37d19e3 winmm/tests: Fix a mismatched failure message. 2008-12-22 13:43:33 +01:00
Vitaliy Margolen cb32c954ba winmm: Stub joyConfigChanged. 2008-12-22 10:29:06 +01:00
Andrew Talbot adb5eb9c11 winmm: Sign-compare warning fix. 2008-12-15 13:25:38 +01:00
ByeongSik Jeon 5f3287d79f *Ko.rc: Update Korean resource.
Fix the unnecessary SUBLANG_NATURAL.
Change the font size from 8 to 9.
2008-12-11 12:21:07 +01:00
Maarten Lankhorst 2233f1eb50 winmm: Some 64-bit pointer fixes. 2008-11-26 14:15:39 +01:00
Francois Gouget b3bf746ff9 Straighten out some ellipses. 2008-11-26 12:33:34 +01:00
Francois Gouget 9c5e97aa71 Assorted spelling fixes. 2008-11-24 14:25:10 +01:00
Alistair Leslie-Hughes aa50cd316c winmm: Increase tolerance range. 2008-11-12 11:49:12 +01:00
Paul Vriens 05c40e08a6 winmm/tests: Fix a test failure on Vista and W2K8. 2008-11-12 11:49:11 +01:00
Paul Vriens 47dddefbb2 winmm/tests: Fix a test failure on Vista and W2K8. 2008-11-07 13:56:08 +01:00
Paul Vriens 97802ef16b winmm/tests: Fix failure on Win9x and WinMe. 2008-11-06 15:01:07 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
Andrew Nguyen 71eb8e10cd winmm: Fix a potential infinite recursion bug. 2008-10-29 13:29:33 +01:00
Vitaliy Margolen 9fbe249f3c winmm: Support more joysticks. 2008-10-27 11:28:39 +01:00
Dmitry Timoshkov d40e003303 winmm: MMIO_ALLOCBUF is ignored if mmioOpen gets a valid buffer.
Existing tests show that MMIO_ALLOCBUF flag is dropped if a valid buffer
is being passed to mmioOpen, that means the buffer is valid in that case.
2008-10-21 13:22:51 +02:00
Alexandre Julliard 7f327237bf Convert remaining source files to utf-8. 2008-10-18 19:23:08 +02:00
Jeff Zaroyko bba54cd407 winmm: Fix a failing mixer test on 98 and ME. 2008-10-17 12:38:52 +02:00
Kai Blin d9145df0da winmm: Use skip() instead of trace() when skipping tests. 2008-10-14 13:41:56 +02:00
Marcus Meissner 0ff2c06c1d Fixed RegEnumKey(Ex)W buffer sizes. 2008-10-13 12:04:26 +02:00
Muneyuki Noguchi 6869b54caa winmm: Convert Japanese resource to UTF-8. 2008-10-13 11:41:33 +02:00
Dmitry Timoshkov 5d24cb4565 winmm: The buffer provided by an application is valid only in the mmioOpen(FOURCC_MEM) case. 2008-10-10 12:54:41 +02:00
Paul Vriens c0e4e2da1e winmm/tests: Fix some failures on Vista and W2K8. 2008-10-10 12:27:39 +02:00
Paul Vriens 6c0467c18c winmm/tests: Fix the failures on Win9x and WinMe. 2008-10-10 12:27:36 +02:00
Paul Vriens f4ba76e1d1 winmm/tests: Fix a test on win9x. 2008-09-08 12:49:12 +02:00
Maarten Lankhorst 6a7127bfc2 winmm: Test opening the same device twice.
Behavioral test to show that wine winmm needs fixing.
2008-08-19 13:36:16 +02:00
Jeff Zaroyko 4603c87351 winmm: Remove misleading message. 2008-08-18 17:15:56 +02:00
Christian Costa 48b459afff winmm: Implement stub for midiConnect and midiDisconnect. 2008-08-18 17:15:56 +02:00
Dan Kegel 6f164d504b winmm/tests: Test mciSendString with non-null return string buffer. 2008-07-23 13:53:56 +02:00
Huw Davies 5798b95a51 winmm: Only fill in the MIXERLINEA struct if the call to mixerGetLineInfoW succeeds. 2008-07-18 13:41:19 +02:00
Dmitry Timoshkov 4d2a2860a5 winmm: Add another test confirming that mmioDescend does set fccType of non RIFF/LIST chunks to 0. 2008-06-25 20:28:13 +02:00
Dan Kegel 97f4fbca7e winmm/tests: Initialize MIXERLINECONTROLSA before calling mixerGetLineControlsA. 2008-06-23 12:46:04 +02:00
Dmitry Timoshkov efcdb202b2 winmm: Clear the fccType in mmioDescend for a not RIFF/LIST case. 2008-06-18 17:11:27 +02:00
Dmitry Timoshkov 64cbea525b winmm: Add the tests for mmioOpen and mmioSetBuffer, make them pass under Wine. 2008-06-18 17:11:14 +02:00
Francois Gouget 414ea6eeee winmm: Remove spaces before '\n' in resource strings. 2008-06-11 20:03:08 +02:00
Matthew D'Asaro f684dac0fc mmio: Do not zero current file position whenever mmioSetBuffer is called. 2008-06-05 11:27:54 +02:00
Zac Brown d62c3197b3 winmm: msiSendStringW: Don't free substring after original string has already been freed. 2008-06-04 12:51:49 +02:00