/*
* DirectMusic File Formats
*
* Copyright (C) 2003-2004 Rok Mandeljc
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_DMUSIC_FILEFORMATS_H
#define __WINE_DMUSIC_FILEFORMATS_H
#ifndef __WINESRC__
#include <windows.h>
#endif /* __WINESRC__ */
#define COM_NO_WINDOWS_H
#include <objbase.h>
#include <mmsystem.h>
#include <pshpack8.h>
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************
* FOURCC Definitions
*/
/* Common chunks */
/* AudioPath */
/* Band */
/* Chordmap */
/* Container */
/* DirectSound Buffer Configuration */
/* Effects */
/* Reference */
/* Script */
/* Segment */
/* Style chunks */
/* Tool */
/* ToolGraph */
/* Track */
/* Band Track */
/* Chord Track */
/* Chordmap Track */
/* Command Track */
/* Lyrics Track */
/* Marker Track */
/* Mute Track */
/* Parameter Control Track */
/* Pattern Track */
/* Script Track */
/* Segment Trgigger Track */
/* Sequence Track */
/* Signpost Track */
/* Style Track */
/* SysEx Track */
/* Tempo Track */
/* Time Signature Track */
/* Wave Track */
/* Wave Header */
/*****************************************************************************
* Flags
*/
/* Song flags; MS doesn't support this in DX 9.0 anymore */
#define DMUS_SIGNPOSTF_LETTER (DMUS_SIGNPOSTF_A | DMUS_SIGNPOSTF_B | DMUS_SIGNPOSTF_C | DMUS_SIGNPOSTF_D | DMUS_SIGNPOSTF_E | DMUS_SIGNPOSTF_F)
#define DMUS_SIGNPOSTF_ROOT (DMUS_SIGNPOSTF_1 | DMUS_SIGNPOSTF_2 | DMUS_SIGNPOSTF_3 | DMUS_SIGNPOSTF_4 | DMUS_SIGNPOSTF_5 | DMUS_SIGNPOSTF_6 | DMUS_SIGNPOSTF_7)
/*****************************************************************************
* Enumerations
*/
/* typedef definitions */
/* actual enumerations */
enum enumDMUS_VARIATIONT_TYPES {
};
enum enumDMUS_EMBELLISHT_TYPES {
};
enum enumDMUS_PATTERNT_TYPES {
};
/*****************************************************************************
* Structures
*/
/* typedef definitions */
typedef struct _DMUS_IO_STYLE_ANTICIPATION DMUS_IO_STYLE_ANTICIPATION, *LPDMUS_IO_STYLE_ANTICIPATION;
typedef struct _DMUS_IO_PCHANNELTOBUFFER_HEADER DMUS_IO_PCHANNELTOBUFFER_HEADER, *LPDMUS_IO_PCHANNELTOBUFFER_HEADER;
typedef struct _DMUS_IO_BUFFER_ATTRIBUTES_HEADER DMUS_IO_BUFFER_ATTRIBUTES_HEADER, *LPDMUS_IO_BUFFER_ATTRIBUTES_HEADER;
typedef struct _DMUS_IO_CONTAINED_OBJECT_HEADER DMUS_IO_CONTAINED_OBJECT_HEADER, *LPDMUS_IO_CONTAINED_OBJECT_HEADER;
typedef struct _DMUS_IO_TRACK_EXTRAS_HEADER DMUS_IO_TRACK_EXTRAS_HEADER, *LPDMUS_IO_TRACK_EXTRAS_HEADER;
typedef struct _DMUS_IO_TIMESIGNATURE_ITEM DMUS_IO_TIMESIGNATURE_ITEM, *LPDMUS_IO_TIMESIGNATURE_ITEM;
typedef struct _DMUS_IO_SEGMENT_TRACK_HEADER DMUS_IO_SEGMENT_TRACK_HEADER, *LPDMUS_IO_SEGMENT_TRACK_HEADER;
typedef struct _DMUS_IO_SEGMENT_ITEM_HEADER DMUS_IO_SEGMENT_ITEM_HEADER, *LPDMUS_IO_SEGMENT_ITEM_HEADER;
typedef struct _DMUS_IO_SCRIPTTRACK_EVENTHEADER DMUS_IO_SCRIPTTRACK_EVENTHEADER, *LPDMUS_IO_SCRIPTTRACK_EVENTHEADER;
typedef struct _DMUS_IO_LYRICSTRACK_EVENTHEADER DMUS_IO_LYRICSTRACK_EVENTHEADER, *LPDMUS_IO_LYRICSTRACK_EVENTHEADER;
typedef struct _DMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER DMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER, *LPDMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER;
typedef struct _DMUS_IO_PARAMCONTROLTRACK_PARAMHEADER DMUS_IO_PARAMCONTROLTRACK_PARAMHEADER, *LPDMUS_IO_PARAMCONTROLTRACK_PARAMHEADER;
typedef struct _DMUS_IO_PARAMCONTROLTRACK_CURVEINFO DMUS_IO_PARAMCONTROLTRACK_CURVEINFO, *LPDMUS_IO_PARAMCONTROLTRACK_CURVEINFO;
/* actual structures */
struct _DMUS_IO_SEQ_ITEM {
short nOffset;
};
struct _DMUS_IO_CURVE_ITEM {
short nOffset;
short nStartValue;
short nEndValue;
short nResetValue;
/* DX8 */
};
struct _DMUS_IO_TEMPO_ITEM {
double dblTempo;
};
struct _DMUS_IO_SYSEX_ITEM {
};
struct _DMUS_RHYTHM_PARAM {
};
struct _DMUS_TEMPO_PARAM {
double dblTempo;
};
struct _DMUS_MUTE_PARAM {
};
#pragma pack(2)
struct _DMUS_IO_TIMESIG {
};
struct _DMUS_IO_STYLE {
double dblTempo;
};
struct _DMUS_IO_VERSION {
};
struct _DMUS_IO_PATTERN {
};
struct _DMUS_IO_STYLEPART {
};
struct _DMUS_IO_PARTREF {
};
struct _DMUS_IO_STYLENOTE {
short nTimeOffset;
/* DX8 */
};
struct _DMUS_IO_STYLECURVE {
short nTimeOffset;
short nStartValue;
short nEndValue;
short nResetValue;
/* DX8 */
};
struct _DMUS_IO_STYLEMARKER {
};
struct _DMUS_IO_STYLERESOLUTION {
};
struct _DMUS_IO_STYLE_ANTICIPATION {
short nTimeOffset;
};
struct _DMUS_IO_MOTIFSETTINGS {
};
#pragma pack()
struct _DMUS_IO_CHORD {
};
struct _DMUS_IO_SUBCHORD {
};
struct _DMUS_IO_COMMAND {
};
struct _DMUS_IO_TOOL_HEADER {
};
struct _DMUS_IO_PORTCONFIG_HEADER {
};
struct _DMUS_IO_PCHANNELTOBUFFER_HEADER {
};
struct _DMUS_IO_BUFFER_ATTRIBUTES_HEADER {
};
struct _DMUS_IO_BAND_TRACK_HEADER {
};
struct _DMUS_IO_BAND_ITEM_HEADER {
};
struct _DMUS_IO_BAND_ITEM_HEADER2 {
};
struct _DMUS_IO_INSTRUMENT {
short nTranspose;
short nPitchBendRange;
};
struct _DMUS_IO_WAVE_HEADER {
};
struct _DMUS_IO_WAVE_TRACK_HEADER {
};
struct _DMUS_IO_WAVE_PART_HEADER {
};
struct _DMUS_IO_WAVE_ITEM_HEADER {
};
struct _DMUS_IO_CONTAINER_HEADER {
};
struct _DMUS_IO_CONTAINED_OBJECT_HEADER {
};
struct _DMUS_IO_SEGMENT_HEADER {
/* DX8 */
/* DX9 */
};
struct _DMUS_IO_TRACK_HEADER {
};
struct _DMUS_IO_TRACK_EXTRAS_HEADER {
};
struct _DMUS_IO_REFERENCE {
};
struct _DMUS_IO_CHORDMAP {
};
struct _DMUS_IO_CHORDMAP_SUBCHORD {
};
struct _DMUS_IO_CHORDENTRY {
};
struct _DMUS_IO_NEXTCHORD {
};
struct _DMUS_IO_CHORDMAP_SIGNPOST {
};
struct _DMUS_IO_SCRIPT_HEADER {
};
struct _DMUS_IO_SIGNPOST {
};
struct _DMUS_IO_MUTE {
};
struct _DMUS_IO_TIMESIGNATURE_ITEM {
};
struct _DMUS_IO_VALID_START {
};
struct _DMUS_IO_PLAY_MARKER {
};
struct _DMUS_IO_SEGMENT_TRACK_HEADER {
};
struct _DMUS_IO_SEGMENT_ITEM_HEADER {
};
struct _DMUS_IO_SCRIPTTRACK_EVENTHEADER {
};
struct _DMUS_IO_LYRICSTRACK_EVENTHEADER {
};
};
};
struct _DMUS_IO_PARAMCONTROLTRACK_CURVEINFO {
float fltStartValue;
float fltEndValue;
};
struct _DSOUND_IO_DSBUFFERDESC {
};
struct _DSOUND_IO_DSBUSID {
};
struct _DSOUND_IO_3D {
};
struct _DSOUND_IO_DXDMO_HEADER {
};
struct _DSOUND_IO_DXDMO_DATA {
};
#ifdef __cplusplus
}
#endif
#include <poppack.h>
#endif /* __WINE_DMUSIC_FILEFORMATS_H */