comparison fuhtark_test/include/winapi/msptrmac.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 #ifndef _MSPTRMAC_H_
2 #define _MSPTRMAC_H_
3
4 #define WAVEIN_NAME L"WaveIn Terminal"
5
6 #ifdef __cplusplus
7
8 class CAudioCaptureTerminal : public IDispatchImpl<ITBasicAudioTerminal,&IID_ITBasicAudioTerminal,&LIBID_TAPI3Lib>,public IDispatchImpl<ITStaticAudioTerminal,&IID_ITStaticAudioTerminal,&LIBID_TAPI3Lib>,public CSingleFilterStaticTerminal,public CMSPObjectSafetyImpl
9 {
10 BEGIN_COM_MAP(CAudioCaptureTerminal)
11 COM_INTERFACE_ENTRY(IObjectSafety)
12 COM_INTERFACE_ENTRY(ITBasicAudioTerminal)
13 COM_INTERFACE_ENTRY(ITStaticAudioTerminal)
14 COM_INTERFACE_ENTRY_CHAIN(CSingleFilterStaticTerminal)
15 END_COM_MAP()
16 DECLARE_VQI()
17 DECLARE_LOG_ADDREF_RELEASE(CAudioCaptureTerminal)
18 public:
19 CAudioCaptureTerminal();
20 virtual ~CAudioCaptureTerminal();
21 static HRESULT CreateTerminal(CComPtr<IMoniker> pMoniker,MSP_HANDLE htAddress,ITTerminal **ppTerm);
22 HRESULT FindTerminalPin();
23 public:
24 STDMETHOD(get_Balance)(long *pVal);
25 STDMETHOD(put_Balance)(long newVal);
26 STDMETHOD(get_Volume) (long *pVal);
27 STDMETHOD(put_Volume) (long newVal);
28 public:
29 STDMETHOD(get_WaveId) (long *plWaveId);
30 STDMETHODIMP CompleteConnectTerminal(void);
31 STDMETHODIMP DisconnectTerminal(IGraphBuilder *pGraph,DWORD dwReserved);
32 virtual HRESULT AddFiltersToGraph();
33 virtual DWORD GetSupportedMediaTypes(void) { return (DWORD) TAPIMEDIATYPE_AUDIO; }
34 HRESULT CreateFilters();
35 inline HRESULT CreateFiltersIfRequired();
36 private:
37 bool m_bResourceReserved;
38 CComPtr<IAMAudioInputMixer> m_pIAMAudioInputMixer;
39 };
40
41 inline HRESULT CAudioCaptureTerminal::CreateFiltersIfRequired() {
42 if(!m_pIFilter) return CreateFilters();
43 return S_OK;
44 }
45
46 #endif /* __cplusplus */
47
48 #endif