Skip to main content
GameDev.net gamedev.net
🔒 Locked

RE: WLOOP in DirectMusic

Started by javapimp Oct 26, 2008 at 7:56 PM 0 replies 2k views
Original Post
javapimp
javapimp
I know this was a somewhat old thread, however, I never actually saw a usable solution for the problem posted online anywhere. I figured I might post a fix in case it might be useful. http://www.gamedev.net/community/forums/topic.asp?topic_id=376714 My error: C:/bin/DXSDK/include/dmdls.h:81: error: declaration of WLOOP _DMUS_REGION::WLOOP[1]' C:/bin/DXSDK/include/dls1.h:264: error: changes meaning of WLOOP' from `typedef struct _rloop WLOOP' I'm using the latest MinGW on WindowsXP. WLOOP is typedef'ed in dls1.h as: typedef struct _rloop { ULONG cbSize; ULONG ulType; /* Loop Type */ ULONG ulStart; /* Start of loop in samples */ ULONG ulLength; /* Length of loop in samples */ } WLOOP, FAR *LPWLOOP; A structure in dmdls.h uses the WLOOP type in a struct as: typedef struct _DMUS_REGION { RGNRANGE RangeKey; RGNRANGE RangeVelocity; USHORT fusOptions; USHORT usKeyGroup; ULONG ulRegionArtIdx; ULONG ulNextRegionIdx; /* If zero no more regions */ ULONG ulFirstExtCkIdx; WAVELINK WaveLink; WSMPL WSMP; WLOOP WLOOP[1]; } DMUS_REGION; It seems MinGW doesn't like the member variable with the same name as the type. I changed the delcaration to the actual type rather than the typedef'ed alias: // WLOOP WLOOP[1]; struct _rloop WLOOP[1]; I don't believe this will cause problems for existing code. Changing the member name would also work though existing (source) code referencing that field would break. Hope this helps. Thanks, Dave.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.