Commit Graph

50 Commits

Author SHA1 Message Date
Michael Stefaniuc ee2e44f790 dmime: Get rid of the DMUS_PRIVATE_SEGMENT_ITEM typedef.
Also move the struct to its only user.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:50 +02:00
Michael Stefaniuc 0bda3a3d69 dmime: Reimplement the segment item parser.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:39 +02:00
Michael Stefaniuc dbc3449e29 dmime: Simplify the parse_segments_list() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:37 +02:00
Michael Stefaniuc 2eb07b1773 dmime: Reimplement IPersistStream_Load() for SegTrigger track.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 10:51:34 +02:00
Michael Stefaniuc 199af0b732 dmime: Reimplement the reference list parser.
Bits and pieces from a patch by Alistair Leslie-Hughes.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:11 +02:00
Michael Stefaniuc d08bce15bc dmime: Implement the SegTrigger track Get/SetParam.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:35:30 +01:00
Michael Stefaniuc 9b0512de26 dmime: SegTrigger track supports all param types, even invalid ones.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 19:12:14 +01:00
Alistair Leslie-Hughes 71b433bfed dmime: Free list when SegTrigger track is destroyed.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:09 +01:00
Alistair Leslie-Hughes 14e36e6194 dmime: SegTrigger track supports parameter GUID_IDirectMusicStyle.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:00 +01:00
Michael Stefaniuc 877bcd3f69 dmime: Rename IDirectMusicTrack8Impl to segment_track.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 08:40:21 +01:00
Alistair Leslie-Hughes 9c949389f6 dmime: Rename IPersistStreamImpl_Load functions.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 13:42:25 +02:00
Michael Stefaniuc cfd84f1662 dmime: Use the generic IPersistStream for DMSegTriggerTrack. 2015-07-06 14:49:41 +09:00
Michael Stefaniuc 0c0df2f8d2 dmime: Remove the extraneous IUnknown from DMSegTriggerTrack.
Also lock/unlock the module only on creation/destruction of the object.
2015-07-06 14:49:41 +09:00
Michael Stefaniuc 360a24670f dmime: COM cleanup for IDirectMusicTrack of DMSegTriggerTrack. 2015-07-06 14:49:40 +09:00
Michael Stefaniuc 8e959e1203 dmime: Implement the remaining E_NOTIMPL methods of IDirectMusicTrack8. 2015-07-06 14:49:40 +09:00
Michael Stefaniuc a2a2ea0311 dmime: Pass objects instead of ifaces to helpers. 2015-07-01 19:18:25 +09:00
Michael Stefaniuc 619c697da0 dmime: Move struct definitions to the files that need them. 2015-06-26 14:14:30 +09:00
Michael Stefaniuc 2343eeff91 dmime: None of the COM classes support COM aggregation. 2014-01-10 12:06:41 +01:00
Michael Stefaniuc a4664409ef dmime: Remove "#if 1" preprocessor directives. 2014-01-09 10:50:27 +01:00
Michael Stefaniuc 8472190aaf dmime: Fix copy and paste errors. 2014-01-08 11:11:37 +01:00
Michael Stefaniuc 5351700223 dmime: Remove ERR() on HeapAlloc failure for small sizes known at compile time. 2013-02-08 12:07:47 +01:00
Frédéric Delanoy f932abf326 dlls: Assorted spelling fixes. 2011-08-01 18:26:27 +02:00
Marcus Meissner 3ce650bfd0 dmime: Added missing NULL ptr check (Coverity). 2009-02-02 15:44:39 +01:00
Michael Stefaniuc 49177a0958 dmime: Remove superfluous pointer casts. 2009-01-13 15:26:23 +01:00
Michael Stefaniuc 4bfb33ec73 include: Change MUSIC_TIME from long to LONG for Win64 compatibility.
Fix also 192 printf format warnings produced by this change.
2009-01-10 17:43:10 +01:00
Andrew Talbot be2f48cdd4 dmime: Assign to structs instead of using memcpy. 2008-02-25 13:27:22 +01: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
Francois Gouget 3f191fda9f Add '\n's to Wine traces. 2006-10-13 11:55:16 +02:00
Michael Stefaniuc 891e016653 dmime: Win64 printf format warning fixes. 2006-10-10 16:11:37 +02:00
Stefan Leichter 7262a86ceb dmime: Print 64bit integers with wine_dbgstr_longlong. 2006-09-21 11:16:55 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Mike McCormack 06e23dad02 - use interfaces rather than internal functions
- remove declaration of AddRef and QueryInterface functions from
  headers
2005-06-21 09:44:28 +00:00
Mike McCormack ff536fbe42 Make functions static. 2005-06-20 16:01:04 +00:00
Dmitry Timoshkov 247246ede7 Make more of the OLE interface vtables const. 2005-05-30 10:01:08 +00:00
James Hawkins 1727eb485e Properly implement DllCanUnloadNow ref counting. 2005-02-02 09:31:06 +00:00
Paul Vriens 3da8524bb4 - use Interlocked* functions in AddRef and Release.
- store the result of the Interlocked functions and use only this.
2005-01-11 16:02:21 +00:00
Francois Gouget ee0344a4a2 Remove unneeded NULL casts. 2004-12-22 15:13:20 +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
Raphael Junqueira dfbf36d3e8 - Better loading of IDirectMusicSegTriggerTrack (internal list of
subtracks)
- Better stubs for IDirectMusicTempoTrack::InitPlay and
  IDirectMusicTempoTrack::EndPlay (InitPlay should return a valid
  memory pointer so allocate it). Should be extended for all
  IDirectMusicTrack objects.
2004-05-19 04:32:43 +00:00
Raphael Junqueira 106e13ab09 - Add the same new files (dmutils.c/dmutils.h) into dmime,dmband and
dmstyle directory that share the debug and helper functions for dmusic
  dlls (as Rok's idea for dmloader).
- Use new helpers functions to load References on
  IDirectMusicSegTriggerTrack loading (currently they leak).
- IDirectMusicStyle (almost partial) loading.
- Minor fixes.
2004-05-14 04:57:02 +00:00
Raphael Junqueira beaa084f6c - Fewer FIXMEs.
- Better traces.
- IDirectMusicBand loading fixes:
  - load correctly instruments (and References
  - load IDirectMusicCollection object (using DMLoader)
  - insert the two on the list
- IDirectMusicBandTrack loading fixes (fill OBJECTDESC and parse UNFO
  infos).
2004-05-13 05:19:47 +00:00
Raphael Junqueira 43def08e80 - Segment loading fix (correct FOURCC_RIFF tracks handling).
- IDirectMusicStyleTrack loading (need DM References).
- IDirectMusicBandTrack loading (need IDirectMusicBand loading).
2004-05-12 23:18:22 +00:00
Raphael Junqueira a4215336ef - Typo fix in dmusicf.h.
- IDirectMusicChordTrack loading.
- Many IsDirty and GetClassID stubs.
2004-05-11 22:18:43 +00:00
Raphael Junqueira ee51a0c014 - Many IDirectMusicSegment fixes (loading).
- AudioPath crash fix (don't use DSound APIs if buffer is null).
- Move generic functions to dmime_main.c for future reuse (from
  segment.c).
- IDirectMusicTempoTrack loading (many tempo case must be handled).
- IDirectMusicSegTriggerTrack loading implementation (now
  DMRF/DirectMusic References loading should be done).
2004-05-11 04:27:23 +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