132 lines
4 KiB
C
132 lines
4 KiB
C
|
//+-------------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Microsoft Windows
|
|||
|
//
|
|||
|
// Copyright (C) Microsoft Corporation, 1996 - 1999
|
|||
|
//
|
|||
|
// File: audio.h
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------------
|
|||
|
|
|||
|
//===========================================================================
|
|||
|
// WAVE (PCM)
|
|||
|
//===========================================================================
|
|||
|
|
|||
|
#define STATIC_KSPROPSETID_Wave\
|
|||
|
0x924e54b0, 0x630f, 0x11cf, 0xad, 0xa7, 0x08, 0x00, 0x3e, 0x30, 0x49, 0x4a
|
|||
|
#if defined(__cplusplus) && _MSC_VER >= 1100
|
|||
|
struct __declspec(uuid("924e54b0-630f-11cf-ada7-08003e30494a")) KSPROPSETID_Wave;
|
|||
|
#else
|
|||
|
DEFINE_GUIDEX(KSPROPSETID_Wave);
|
|||
|
#endif
|
|||
|
|
|||
|
#define KSPROPERTY_WAVE_COMPATIBLE_CAPABILITIES 0x00000001
|
|||
|
#define KSPROPERTY_WAVE_INPUT_CAPABILITIES 0x00000002
|
|||
|
#define KSPROPERTY_WAVE_OUTPUT_CAPABILITIES 0x00000003
|
|||
|
#define KSPROPERTY_WAVE_BUFFER 0x00000004
|
|||
|
#define KSPROPERTY_WAVE_FREQUENCY 0x00000005
|
|||
|
#define KSPROPERTY_WAVE_VOLUME 0x00000006
|
|||
|
#define KSPROPERTY_WAVE_PAN 0x00000007
|
|||
|
#define KSPROPERTY_WAVE_POSITION 0x00000008
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ULONG ulDeviceType;
|
|||
|
} KSWAVE_COMPATCAPS, *PKSWAVE_COMPATCAPS;
|
|||
|
|
|||
|
#define KSWAVE_COMPATCAPS_INPUT 0x00000000
|
|||
|
#define KSWAVE_COMPATCAPS_OUTPUT 0x00000001
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ULONG MaximumChannelsPerConnection;
|
|||
|
ULONG MinimumBitsPerSample;
|
|||
|
ULONG MaximumBitsPerSample;
|
|||
|
ULONG MinimumSampleFrequency;
|
|||
|
ULONG MaximumSampleFrequency;
|
|||
|
ULONG TotalConnections;
|
|||
|
ULONG ActiveConnections;
|
|||
|
} KSWAVE_INPUT_CAPABILITIES, *PKSWAVE_INPUT_CAPABILITIES;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ULONG MaximumChannelsPerConnection;
|
|||
|
ULONG MinimumBitsPerSample;
|
|||
|
ULONG MaximumBitsPerSample;
|
|||
|
ULONG MinimumSampleFrequency;
|
|||
|
ULONG MaximumSampleFrequency;
|
|||
|
ULONG TotalConnections;
|
|||
|
ULONG StaticConnections;
|
|||
|
ULONG StreamingConnections;
|
|||
|
ULONG ActiveConnections;
|
|||
|
ULONG ActiveStaticConnections;
|
|||
|
ULONG ActiveStreamingConnections;
|
|||
|
ULONG Total3DConnections;
|
|||
|
ULONG Static3DConnections;
|
|||
|
ULONG Streaming3DConnections;
|
|||
|
ULONG Active3DConnections;
|
|||
|
ULONG ActiveStatic3DConnections;
|
|||
|
ULONG ActiveStreaming3DConnections;
|
|||
|
ULONG TotalSampleMemory;
|
|||
|
ULONG FreeSampleMemory;
|
|||
|
ULONG LargestFreeContiguousSampleMemory;
|
|||
|
} KSWAVE_OUTPUT_CAPABILITIES, *PKSWAVE_OUTPUT_CAPABILITIES;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
LONG Channel;
|
|||
|
LONG Level;
|
|||
|
} KSWAVE_VOLUME, *PKSWAVE_VOLUME;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
LONG LeftLevel ;
|
|||
|
LONG RightLevel ;
|
|||
|
} KSWAVE_PAN, *PKSWAVE_PAN
|
|||
|
|
|||
|
//===========================================================================
|
|||
|
// MIDI
|
|||
|
//===========================================================================
|
|||
|
|
|||
|
DEFINE_GUIDEX(KSPROPSETID_MIDI);
|
|||
|
|
|||
|
#define KSPROPERTY_MIDI_INPUT_CAPABILITIES 0x00000001
|
|||
|
#define KSPROPERTY_MIDI_OUTPUT_CAPABILITIES 0x00000002
|
|||
|
#define KSPROPERTY_MIDI_VOLUME 0x00000003
|
|||
|
#define KSPROPERTY_MIDI_PAN 0x00000004
|
|||
|
|
|||
|
|
|||
|
typedef struct {
|
|||
|
// TBD
|
|||
|
} KSMIDI_INPUT_CAPABILITIES, *PKSMIDI_INPUT_CAPABILITIES ;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ULONG Voices ;
|
|||
|
ULONG Notes ;
|
|||
|
ULONG Channel ;
|
|||
|
} KSMIDI_OUTPUT_CAPABILITIES, *PKSMIDI_OUTPUT_CAPABILITIES ;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
ULONG Level ;
|
|||
|
} KSMIDI_VOLUME, *PKSMIDI_VOLUME ;
|
|||
|
|
|||
|
typedef KSWAVE_PAN KSMIDI_PAN, *PKSMIDI_PAN ;
|
|||
|
|
|||
|
//===========================================================================
|
|||
|
// AC3
|
|||
|
//===========================================================================
|
|||
|
|
|||
|
DEFINE_GUIDEX(KSPROPSETID_AC3);
|
|||
|
|
|||
|
#define KSPROPERTY_AC3_INPUT_CAPABILITIES 0x00000001
|
|||
|
#define KSPROPERTY_AC3_OUTPUT_CAPABILITIES 0x00000002
|
|||
|
#define KSPROPERTY_AC3_VOLUME 0x00000003
|
|||
|
|
|||
|
|
|||
|
typedef struct {
|
|||
|
} KSAC3_OUTPUT_CAPABILITIES, *PKSAC3_OUTPUT_CAPABILITIES ;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
// TDB
|
|||
|
} KSAC3_VOLUME, *PKSAC3_VOLUME ;
|
|||
|
|
|||
|
//===========================================================================
|
|||
|
//===========================================================================
|
|||
|
|
|||
|
|
|||
|
|