Jörg Höhle
594a70f550
winmm: Have MCI drivers handle notification for MCI_OPEN.
...
All notifications are handled locally by the drivers.
2010-05-20 16:25:44 +02:00
Maarten Lankhorst
00eaa92945
winmm: Make timer keep a ref on winmm while it's running.
2010-05-19 11:20:37 +02:00
Jörg Höhle
c89853ebe5
winmm: More MIDI boundary tests & fixes.
2010-05-19 11:17:27 +02:00
Jörg Höhle
a311dff763
winmm: A NULL CALLBACK_FUNCTION is acceptable since w2k.
2010-05-19 11:17:26 +02:00
Jörg Höhle
e3869300b9
winmm: WAVE/MIDI_MAPPER (-1) is a 32 bit UINT, not 16.
2010-05-19 11:17:26 +02:00
Gerald Pfeifer
eab579dfcb
winmm/tests: Remove two unused variables (and dead code) from check_position.
2010-05-10 18:20:36 +02:00
Gerald Pfeifer
6a6749937b
winmm/tests: Remove variable start which is not really used from wave_out_test_deviceOut.
2010-05-03 15:42:05 +02:00
Paul Vriens
be7c811338
winmm: Update Dutch translation.
2010-05-03 13:54:31 +02:00
Maarten Lankhorst
963102fd89
winmm: Fix handle leak in timer tests.
2010-04-26 10:22:29 -05:00
Gerald Pfeifer
d623f0045a
winmm: Remove variables duration and samples which are not really used from check_position.
2010-04-26 07:03:04 -05:00
Gerald Pfeifer
2af5528a0c
winmm: Remove variable devID which is not really used from MMDRV_Message.
2010-04-26 07:00:32 -05:00
Jörg Höhle
c662c35edc
winmm: MCI_SYSINFO dwRetSize counts characters, not bytes.
...
MSDN says the contrary.
2010-04-16 12:39:26 +02:00
Jörg Höhle
0bc218b9db
winmm: Prepare transition of MCI parser to 64bit.
2010-04-14 18:21:07 +02:00
Alexandre Julliard
36822bbd7d
winmm/tests: Fix a pointer conversion warning on 64-bit.
2010-04-12 15:39:32 +02:00
Maarten Lankhorst
137469479c
winmm: Remove timeGetTime.
2010-04-12 15:39:20 +02:00
Jörg Höhle
db0df4c067
winmm: Improve MCI A/W mapping.
2010-04-12 15:38:15 +02:00
Jörg Höhle
b84576fcef
winmm: MCI system commands are not eligible for auto-open.
2010-04-12 15:37:44 +02:00
Jörg Höhle
c31bdb98f9
winmm/tests: Add more MCI tests.
2010-04-01 18:12:41 +02:00
Jörg Höhle
4ed308f452
winmm: Improve MCI's Sysinfo string command.
2010-04-01 18:12:41 +02:00
Jörg Höhle
f70b2f5493
winmm: Improve MCI's Sysinfo command.
2010-04-01 18:12:41 +02:00
Jörg Höhle
e89468734d
winmm: Support MCI "close all" command.
...
This is not yet generalized to "pause all" or "stop all".
2010-04-01 18:12:41 +02:00
Maarten Lankhorst
7d1199de72
winmm: Clean up mapper code.
2010-04-01 18:12:41 +02:00
Maarten Lankhorst
d368aefdbe
winmm: Clean up MMDRV_Init.
2010-04-01 18:12:40 +02:00
Maarten Lankhorst
3a96c85cfb
winmm: Remove some dead code.
2010-04-01 18:12:40 +02:00
Maarten Lankhorst
4f4dd855c4
winmm: Defer loading drivers until they are requested.
2010-04-01 18:12:40 +02:00
Jörg Höhle
74ad854e41
winmm/tests: Use cpp's __LINE__ to print meaningful line numbers.
2010-03-30 14:57:51 +02:00
Francois Gouget
3428b94a8d
Assorted spelling and case fixes.
2010-03-22 10:49:13 +01:00
Jörg Höhle
104cc7c28e
midimap: Allow GetVolume by device identifier.
2010-03-19 13:15:44 +01:00
Maarten Lankhorst
b0337ada1a
winmm: Allow SND_ALIAS|SND_FILENAME in PlaySound.
2010-03-18 13:46:38 +01:00
Alexandre Julliard
bef5645eb1
makefiles: Remove the no longer needed explicit separators for dependencies.
2010-03-16 13:28:19 +01:00
Jörg Höhle
bafbc9820e
winmm/tests: Fix up to 3 MCI test failures.
2010-03-02 16:11:05 +01:00
Gerald Pfeifer
9d8160c52a
winmm/tests: Fix test condition in test_midiStream().
2010-02-25 12:10:28 +01:00
Jörg Höhle
10b1e2ee88
winmm/tests: Fix transient notification error: messages may arrive late.
2010-02-24 15:12:30 +01:00
Jörg Höhle
9b442134cf
winmm/tests: MIDIHDR tests.
2010-02-22 13:18:48 +01:00
Jörg Höhle
64b6287e83
winmm: Accept the ancient, smaller MIDIHDR.
2010-02-22 13:18:26 +01:00
Jörg Höhle
a8f1d2eb2f
winmm: MIDIHDR.dwOffset is set with MEVT_F_CALLBACK only.
...
At the same time, the change to the player loop prevents a buffer
overshoot and a (perhaps unlikely) program trace where a sequence
Suspend; Stop; midiStreamOut could send MOM_DONE twice and access
memory possibly released within a MOM_DONE DCB_FUNCTION callback.
2010-02-22 13:17:26 +01:00
Jörg Höhle
63d0aeeafa
winmm: Do not access MIDIHDR past MOM_DONE DriverCallback.
2010-02-22 13:17:04 +01:00
Jörg Höhle
e1cf94d9da
midimap: Have GetDevCaps error out when no MIDI device is present.
2010-02-22 13:16:57 +01:00
Alexandre Julliard
6164ce2d82
makefiles: Use the standard C_SRCS variable as the list of test files.
...
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Jörg Höhle
a956086e18
winmm: dwBytesRecorded controls how much is played, not dwBufferLength.
2010-02-19 15:10:29 +01:00
Alexandre Julliard
f7a447bada
winmm/tests: Fix a couple of incorrect casts.
2010-02-16 15:50:21 +01:00
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