Commit Graph

140 Commits

Author SHA1 Message Date
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
Francois Gouget 6f643290cf winmm: WINMM_CheckForMMSystem() is not used, remove it. 2009-11-09 19:41:29 +01: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 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 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 09a9c87d6b mmsystem: Cleanly separate MCI in MMSystem from WinMM code. 2009-10-19 11:38:34 +02:00
Alexandre Julliard 8f813fd4e4 winmm: Fix some Win64 pointer truncations issues. 2009-05-20 17:52:46 +02:00
Michael Stefaniuc 8fde5bf807 winmm: Remove superfluous pointer casts. 2009-02-20 18:07:42 +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 Nguyen 0135bf8a0c winmm: mixerOpen should return success with NULL dwCallback and CALLBACK_WINDOW flag. 2008-12-22 13:43:56 +01:00
Christian Costa 48b459afff winmm: Implement stub for midiConnect and midiDisconnect. 2008-08-18 17:15: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
Lei Zhang d20f982433 winmm: Do not unload drivers when the process is terminating. 2008-04-29 14:57:30 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Andrew Talbot 19c5811256 winmm: Remove unneeded casts. 2008-02-06 12:43:53 +01:00
Austin English 79c0bc28ff More spelling fixes. 2008-01-04 12:55:45 +01:00
Aric Stewart 35ecb1b6ee winmm: Correct check for MIXER_GETLINECONTROLSF_ONEBYTYPE in mixerGetLineControlsA. 2007-11-29 15:32:03 +01:00
Francois Gouget 7e8a9e3dfb winmm: Fix the mmTask*() prototypes. 2007-08-30 17:02:48 +02:00
Alexandre Julliard 1e178be862 winmm: Get rid of the WINE_MM_IDATA global structure, there's only one instance anyway. 2007-06-07 17:50:28 +02:00
Andrew Talbot 5f8d15027e winmm: Exclude unused headers. 2007-05-29 11:53:57 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Maarten Lankhorst 0c6a63a062 winmm: Pass the right message to hwnd from mixer callback. 2007-04-23 13:55:06 +02:00
Maarten Lankhorst 35a8ee9340 winmm: Implement CALLBACK_WINDOW. 2007-04-16 12:12:46 +02:00
Jan Zerebecki ca350ad2b1 winmm: Add DebugInfo to critical sections. 2007-03-12 13:40:57 +01:00
Eric Pouech 2f540b8602 winmm: Remove WINE_NO_LONG_AS_INT. 2006-11-09 11:44:30 +01:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Reif a9bd81be63 winmm: Check waveOutGetVolume parameter. 2006-05-09 11:54:55 +02:00
Eric Pouech 7ec69e9c2b LoadLibrary16 is no longer exported by name, so do the lookup by its
ordinal (when loading NE sibling).
2005-11-28 10:40:25 +01:00
Marcus Meissner bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Mike McCormack dc1c62a592 Fix gcc 4.0 warnings. 2005-09-07 11:31:17 +00:00
Mike McCormack b2ba933fcf Make multimedia threads high priority. 2005-04-27 09:39:55 +00:00
Mike McCormack 795b17e055 Make WINMM_IData statically allocated. 2005-04-27 08:12:58 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Robert Reif 1a90d1cc3c Provide default implementation of waveInPrepareHeader and
waveInUnprepareHeader if driver doesn't support them.
2005-03-16 11:30:34 +00:00
Jason Edmeades 17cff085fb Avoid trap in mixerGetLineControlsA when cControls is uninitialized
and MIXER_GETLINECONTROLSSF_ONEBYTYPE requested.
2005-03-15 15:38:34 +00:00
Eric Pouech 1eed552b4d - rewrite MCI interfaces as Unicode interface (as it should be)
- made some winmm APIs rely on the Unicode version for the core
  implementation (instead of Ansi flavor)
2005-02-09 22:26:25 +00:00
Ge van Geldorp c24ca67f58 Match PSDK definitions for LPCWAVEFORMATEX. 2004-12-08 13:57:55 +00:00
Alexandre Julliard b4e495574b Authors: Eric Pouech <pouech-eric@wanadoo.fr>, Filip Navara <xnavara@volny.cz>
32 bit low level drivers now use a Unicode interface (used to be ANSI):
- Send the *_GETDEVCAPS messages in unicode format from the
  *GetDevCapsW function and call the *GetDevCapsW from their respective
  Ansi versions.
- Modify all low level drivers to correctly process the *_GETDEVCAPS
  messages as unicode.
- *_GETDEVCAPS messages are now mapped from/to unicode for 16 bit code.
- Removed all SoundBlaster naming oldies.
Better use of some unicode functions (instead of Ansi) in winmm.
2004-12-06 20:55:25 +00:00
Rémi Assailly 8cd13776e2 Add some missing error values in WINMM_ErrorToString. 2004-11-21 15:37:04 +00:00
Vincent Béron 6c644d68cf Fix various function prototypes. 2004-10-19 23:55:15 +00:00
Eric Pouech 1876d185e9 - bring the multimedia doc up-to-date
- moved the TODO from the doc into the code
2004-10-11 19:57:10 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Eric Pouech f2ea78cdfb Implemented the mmTask* functions. 2004-08-16 23:19:17 +00:00
Robert Reif c427708bd5 Change MIXER_GetDev to take pointer to returned address pointer and
return one of 3 possible return values rather than an address or
NULL.
2004-08-09 18:45:05 +00:00
Robert Reif f3b7cadf8d Adds *GetDevCapsW bad pointer check.
Adds waveOutGetDevCapsW test.
2004-07-21 03:10:24 +00:00
Filip Navara 2b95caccd3 - Implementation of mmTaskCreate. Based on patch by Eric Pouech.
- Fallback implementation in waveOut[Un]PrepareHeader.
2004-07-21 03:02:36 +00:00
Dimitrie O. Paun 0415030f51 Lookup driver information in registry and system.ini.
Make the code inspect the registry/system.ini at call time, rather
then initialization time.
Code cleanups.
2004-06-30 18:12:20 +00:00
Robert Reif 95bd820fe1 Don't try to map the mapper device. 2004-06-14 16:53:59 +00:00
Robert Reif fd758586d1 Added some trace and debug printing. 2004-06-01 19:40:48 +00:00
Uwe Bonnes 0a5f393483 Fixed missing inversion in bit manipulation. 2004-05-27 20:12:51 +00:00
Robert Reif 41c6b5b5b9 Fixed a problem were a trace accesses a data member that may be
outside of the actual data structure passed in.
Added some more debug traces.
2004-05-27 20:05:08 +00:00
Robert Reif 7ca0381e7a Cleanup prepare/unprepare header parameter checking.
Fix midiInGetDevCapsW.
2004-02-27 21:29:32 +00:00
Sean Young 65130e8a5d Check uSize parameter in waveOutUnprepareHeader and
waveOutPrepareHeader.
2004-02-26 05:28:01 +00:00
Christian Costa 26d73867e0 Fixed waveInGetDevCapsW. 2004-02-24 01:02:01 +00:00
Dmitry Timoshkov 123ce73d6b Add MCI_SYSINFO command W to A mapping. 2004-01-01 00:07:01 +00:00
Dmitry Timoshkov 9741589bdf Fix many function prototypes and data types according to Platform SDK
definitions.
2003-12-31 23:49:45 +00:00
Dmitry Timoshkov be6d014f35 Add Unicode->ANSI MCI message mapping, implement mciSendCommandW, fix
a bug with a window creation belonging to another hInstance, add
support for MCI_WINDOW command in mciavi.drv, add support for MCI_PLAY
and MCI_STOP in the MCIWndClass implementation.
2003-12-31 19:00:03 +00:00
Eric Pouech ed37b7a8bb Move (again) usage of 16 bit specific functions (thunk lock) to 16 bit
code only.
2003-12-08 21:54:29 +00:00
Eric Pouech cd7328672e Move usage of 16 bit specific functions (MapSL) in 16 bit code only. 2003-12-01 22:38:19 +00:00
Christian Costa 3640c36f8b Fix handling of the lpuDeviceID input param in MIDI_StreamOpen. 2003-11-26 03:39:13 +00:00
Eric Pouech b1a2d883fc Removed some more dependencies on wine 16-bit specific entities. 2003-11-09 01:19:58 +00:00
Robert Reif b4e9ef02c2 Clean up *GetDevCaps to check for valid pointer and only copy proper
amount of data.
2003-10-30 23:07:23 +00:00
Robert Reif 80a7638006 Fix MMDRV_PhysicalFeatures to handle both 16 and 32 bit pointers
properly.
2003-10-22 03:04:07 +00:00
Robert Reif 9d2e09851b Free should not happen when still playing. 2003-10-14 20:05:42 +00:00
Eric Pouech 78b50f23e3 - Moved Wine extension to get DSound interface from a wave device from
include/mmsystem.h to include/mmddk.h.
- Removed all dependencies on heap.h.
- Fixed a few prototypes (mmioRename[AW], mciSendStringW, *Message).
2003-09-15 20:13:30 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Eric Pouech 5061d3a21d - renamed winmm.OpenDriverW into winmm.OpenDriver
- replaced all inter-DLL calls (msacm and msvideo) to OpenDriverA with
  OpenDriver (unicode form)
- as a consequence, driver name handling in msacm is now mostly
  unicode
- moved UserYield16 and UnMapLS call out of the 32bit part of winmm
2003-07-02 00:40:14 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Alexandre Julliard 1bb3645443 Avoid local WINAPI function pointers. 2003-05-11 03:00:32 +00:00
Robert Reif 6168a2ea20 Added waveIn tests. 2003-03-04 22:15:39 +00:00
Eric Pouech 893f5ff432 Allowed waveInMessage to use physical information (as waveOut does). 2003-02-17 01:48:47 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Francois Gouget 8b97a3a391 In the latest sdk the {waveOut,midiOut}{Get,Set}Volume functions take
a handle as the first parameter.
2002-12-15 02:59:50 +00:00
Francois Gouget f650222131 If given a bad device id waveOutGetDevCapsA is supposed to return
MMSYSERR_BADDEVICEID. Fixes a todo_wine in the winmm test.
2002-12-15 01:11:41 +00:00
Jeff Smith 5e0bdcc4d1 Fixed 32 bit flag in midiOutShortMsg. 2002-11-30 01:51:56 +00:00
Eric Pouech 689312b15e Now properly unloading multimedia drivers when winmm unloads. 2002-11-11 19:53:01 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Eric Pouech ac5de27d1c winmm/mmsystem now compiles with -DSTRICT. 2002-10-31 01:02:41 +00:00
Eric Pouech 50ade2b33d - internal renaming (no longer using MMSYSTEM prefixes for WINMM only
functions)
- moved time 16/32 conversions functions to 16 bit source files
- final Makefile changes (16 bit part can now really be not compiled
  when -disable-win16 is requested)
2002-10-29 22:02:00 +00:00
Eric Pouech 9becf85a2c All MCI functions are now cleanly separated. 2002-10-29 21:53:44 +00:00
Eric Pouech 74b20fb8d8 - revisited mmsystem/winmm loading mechanism
- added WINMM_CheckMMSystem function (helps 32 bit code detect
  presence of our own mmsystem DLL)
- some internal renaming (MULTIMEDIA => WINMM)
2002-10-29 21:49:35 +00:00
Eric Pouech 1e3e87d430 Simplify the global internal data handling. 2002-10-25 19:00:12 +00:00
Eric Pouech 46c49c6d79 Removed no longer needed list of instance data. 2002-10-10 22:47:25 +00:00
Eric Pouech 57e6ba7009 Started putting all 16 bit code in separate files. 2002-10-10 03:43:53 +00:00