diff --git a/include/Makefile.in b/include/Makefile.in index 8284d6fdf32..b1e7d0084ff 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -772,6 +772,7 @@ SOURCES = \ wtypes.idl \ wuapi.idl \ x3daudio.h \ + xact3wb.h \ xapo.idl \ xapofx.h \ xaudio2.idl \ diff --git a/include/xact3wb.h b/include/xact3wb.h new file mode 100644 index 00000000000..b4c5a53d40c --- /dev/null +++ b/include/xact3wb.h @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2020 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * 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 library 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 library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef __XACT3WB_H__ +#define __XACT3WB_H__ + +typedef union WAVEBANKMINIWAVEFORMAT +{ + struct + { + DWORD wFormatTag : 2; + DWORD nChannels : 3; + DWORD nSamplesPerSec : 18; + DWORD wBlockAlign : 8; + DWORD wBitsPerSample : 1; + } DUMMYSTRUCTNAME; + DWORD dwValue; +} WAVEBANKMINIWAVEFORMAT; + +typedef struct WAVEBANKREGION +{ + DWORD dwOffset; + DWORD dwLength; +} WAVEBANKREGION; + +typedef struct WAVEBANKSAMPLEREGION +{ + DWORD dwStartSample; + DWORD dwTotalSamples; +} WAVEBANKSAMPLEREGION; + +typedef struct WAVEBANKENTRY +{ + union + { + struct + { + DWORD dwFlags : 4; + DWORD Duration : 28; + } DUMMYSTRUCTNAME; + DWORD dwFlagsAndDuration; + } DUMMYUNIONNAME; + + WAVEBANKMINIWAVEFORMAT Format; + WAVEBANKREGION PlayRegion; + WAVEBANKSAMPLEREGION LoopRegion; +} WAVEBANKENTRY; + +#endif /* __XACT3WB_H__ */