Commit Graph

36 Commits

Author SHA1 Message Date
Michael Stefaniuc 950b8a9699 dmusic: Avoid an intermediate copy in PackStructured().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 11:18:33 +02:00
Michael Stefaniuc 7cd7f14696 dmusic: Implement IDirectMusicBuffer::PackUnstructured().
Based on a patch by Michael Müller <michael@fds-team.de>.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:16 +02:00
Michael Stefaniuc 4fbae8eab4 dmusic: Use DMUS_EVENT_SIZE() to calculate the size of the message.
Suggested by Michael Müller.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Michael Stefaniuc 57eb95a2ea dmusic: Simplify the creation of a DirectMusicBuffer object.
Also lock/unlock the module only on creation/destruction of the object.
2014-06-11 16:12:32 +02:00
Christian Costa 19cb2d2171 dmusic: Implement IDirectMusicBuffer_SetUsedBytes. 2012-05-14 12:19:55 +02:00
Christian Costa 9f05f54540 dmusic: Midi message takes 4 bytes space but only 3 are relevant. 2012-05-07 17:16:34 +02:00
Christian Costa cb804ce884 dmusic: Implement IDirectMusicBufferImpl_Flush. 2012-04-27 17:08:18 +02:00
Christian Costa 09a2dd6a3f dmusic: Implement IDirectMusicBuffer_GetStartTime and IDirectMusicBuffer_SetStartTime. 2012-04-27 17:08:14 +02:00
Christian Costa 5c5ed245aa dmusic: IDirectMusicBufferImpl_GetUsedBytes. 2012-04-27 17:08:01 +02:00
Christian Costa fbd0aba739 dmusic: Implement IDirectMusicBufferImpl_PackStructured. 2012-04-27 17:07:52 +02:00
Christian Costa 51942db811 dmusic: Handle GUID_NULL when creating IDirectMusicBuffer. 2012-04-27 17:07:12 +02:00
Christian Costa ae6fb7511d dmusic: Cleanup IDirectMusicBufferImpl_QueryInterface. 2012-04-25 17:11:51 +02:00
Christian Costa 76a778be97 dmusic: Display new ref in IDirectMusicBufferImpl_AddRef and IDirectMusicBufferImpl_Release. 2012-04-25 17:11:28 +02:00
Christian Costa 6800851f1d dmusic: Implement IDirectMusicBufferImpl_GetRawBufferPtr. 2012-04-25 17:11:19 +02:00
Christian Costa 5f6a3807fd dmusic: Implement IDirectMusicBufferImpl_GetMaxBytes. 2012-04-25 17:11:15 +02:00
Christian Costa cc68c95fee dmusic: Implement IDirectMusicBufferImpl_GetBufferFormat. 2012-04-25 17:11:07 +02:00
Alexandre Julliard 87e75a0349 dmusic: Internal functions don't need to be WINAPI. 2012-04-24 11:37:20 +02:00
Christian Costa 46884bfcbe dmusic: COM clean-up of IDirectMusicBuffer. 2012-04-24 11:32:27 +02:00
Christian Costa 1b33b1d5cd dmusic: Pass creation parameters to DMUSIC_CreateDirectMusicBufferImpl then allocate data buffer and set format accordingly. 2012-04-24 11:32:13 +02:00
Alexandre Julliard 7718d2bd7c dmusic: Fix license headers that mistakenly use GPL instead of LGPL.
Confirmed by the original author and the major contributors.
2007-05-30 12:54:07 +02:00
Michael Stefaniuc a4253ba08b dmusic: Win64 printf format warning fixes. 2006-10-12 21:43:15 +02:00
Stefan Leichter 08e1260057 dmusic: Print 64bit integers with wine_dbgstr_longlong. 2006-09-11 11:30:26 +02:00
Alexandre Julliard d37c555a48 dmusic: Make the virtual table functions static where possible. 2006-06-10 11:57:22 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Dmitry Timoshkov b67da5b946 Make more of the OLE interface vtables const. 2005-06-01 19:57:42 +00:00
James Hawkins e8cafa5799 Properly implement DllCanUnloadNow ref counting. 2005-01-26 19:41:43 +00:00
James Hawkins ba92d2924a - Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
2005-01-14 16:02:20 +00:00
Francois Gouget ee0344a4a2 Remove unneeded NULL casts. 2004-12-22 15:13:20 +00:00
Alexandre Julliard 39a696a166 Removed some uses of the non-standard ICOM_THIS macro. 2004-09-06 20:34:29 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Rok Mandeljc b26d65bba9 Added name resolving for CLSIDs, IIDs, GUIDs and return codes. 2004-02-25 01:30:03 +00:00
Rok Mandeljc 0382ea1d8a - updated resources to DX9
- completely rewritten headers (DX9 compat.; look much nicer now ;=)
- removed IDirectMusicSong and IDirectMusicMelodyFormulationTrack
  (which are removed from DX9; weren't implemented in DX8 anyway)
- combined/simplified IDirectMusicSomething / IDirectMusicObject /
  IPersistStream for objects that support loading
- implemented IDirectMusicObject on all such objects; via generic
  functions
- combined IDirectMusicTrack(8)/IPersistStream on all tracks
- fully implemented IDirectMusicContainer (at least 90% if there are
  no private interfaces)
- implemented IDirectMusicCollection (99% work & MS compliant
  behaviour; except for instruments)
- tried to implement IDirectMusicInstrument (unfortunately uses some
  dirty private interfaces... :(
- added dswave.dll; DirectMusic Wave
- some changes in style
- many, many more ;)
2004-01-20 00:21:40 +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
Rok Mandeljc df167d17c6 - implemented loader, loader's stream and loading of objects (now you
can use builtin dmloader and native other dm*.dlls)
- implemented proper creation of objects and retrieval of dmusic
  interfaces from them (object, stream, ...)
- implemented all "standard track types" and appropriate stream (for
  dmband, loading is almost complete)
- cleaned some obsolete stuff
- split debug channels
2003-08-22 23:53:27 +00:00
Rok Mandeljc 473c565781 Split the dmusic interfaces. 2003-07-21 22:10:14 +00:00