[PATCH] include: Allow building against dmusic.

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Sun Sep 29 23:55:49 CDT 2019


Correct the following error when building against dmusic.
.../wine/windows/dmusici.h:370:14: error: use of enum ‘enumDMUS_STYLET_TYPES’ without previous declaration

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 include/dls1.h     | 71 ++++++++++++++++++----------------------------
 include/dmplugin.h |  9 ++----
 include/dmusici.h  | 63 ++++++++++++++++------------------------
 3 files changed, 55 insertions(+), 88 deletions(-)

diff --git a/include/dls1.h b/include/dls1.h
index d980b2b9b4..24c49c1e52 100644
--- a/include/dls1.h
+++ b/include/dls1.h
@@ -99,104 +99,89 @@
 /*****************************************************************************
  * Structures
  */
-/* typedef definitions */
-typedef struct _DLSID          DLSID,          *LPDLSID;
-typedef struct _DLSVERSION     DLSVERSION,     *LPDLSVERSION;
-typedef struct _CONNECTION     CONNECTION,     *LPCONNECTION;
-typedef struct _CONNECTIONLIST CONNECTIONLIST, *LPCONNECTIONLIST;
-typedef struct _RGNRANGE       RGNRANGE,       *LPRGNRANGE;
-typedef struct _MIDILOCALE     MIDILOCALE,     *LPMIDILOCALE;
-typedef struct _RGNHEADER      RGNHEADER,      *LPRGNHEADER;
-typedef struct _INSTHEADER     INSTHEADER,     *LPINSTHEADER;
-typedef struct _DLSHEADER      DLSHEADER,      *LPDLSHEADER;
-typedef struct _WAVELINK       WAVELINK,       *LPWAVELINK;
-typedef struct _POOLCUE        POOLCUE,        *LPPOOLCUE;
-typedef struct _POOLTABLE      POOLTABLE,      *LPPOOLTABLE;
-typedef struct _rwsmp          WSMPL,          *LPWSMPL;
-typedef struct _rloop          WLOOP,          *LPWLOOP;
 
 /* actual structures */
-struct _DLSID {
+typedef struct _DLSID {
 	ULONG  ulData1;
 	USHORT usData2;
 	USHORT usData3;
 	BYTE   abData4[8];
-};
+} DLSID, *LPDLSID;
 
-struct _DLSVERSION {
+typedef struct _DLSVERSION {
 	DWORD dwVersionMS;
 	DWORD dwVersionLS;
-};
+} DLSVERSION, *LPDLSVERSION;
 
-struct _CONNECTION {
+typedef struct _CONNECTION {
 	USHORT usSource;
 	USHORT usControl;
 	USHORT usDestination;
 	USHORT usTransform;
 	LONG   lScale;
-};
+} CONNECTION, *LPCONNECTION;
 
-struct _CONNECTIONLIST {
+typedef struct _CONNECTIONLIST {
 	ULONG cbSize;
 	ULONG cConnections;
-};
+} CONNECTIONLIST, *LPCONNECTIONLIST;
 
-struct _RGNRANGE {
+typedef struct _RGNRANGE {
 	USHORT usLow;
 	USHORT usHigh;
-};
+} RGNRANGE, *LPRGNRANGE;
 
-struct _MIDILOCALE {
+typedef struct _MIDILOCALE {
 	ULONG ulBank;
 	ULONG ulInstrument;
-};
+} MIDILOCALE, *LPMIDILOCALE;
 
-struct _RGNHEADER {
+typedef struct _RGNHEADER {
 	RGNRANGE RangeKey;
 	RGNRANGE RangeVelocity;
 	USHORT   fusOptions;
 	USHORT   usKeyGroup;
-};
+} RGNHEADER, *LPRGNHEADER;
 
-struct _INSTHEADER {
+typedef struct _INSTHEADER {
 	ULONG      cRegions;
 	MIDILOCALE Locale;
-};
+} INSTHEADER, *LPINSTHEADER;
 
-struct _DLSHEADER {
+typedef struct _DLSHEADER {
 	ULONG cInstruments;
-};
+} DLSHEADER, *LPDLSHEADER;
 
-struct _WAVELINK {
+typedef struct _WAVELINK {
 	USHORT fusOptions;
 	USHORT usPhaseGroup;
 	ULONG  ulChannel;
 	ULONG  ulTableIndex;
-};
+} WAVELINK, *LPWAVELINK;
 
-struct _POOLCUE { 
+typedef struct _POOLCUE {
 	ULONG ulOffset;
-};
+} POOLCUE, *LPPOOLCUE;
 
-struct _POOLTABLE {
+typedef struct _POOLTABLE {
 	ULONG cbSize;
 	ULONG cCues;
-};
+} POOLTABLE, *LPPOOLTABLE;
 
-struct _rwsmp {
+typedef struct _rwsmp {
 	ULONG  cbSize;
 	USHORT usUnityNote;
 	SHORT  sFineTune;
 	LONG   lAttenuation;
 	ULONG  fulOptions;
 	ULONG  cSampleLoops;
-};
+} WSMPL, *LPWSMPL;
 
-struct _rloop {
+typedef struct _rloop {
 	ULONG cbSize;
 	ULONG ulType;
 	ULONG ulStart;
 	ULONG ulLength;
-};
+} WLOOP, *LPWLOOP;
 
 #endif /* __WINE_INCLUDE_DLS1_H */
diff --git a/include/dmplugin.h b/include/dmplugin.h
index ccd9f6bd36..88584e884d 100644
--- a/include/dmplugin.h
+++ b/include/dmplugin.h
@@ -101,11 +101,8 @@ typedef LONG MUSIC_TIME;
 /*****************************************************************************
  * Enumerations
  */
-/* typedef definitions */
-typedef enum enumDMUS_TRACKF_FLAGS DMUS_TRACKF_FLAGS;
-
-/* actual enumerations */
-enum enumDMUS_TRACKF_FLAGS {
+typedef enum enumDMUS_TRACKF_FLAGS
+{
 	DMUS_TRACKF_SEEK       = 0x001,
 	DMUS_TRACKF_LOOP       = 0x002,
 	DMUS_TRACKF_START      = 0x004,
@@ -117,7 +114,7 @@ enum enumDMUS_TRACKF_FLAGS {
 	DMUS_TRACKF_STOP       = 0x100,
 	DMUS_TRACKF_RECOMPOSE  = 0x200,
 	DMUS_TRACKF_CLOCK      = 0x400,
-};
+} DMUS_TRACKF_FLAGS;
 
 /*****************************************************************************
  * IDirectMusicTool interface
diff --git a/include/dmusici.h b/include/dmusici.h
index 7e393eaf29..80e89a37d0 100644
--- a/include/dmusici.h
+++ b/include/dmusici.h
@@ -366,38 +366,23 @@ typedef WORD    TRANSITION_TYPE, *LPTRANSITION_TYPE;
 /*****************************************************************************
  * Enumerations
  */
-/* typedef definitions */
-typedef enum enumDMUS_STYLET_TYPES       DMUS_STYLET_TYPES;
-typedef enum enumDMUS_COMMANDT_TYPES     DMUS_COMMANDT_TYPES;
-typedef enum enumDMUS_SHAPET_TYPES       DMUS_SHAPET_TYPES;
-typedef enum enumDMUS_COMPOSEF_FLAGS     DMUS_COMPOSEF_FLAGS;
-typedef enum enumDMUS_PMSGF_FLAGS        DMUS_PMSGF_FLAGS;
-typedef enum enumDMUS_PMSGT_TYPES        DMUS_PMSGT_TYPES;
-typedef enum enumDMUS_SEGF_FLAGS         DMUS_SEGF_FLAGS;
-typedef enum enumDMUS_TIME_RESOLVE_FLAGS DMUS_TIME_RESOLVE_FLAGS;
-typedef enum enumDMUS_CHORDKEYF_FLAGS    DMUS_CHORDKEYF_FLAGS;
-typedef enum enumDMUS_NOTEF_FLAGS        DMUS_NOTEF_FLAGS;
-typedef enum enumDMUS_PLAYMODE_FLAGS     DMUS_PLAYMODE_FLAGS;
-typedef enum enumDMUS_CURVE_FLAGS        DMUS_CURVE_FLAGS;
-
-
 
 /* actual enumerations */
-enum enumDMUS_STYLET_TYPES {
+typedef enum enumDMUS_STYLET_TYPES {
 	DMUS_STYLET_PATTERN = 0x0,
 	DMUS_STYLET_MOTIF   = 0x1,
-};
+} DMUS_STYLET_TYPES;
 
-enum enumDMUS_COMMANDT_TYPES {
+typedef enum enumDMUS_COMMANDT_TYPES {
 	DMUS_COMMANDT_GROOVE      = 0x0,
 	DMUS_COMMANDT_FILL        = 0x1,
 	DMUS_COMMANDT_INTRO       = 0x2,
 	DMUS_COMMANDT_BREAK       = 0x3,
 	DMUS_COMMANDT_END         = 0x4,
 	DMUS_COMMANDT_ENDANDINTRO = 0x5
-};
+} DMUS_COMMANDT_TYPES;
 
-enum enumDMUS_SHAPET_TYPES {
+typedef enum enumDMUS_SHAPET_TYPES {
 	DMUS_SHAPET_FALLING  = 0x0,
 	DMUS_SHAPET_LEVEL    = 0x1,
 	DMUS_SHAPET_LOOPABLE = 0x2,
@@ -407,9 +392,9 @@ enum enumDMUS_SHAPET_TYPES {
 	DMUS_SHAPET_RANDOM   = 0x6,
 	DMUS_SHAPET_RISING   = 0x7,
 	DMUS_SHAPET_SONG     = 0x8
-};
+} DMUS_SHAPET_TYPES;
 
-enum enumDMUS_COMPOSEF_FLAGS {       
+typedef enum enumDMUS_COMPOSEF_FLAGS {
 	DMUS_COMPOSEF_NONE                = 0x000000,
 	DMUS_COMPOSEF_ALIGN               = 0x000001,
 	DMUS_COMPOSEF_OVERLAP             = 0x000002,
@@ -434,9 +419,9 @@ enum enumDMUS_COMPOSEF_FLAGS {
 	DMUS_COMPOSEF_NOINVALIDATE        = 0x100000,
 	DMUS_COMPOSEF_USE_AUDIOPATH       = 0x200000,
 	DMUS_COMPOSEF_INVALIDATE_PRI      = 0x400000
-};
+} DMUS_COMPOSEF_FLAGS;
 
-enum enumDMUS_PMSGF_FLAGS {
+typedef enum enumDMUS_PMSGF_FLAGS {
 	DMUS_PMSGF_REFTIME        = 1,
 	DMUS_PMSGF_MUSICTIME      = 2,
 	DMUS_PMSGF_TOOL_IMMEDIATE = 4,
@@ -445,9 +430,9 @@ enum enumDMUS_PMSGF_FLAGS {
 	DMUS_PMSGF_TOOL_FLUSH     = 0x20,
 	DMUS_PMSGF_LOCKTOREFTIME  = 0x40,
 	DMUS_PMSGF_DX8            = 0x80
-};
+} DMUS_PMSGF_FLAGS;
 
-enum enumDMUS_PMSGT_TYPES {
+typedef enum enumDMUS_PMSGT_TYPES {
 	DMUS_PMSGT_MIDI             = 0x00,
 	DMUS_PMSGT_NOTE             = 0x01,
 	DMUS_PMSGT_SYSEX            = 0x02,
@@ -464,9 +449,9 @@ enum enumDMUS_PMSGT_TYPES {
 	DMUS_PMSGT_LYRIC            = 0x0D,
 	DMUS_PMSGT_SCRIPTLYRIC      = 0x0E,
 	DMUS_PMSGT_USER             = 0xFF
-};
+} DMUS_PMSGT_TYPES;
 
-enum enumDMUS_SEGF_FLAGS {
+typedef enum enumDMUS_SEGF_FLAGS {
 	DMUS_SEGF_REFTIME             = 0x000040,   
 	DMUS_SEGF_SECONDARY           = 0x000080,
 	DMUS_SEGF_QUEUE               = 0x000100,
@@ -490,9 +475,9 @@ enum enumDMUS_SEGF_FLAGS {
 	DMUS_SEGF_USE_AUDIOPATH       = 0x04000000,
 	DMUS_SEGF_VALID_START_MEASURE = 0x08000000,
 	DMUS_SEGF_INVALIDATE_PRI      = 0x10000000
-};
+} DMUS_SEGF_FLAGS;
 
-enum enumDMUS_TIME_RESOLVE_FLAGS {
+typedef enum enumDMUS_TIME_RESOLVE_FLAGS {
 	DMUS_TIME_RESOLVE_AFTERPREPARETIME = DMUS_SEGF_AFTERPREPARETIME,
 	DMUS_TIME_RESOLVE_AFTERQUEUETIME   = DMUS_SEGF_AFTERQUEUETIME,
 	DMUS_TIME_RESOLVE_AFTERLATENCYTIME = DMUS_SEGF_AFTERLATENCYTIME,
@@ -501,33 +486,33 @@ enum enumDMUS_TIME_RESOLVE_FLAGS {
 	DMUS_TIME_RESOLVE_MEASURE          = DMUS_SEGF_MEASURE,
 	DMUS_TIME_RESOLVE_MARKER           = DMUS_SEGF_MARKER,
 	DMUS_TIME_RESOLVE_SEGMENTEND       = DMUS_SEGF_SEGMENTEND,
-};
+} DMUS_TIME_RESOLVE_FLAGS;
 
-enum enumDMUS_CHORDKEYF_FLAGS {
+typedef enum enumDMUS_CHORDKEYF_FLAGS {
 	DMUS_CHORDKEYF_SILENT = 0x1,
-};
+} DMUS_CHORDKEYF_FLAGS;
 
-enum enumDMUS_NOTEF_FLAGS {
+typedef enum enumDMUS_NOTEF_FLAGS {
 	DMUS_NOTEF_NOTEON               = 0x01,
 	/* DX8 */
 	DMUS_NOTEF_NOINVALIDATE         = 0x02,
 	DMUS_NOTEF_NOINVALIDATE_INSCALE = 0x04,
 	DMUS_NOTEF_NOINVALIDATE_INCHORD = 0x08,
 	DMUS_NOTEF_REGENERATE           = 0x10,
-};
+} DMUS_NOTEF_FLAGS;
 
-enum enumDMUS_PLAYMODE_FLAGS {
+typedef enum enumDMUS_PLAYMODE_FLAGS {
 	DMUS_PLAYMODE_KEY_ROOT        = 0x01,
 	DMUS_PLAYMODE_CHORD_ROOT      = 0x02,
 	DMUS_PLAYMODE_SCALE_INTERVALS = 0x04,
 	DMUS_PLAYMODE_CHORD_INTERVALS = 0x08,
 	DMUS_PLAYMODE_NONE            = 0x10,
-};
+} DMUS_PLAYMODE_FLAGS;
 
-enum enumDMUS_CURVE_FLAGS {
+typedef enum enumDMUS_CURVE_FLAGS {
 	DMUS_CURVE_RESET              = 0x1,
 	DMUS_CURVE_START_FROM_CURRENT = 0x2
-};
+} DMUS_CURVE_FLAGS;
 
 enum { 
 	DMUS_CURVES_LINEAR  = 0x0,
-- 
2.17.1



More information about the wine-devel mailing list