Stub implementation of the dmusic dll.

diff --git a/include/dmdls.h b/include/dmdls.h
new file mode 100644
index 0000000..6bb0b58
--- /dev/null
+++ b/include/dmdls.h
@@ -0,0 +1,197 @@
+/* DirectMusic DLS Download Definitions
+ *
+ * Copyright (C) 2003 Rok Mandeljc
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __WINE_DMUSIC_DLS_H
+#define __WINE_DMUSIC_DLS_H
+
+#include "dls1.h"
+
+typedef long PCENT, GCENT, TCENT, PERCENT;
+typedef LONGLONG REFERENCE_TIME, *LPREFERENCE_TIME;
+/*
+#ifndef MAKE_FOURCC
+#define MAKEFOURCC(ch0, ch1, ch2, ch3)                              \
+                ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) |   \
+                ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
+typedef DWORD FOURCC;
+#endif*/
+
+/*****************************************************************************
+ * Definitions
+ */
+#define DMUS_DOWNLOADINFO_INSTRUMENT        1
+#define DMUS_DOWNLOADINFO_WAVE              2
+#define DMUS_DOWNLOADINFO_INSTRUMENT2       3
+#define DMUS_DOWNLOADINFO_WAVEARTICULATION  4
+#define DMUS_DOWNLOADINFO_STREAMINGWAVE     5
+#define DMUS_DOWNLOADINFO_ONESHOTWAVE       6
+
+#define DMUS_DEFAULT_SIZE_OFFSETTABLE   1
+ 
+#define DMUS_INSTRUMENT_GM_INSTRUMENT   (1 << 0)
+
+#define DMUS_MIN_DATA_SIZE 4
+
+/*****************************************************************************
+ * Structures
+ */
+typedef struct _DMUS_DOWNLOADINFO
+{
+    DWORD dwDLType;
+    DWORD dwDLId;
+    DWORD dwNumOffsetTableEntries;
+    DWORD cbSize;
+} DMUS_DOWNLOADINFO;
+
+typedef struct _DMUS_OFFSETTABLE
+{
+    ULONG ulOffsetTable[DMUS_DEFAULT_SIZE_OFFSETTABLE];
+} DMUS_OFFSETTABLE;
+
+typedef struct _DMUS_INSTRUMENT
+{
+    ULONG           ulPatch;
+    ULONG           ulFirstRegionIdx;
+    ULONG           ulGlobalArtIdx;
+    ULONG           ulFirstExtCkIdx;
+    ULONG           ulCopyrightIdx;
+    ULONG           ulFlags;
+} DMUS_INSTRUMENT;
+
+typedef struct _DMUS_REGION
+{
+    RGNRANGE        RangeKey;
+    RGNRANGE        RangeVelocity;
+    USHORT          fusOptions;
+    USHORT          usKeyGroup;
+    ULONG           ulRegionArtIdx;
+    ULONG           ulNextRegionIdx;
+    ULONG           ulFirstExtCkIdx;
+    WAVELINK        WaveLink;
+    WSMPL           WSMP;
+    WLOOP           WLOOP[1];
+} DMUS_REGION;
+
+typedef struct _DMUS_LFOPARAMS
+{
+    PCENT       pcFrequency;
+    TCENT       tcDelay;
+    GCENT       gcVolumeScale;
+    PCENT       pcPitchScale;
+    GCENT       gcMWToVolume;
+    PCENT       pcMWToPitch;
+} DMUS_LFOPARAMS;
+
+typedef struct _DMUS_VEGPARAMS
+{
+    TCENT       tcAttack;
+    TCENT       tcDecay;
+    PERCENT     ptSustain;
+    TCENT       tcRelease;
+    TCENT       tcVel2Attack;
+    TCENT       tcKey2Decay;
+} DMUS_VEGPARAMS;
+
+typedef struct _DMUS_PEGPARAMS
+{
+    TCENT       tcAttack;
+    TCENT       tcDecay;
+    PERCENT     ptSustain;
+    TCENT       tcRelease;
+    TCENT       tcVel2Attack;
+    TCENT       tcKey2Decay;
+    PCENT       pcRange;
+} DMUS_PEGPARAMS;
+
+typedef struct _DMUS_MSCPARAMS
+{
+    PERCENT     ptDefaultPan;
+} DMUS_MSCPARAMS;
+
+typedef struct _DMUS_ARTICPARAMS
+{
+    DMUS_LFOPARAMS   LFO;
+    DMUS_VEGPARAMS   VolEG;
+    DMUS_PEGPARAMS   PitchEG;
+    DMUS_MSCPARAMS   Misc;
+} DMUS_ARTICPARAMS;
+
+typedef struct _DMUS_ARTICULATION
+{
+    ULONG           ulArt1Idx;
+    ULONG           ulFirstExtCkIdx;
+} DMUS_ARTICULATION;
+
+typedef struct _DMUS_ARTICULATION2
+{
+    ULONG           ulArtIdx;
+    ULONG           ulFirstExtCkIdx;
+    ULONG           ulNextArtIdx;
+} DMUS_ARTICULATION2;
+
+typedef struct _DMUS_EXTENSIONCHUNK
+{
+    ULONG           cbSize;
+    ULONG           ulNextExtCkIdx;
+    FOURCC          ExtCkID;
+    BYTE            byExtCk[DMUS_MIN_DATA_SIZE];
+} DMUS_EXTENSIONCHUNK;
+
+
+typedef struct _DMUS_COPYRIGHT
+{
+    ULONG           cbSize;
+    BYTE            byCopyright[DMUS_MIN_DATA_SIZE];
+} DMUS_COPYRIGHT;
+
+typedef struct _DMUS_WAVEDATA
+{
+    ULONG           cbSize;
+    BYTE            byData[DMUS_MIN_DATA_SIZE];
+} DMUS_WAVEDATA;
+
+typedef struct _DMUS_WAVE
+{
+    ULONG           ulFirstExtCkIdx;
+    ULONG           ulCopyrightIdx;
+    ULONG           ulWaveDataIdx;
+    WAVEFORMATEX    WaveformatEx;
+} DMUS_WAVE;
+
+typedef struct _DMUS_NOTERANGE
+{
+    DWORD           dwLowNote;
+    DWORD           dwHighNote;
+} DMUS_NOTERANGE, *LPDMUS_NOTERANGE;
+
+typedef struct _DMUS_WAVEARTDL
+{
+    ULONG               ulDownloadIdIdx;
+    ULONG               ulBus;
+    ULONG               ulBuffers;
+    ULONG               ulMasterDLId;
+    USHORT              usOptions;
+}   DMUS_WAVEARTDL, *LPDMUS_WAVEARTDL;
+
+typedef struct _DMUS_WAVEDL
+{
+    ULONG               cbWaveData;
+}   DMUS_WAVEDL, *LPDMUS_WAVEDL;
+
+#endif /* __WINE_DMUSIC_DLS_H */