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