diff lib/legacy_dx/dmusbuff.h @ 0:8b8875f5b359

Initial commit
author Nomad
date Fri, 05 Oct 2012 16:07:14 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/legacy_dx/dmusbuff.h	Fri Oct 05 16:07:14 2012 +0200
@@ -0,0 +1,41 @@
+/***************************************************************************
+*                                                                          *
+*   DMusBuff.h -- This module defines the buffer format for DirectMusic    *
+*                 Shared file between user mode and kernel mode components *
+*                                                                          *
+*   Copyright (c) 1998, Microsoft Corp. All rights reserved.               *
+*                                                                          *
+***************************************************************************/
+
+#ifndef _DMusBuff_
+#define _DMusBuff_
+
+/* Format of DirectMusic events in a buffer
+ *
+ * A buffer contains 1 or more events, each with the following header.
+ * Immediately following the header is the event data. The header+data
+ * size is rounded to the nearest quadword (8 bytes).
+ */
+ 
+#include <pshpack4.h>                       /* Do not pad at end - that's where the data is */ 
+typedef struct _DMUS_EVENTHEADER *LPDMUS_EVENTHEADER;
+typedef struct _DMUS_EVENTHEADER
+{
+    DWORD           cbEvent;                /* Unrounded bytes in event */
+    DWORD           dwChannelGroup;         /* Channel group of event */
+    REFERENCE_TIME  rtDelta;                /* Delta from start time of entire buffer */
+    DWORD           dwFlags;                /* Flags DMUS_EVENT_xxx */
+} DMUS_EVENTHEADER;
+#include <poppack.h>
+
+#define DMUS_EVENT_STRUCTURED   0x00000001  /* Unstructured data (SysEx, etc.) */
+
+/* The number of bytes to allocate for an event with 'cb' data bytes.
+ */ 
+#define QWORD_ALIGN(x) (((x) + 7) & ~7)
+#define DMUS_EVENT_SIZE(cb) QWORD_ALIGN(sizeof(DMUS_EVENTHEADER) + cb)
+
+
+#endif /* _DMusBuff_ */
+
+