Commit Graph

1542 Commits

Author SHA1 Message Date
Andrew Eikum cba322d71d winmm: Allow larger MMTIME sizes. 2014-12-15 18:13:35 +01:00
Bruno Jesus 2a5f5b89fd winmm/tests: Add joystick tests. 2014-12-11 11:59:39 +01:00
Bruno Jesus 125b0f74c5 winmm: Handle invalid threshold values in joySetThreshold. 2014-12-11 11:57:59 +01:00
Bruno Jesus 9c8978cf5c winmm: Allow any period value for setJoyCapture. 2014-12-11 11:57:56 +01:00
Bruno Jesus 135f929a39 winmm: The dwSize paramater of JOYINFOEX must be set correctly. 2014-12-11 11:57:51 +01:00
Bruno Jesus 3db2e9113e winmm: Allow calling joyReleaseCapture multiple times. 2014-12-11 11:57:47 +01:00
Bruno Jesus 45f46bd359 winmm: Handle NULL parameter in joyGetPos/joyGetPosEx. 2014-12-11 11:57:42 +01:00
Andrew Eikum 5b7e49e84a Revert "winmm: Increase mmdevapi buffer sizes.".
This reverts commit fdfff7cf60.

In theory, this commit should have had no affect on winmm-using
applications and just prevented underruns on the mmdevapi side. But
Patrol Falcon abuses the winmm API by modifying the buffer after
passing it to waveOutWrite, and this patch breaks that behavior. We've
improved the winecoreaudio driver since this patch was sent, and so
large buffers should no longer be necessary to avoid underruns.
2014-12-04 11:10:22 +01:00
Qian Hong b3ebdd904c winmm: Also initialize sound device thread in mixerGetControlDetails.
Fixed volume control in EveryonePiano.
2014-09-29 18:56:00 +02:00
Akihiro Sagawa e2779a4c9a winmm: Don't call the custom MMIOM_SEEK handler while opening. 2014-09-01 21:10:12 +02:00
Akihiro Sagawa d5345e64f1 winmm: Avoid sending MMIOM_SEEK message in debug trace. 2014-09-01 21:10:12 +02:00
Akihiro Sagawa 4df26eefe6 winmm/tests: Add more tests for custom procedures. 2014-09-01 21:10:12 +02:00
Akihiro Sagawa 113a2abbc8 winmm: Fallback to SND_FILENAME if the alias isn't found in the profile. 2014-07-04 19:30:39 +02:00
Akihiro Sagawa 8d9a7247c3 winmm: Fix SEEK_END handling for memory files. 2014-06-16 18:03:18 +02:00
Akihiro Sagawa 71b8a56c84 winmm: Update lBufOffset after seeking file directly. 2014-06-16 18:03:13 +02:00
Akihiro Sagawa f7ddc1eb95 winmm: Avoid direct seeking for memory files. 2014-06-16 18:03:12 +02:00
Akihiro Sagawa c4629e5af5 winmm: Memory file buffer is available even if we just allocate memory. 2014-06-16 18:03:10 +02:00
Akihiro Sagawa 09a1f81cb4 winmm/tests: Activate some mmioSeek tests with todo_wine keyword. 2014-06-16 16:41:12 +02:00
Bruno Jesus c3a362a4c4 winmm: Fix a memory leak in mciSendStringW (valgrind). 2014-06-11 16:09:52 +02:00
Andrew Eikum a6bf8328fd winmm/tests: Accept MMSYSERR_ALLOCATED for more tests. 2014-03-25 19:05:10 +01:00
Stefan Dösinger 858bb223b4 winmm: Make some joystick functions hookable. 2014-03-03 17:46:54 +01:00
Francois Gouget d155df5c19 winmm/tests: Change the current directory to a place that will be writable. 2014-02-25 14:21:14 -06:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Michael Stefaniuc ff7ebba27f winmm/tests: Avoid spurious test failures on Windows. 2014-02-04 13:41:47 +01:00
Andrew Eikum 8695369dc5 winmm: Clean up ACM stream after query. 2014-01-29 15:01:12 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard 4f3d71cef3 makefiles: Get rid of the no longer used PO_SRCS variables. 2013-12-15 10:23:04 +01:00
Frédéric Delanoy 576102e9aa winmm: Use BOOL type where appropriate. 2013-11-27 10:54:32 +01:00
Andrew Eikum 06c95af457 winmm: Also try MSACM conversions with WAVE_FORMAT_QUERY. 2013-11-19 11:08:22 +01:00
Alexandre Julliard 5756ee09f3 makefiles: Add makedep pragmas for rc files that contain translations. 2013-11-05 20:38:19 +01:00
Michael Stefaniuc 6d7bd62a73 winmm/tests: Compile with -D__WINESRC__. 2013-11-04 11:05:40 +01:00
Michael Stefaniuc 36638ef5f8 winmm/tests: Use a better type for the mixer object. 2013-11-04 11:05:25 +01:00
Michael Stefaniuc a749f27ab3 winmm/tests: Use the explicit CreateEventW() and don't bother testing it. 2013-11-04 11:05:16 +01:00
Michael Stefaniuc 3101b50121 winmm/tests: Fix the includes for generated.c. 2013-10-31 09:58:43 +01:00
Michael Stefaniuc e31d53616f winmm/tests: Use the explicit mciSendCommandA() version. 2013-10-31 09:58:43 +01:00
Michael Stefaniuc d9efd9f67e winmm/tests: Avoid duplicating the tested call in the ok() message. 2013-10-31 09:58:43 +01:00
Michael Stefaniuc ff7511cc0a winmm/tests: Skip tests for MMSYSERR_NODRIVER too. 2013-10-30 09:42:12 +01:00
Qian Hong 78b2fd8399 winmm: Fixed mixerGetControlDetails with null paDetails. 2013-10-25 13:36:00 +02:00
Michael Stefaniuc 51ce8f254e winmm/tests: Use the explicit mciSendStringA() form. 2013-10-16 11:41:20 +02:00
Frédéric Delanoy b7b5c88750 winmm/tests: Use BOOL type where appropriate. 2013-10-14 10:44:45 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Francois Gouget 7eeb804907 winmm: Fix two error messages to not point users to a MIDI Mapper configuration applet we don't have. 2013-10-01 19:13:18 +02:00
Lu Jiashu a0ed65f593 winmm: Clone the whole adwInfo array in MMIO_Open. 2013-09-25 13:38:14 +02:00
Andrew Eikum fdfff7cf60 winmm: Increase mmdevapi buffer sizes.
The tiny buffer size caused audio capture glitches on OSX, where the OS
often returns audio in half-second chunks.
2013-08-21 19:55:25 +02:00
Fabrice Bauzac 21e0f739be winmm: Fix WOD_Open() WID_Open() WAVE_MAPPER no-device case. 2013-08-21 12:13:55 +02:00
Andrew Eikum 0627ddcf15 winmm: Don't count unused frames. 2013-07-27 11:56:28 -05:00
Andrew Eikum 35e4aac8f6 winmm/tests: Fix waveInGetPosition type.
We're comparing the reported value against dwBytesRecorded, so we should
request the value to be in bytes.
2013-07-27 11:56:24 -05:00
Marcus Meissner faeb9a5bfc winmm: Fix incorrect parameter for test debug (Coverity). 2013-06-28 13:14:25 +02:00
Andrew Eikum d4560b0ce0 winmm/tests: Fix test that fails on NT4. 2013-05-31 19:16:00 +02:00
Andrew Eikum ace442f3b7 winmm/tests: Only test non-mapper devices in interactive mode.
Other devices might be less reliable, but we should generally expect
WAVE_MAPPER to behave well. This also massively reduces test runtime,
depending on how many devices are present.
2013-04-29 11:41:59 +02:00
Akihiro Sagawa 7a22250867 winmm: Inherit the seek position when using standard file handle. 2013-04-04 19:30:21 +02:00
Andrew Talbot 11ebf851b2 winmm: Remove unneeded address-of operator from function name. 2013-04-01 12:19:21 +02:00
Andrew Eikum 2d76befbdd winmm: Shutdown the devices thread when all devices are closed. 2013-03-26 12:11:47 +01:00
Jörg Höhle 2722f2cbfc winmm: Fix GetPosition when using MSACM codecs. 2013-03-12 16:29:11 +01:00
Andrew Eikum dd0751ae83 winmm/tests: Add tests for non-block-aligned fragment sizes. 2013-03-11 13:38:39 +01:00
Andrew Eikum f74128f132 winmm: Truncate buffers to align to frame size. 2013-03-11 13:38:30 +01:00
Jörg Höhle fe7a057a32 winmm: Don't log the uninitialised MCI output buffer in case of error. 2013-03-05 09:37:46 +01:00
Andrew Eikum db92670f97 winmm/tests: Add another valid return code. 2013-03-04 19:28:26 +01:00
Jörg Höhle 4f0743bffa winmm: WAVE_OPEN_QUERY causes no WIM/WOM_OPEN notification. 2013-02-22 17:36:21 +01:00
Jörg Höhle f67bc43e22 winmm: Handle GetTickCount overflow in MIDI player. 2013-02-14 17:37:14 +01:00
Jörg Höhle d4b2d48f24 winmm: More compatible waveIn/Out[Un]Prepare WHDR_* flag handling. 2013-02-13 17:19:43 +01:00
Jörg Höhle b95910ccbc winmm: More compatible midiIn/Out[Un]Prepare MHDR_* flag handling. 2013-02-13 17:19:43 +01:00
Francois Gouget 6ad54620f0 winmm/tests: Allow more margin in the test_asyncWAVE() playback check. 2013-01-22 20:01:57 +01:00
Francois Gouget f963f93964 Assorted spelling fixes. 2013-01-07 11:10:40 +01:00
Michael Stefaniuc 3b4bb9dcf3 winmm: Add missing LeaveCriticalSection on error paths (Smatch). 2013-01-07 11:09:30 +01:00
Andrew Eikum 93348b21f7 winmm: Don't map the device if WAVE_FORMAT_DIRECT is given. 2013-01-02 13:35:51 +01:00
Andrew Eikum 8f03c51e55 winmm: Reroute WAVE_MAPPER devices as the default device changes. 2012-12-28 11:26:40 +01:00
Andrew Eikum b73da85dec winmm: Open WAVE_MAPPER devices in their own devices array. 2012-12-27 12:08:21 +01:00
Andrew Eikum 68679158b6 winmm: Don't give a period time to IAudioClient::Initialize. 2012-12-27 12:08:14 +01:00
Andrew Eikum 4ab4bc5d09 winmm: Rearrange device mapping when a new default device is chosen. 2012-12-26 18:23:06 +01:00
Andrew Eikum 08f73e2a07 winmm: Use a separate array to map the default device. 2012-12-24 13:32:58 +01:00
Andrew Eikum b1d9d43af7 winmm: Don't mask out SND_ALIAS_ID or SND_FILENAME in sndPlaySound. 2012-12-04 19:34:26 +01:00
Akihiro Sagawa c2cf4ddb93 winmm: Fix handling of mmio file buffers. 2012-11-28 20:14:52 +01:00
Akihiro Sagawa 1aa15750ed winmm/tests: Add EOF and buffer pointer tests for mmio. 2012-11-20 13:32:50 +01:00
Akihiro Sagawa 2d3f320463 winmm: Fix SEEK_END direction of mmio files without buffering. 2012-11-13 18:01:44 +01:00
Akihiro Sagawa 10c7f5859c winmm/tests: Add more mmioSeek tests. 2012-11-13 18:01:39 +01:00
Jörg Höhle f5628373e5 winmm: Call IsFormatSupported for WAVE_FORMAT_QUERY only. 2012-11-09 11:51:39 +01:00
Jörg Höhle e3e0bfca20 winmm: Avoid generic MMSYSERR_ERROR during initialisation. 2012-11-09 11:50:45 +01:00
Jörg Höhle 6086c7be19 winmm: Prefer using MMSYSERR_* over AUDCLNT_E_* from mmdevapi. 2012-11-09 11:48:53 +01:00
André Hentschel 126fded4a4 winmm: Mark up fallthrough switch case (coverity). 2012-11-08 15:37:51 +01:00
Jörg Höhle 1fc362ce55 winmm: Turn some MCI parser ERR into FIXME. 2012-10-30 14:37:55 +01:00
Maarten Lankhorst 6f84708902 winmm: Do not blindly reset device when already stopped. 2012-10-19 16:51:56 +02:00
Jörg Höhle 8ff7436d21 winmm: The "open new ..." MCI string command sets an empty OPEN_ELEMENT. 2012-09-27 13:08:28 +02:00
Francois Gouget eabbe5ab58 winmm: MMDRV_GetRelated() is not used anymore so remove it. 2012-08-13 11:51:54 +02:00
Michael Stefaniuc d94eaa3b20 winmm: Avoid TRUE FALSE conditional expressions. 2012-07-31 12:36:20 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Andrew Eikum 47332210dd winmm: Don't call MMDevAPI during process exit. 2012-05-11 15:39:21 +02:00
Andrew Eikum 31291cdc6c winmm: Close open wave devices upon process detach. 2012-05-08 09:30:31 +02:00
Andrew Eikum d022cc1ddf winmm: Support DRV_QUERYDEVICEINTERFACE in waveXxxMessage. 2012-04-06 20:12:21 +02:00
Andrew Eikum 1b21fe827f mmddk.h: Remove unused, Wine-specific WinMM defines. 2012-04-03 17:53:37 +02:00
Andrew Eikum 447b045825 winmm: Report waveIn devices' component type as Microphone. 2012-03-28 11:35:52 +02:00
Andrew Eikum 6a6e1bd50e winmm: Support DRVM_MAPPER_PREFERRED_GET in waveXxxMessage. 2012-03-28 11:35:44 +02:00
Andrew Eikum 3579bbd8ab winmm: Remove unused define. 2012-03-08 17:57:40 +01:00
Jörg Höhle 21e47e905e winmm: Make midiStream* messages asynchronous to avoid deadlocks. 2012-02-17 18:06:51 +01:00
Jörg Höhle 1b11576005 winmm: Avoid using SuspendThread, it can hang Wine. 2012-02-17 18:06:50 +01:00
Jörg Höhle 197607db2e winmm: Allow new sounds to interrupt previous PlaySound invocations. 2012-02-16 18:51:56 +01:00
Andrew Eikum 74d6990494 winmm: TRACE unhandled messages. 2012-02-07 14:03:02 -06:00
Andrew Eikum be7a93cf56 winmm: Downgrade most ERRs to WARNs. 2012-02-07 14:02:58 -06:00
Andrew Eikum 6847e882b8 winmm: Initialize COM for MULTITHREADED, not APARTMENTTHREADED. 2012-01-31 20:39:11 +01:00