]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/xapo/xapo.factor
use radix literals
[factor.git] / basis / windows / directx / xapo / xapo.factor
1 USING: alien.c-types alien.syntax classes.struct windows.com
2 windows.com.syntax windows.directx.audiodefs windows.kernel32
3 windows.types ;
4 IN: windows.directx.xapo
5
6 CONSTANT: XAPO_MIN_CHANNELS 1
7 CONSTANT: XAPO_MAX_CHANNELS 64
8
9 CONSTANT: XAPO_MIN_FRAMERATE 1000
10 CONSTANT: XAPO_MAX_FRAMERATE 200000
11
12 CONSTANT: XAPO_REGISTRATION_STRING_LENGTH 256
13
14 CONSTANT: XAPO_FLAG_CHANNELS_MUST_MATCH      0x00000001
15
16 CONSTANT: XAPO_FLAG_FRAMERATE_MUST_MATCH     0x00000002
17
18 CONSTANT: XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH 0x00000004
19
20 CONSTANT: XAPO_FLAG_BUFFERCOUNT_MUST_MATCH   0x00000008
21
22 CONSTANT: XAPO_FLAG_INPLACE_REQUIRED         0x00000020
23
24 CONSTANT: XAPO_FLAG_INPLACE_SUPPORTED        0x00000010
25
26 STRUCT: XAPO_REGISTRATION_PROPERTIES 
27     { clsid                GUID       }
28     { FriendlyName         WCHAR[256] }
29     { CopyrightInfo        WCHAR[256] }
30     { MajorVersion         UINT32     }
31     { MinorVersion         UINT32     }
32     { Flags                UINT32     }
33     { MinInputBufferCount  UINT32     }
34     { MaxInputBufferCount  UINT32     }
35     { MinOutputBufferCount UINT32     }
36     { MaxOutputBufferCount UINT32     } ;
37
38 STRUCT: XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS
39     { pFormat                    WAVEFORMATEX* }
40     { MaxFrameCount              UINT32        } ;
41
42 ENUM: XAPO_BUFFER_FLAGS
43     XAPO_BUFFER_SILENT
44     XAPO_BUFFER_VALID ;
45
46 STRUCT: XAPO_PROCESS_BUFFER_PARAMETERS
47     { pBuffer                    void*             }
48     { BufferFlags                XAPO_BUFFER_FLAGS }
49     { ValidFrameCount            UINT32            } ;
50
51 COM-INTERFACE: IXAPO IUnknown {A90BC001-E897-E897-55E4-9E4700000000}
52     HRESULT GetRegistrationProperties ( XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties )
53     HRESULT IsInputFormatSupported ( WAVEFORMATEX* pOutputFormat, WAVEFORMATEX* pRequestedInputFormat, WAVEFORMATEX** ppSupportedInputFormat )
54     HRESULT IsOutputFormatSupported ( WAVEFORMATEX* pInputFormat, WAVEFORMATEX* pRequestedOutputFormat, WAVEFORMATEX** ppSupportedOutputFormat )
55     HRESULT Initialize ( void* pData, UINT32 DataByteSize )
56     void Reset ( )
57     HRESULT LockForProcess ( UINT32 InputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters, UINT32 OutputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters )
58     void UnlockForProcess ( )
59     void Process ( UINT32 InputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters, UINT32 OutputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters, BOOL IsEnabled )
60     UINT32 CalcInputFrames ( UINT32 OutputFrameCount )
61     UINT32 CalcOutputFrames ( UINT32 InputFrameCount ) ;
62
63 COM-INTERFACE: IXAPOParameters IUnknown {A90BC001-E897-E897-55E4-9E4700000001}
64     void SetParameters ( void* pParameters, UINT32 ParameterByteSize )
65     void GetParameters ( void* pParameters, UINT32 ParameterByteSize ) ;
66
67