IAMTimecodeDisplay
COM公式ドキュメント
IAMTimecodeDisplay インターフェイスは、外部の SMPTE/MIDI タイムコード表示デバイスを制御します。DirectShow は現在、このインターフェイスを実装するフィルターを提供していません。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
GetTCDisplayEnable メソッドは、外部デバイスのタイムコード文字ジェネレーター出力が有効か無効かを判定します。
| pState | INT* | out | タイムコード文字ジェネレーター出力が有効かどうかを示す値へのポインター。OATRUE は有効、OAFALSE は無効を示します。 |
戻り値
インターフェイスの実装に依存する HRESULT 値を返します。
解説(Remarks)
このメソッドはフィルターグラフ内での文字レンダリングを目的としたものではなく、ハードウェア表示専用です。このメソッドを使用する前に、外部のタイムコードリーダーまたはジェネレーターに表示機能があることを確認してください。
SetTCDisplayEnable メソッドは、外部デバイスのタイムコード文字出力ジェネレーターを有効または無効にします。
| State | INT | in | タイムコード文字出力ジェネレーターを有効にするか無効にするかを指定する値。有効にするには OATRUE を、無効にするには OAFALSE を指定します。 |
戻り値
インターフェイスの実装に依存する HRESULT 値を返します。
解説(Remarks)
このメソッドはフィルターグラフ内での文字レンダリングを目的としたものではなく、ハードウェア表示専用です。このメソッドを使用する前に、外部のタイムコードリーダーまたはジェネレーターに表示機能があることを確認してください。
GetTCDisplay メソッドは、タイムコード文字ジェネレーター出力の現在の設定を取得します。
| Param | INT | in | タイムコード表示の特性。設定を取得したい項目を、以下のいずれか 1 つ指定します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
| pValue | INT* | out | Param で指定したパラメーターの現在の設定へのポインター。このパラメーターは以下のいずれかの値を取得します。 Param に ED_TCD_SOURCE を指定した場合、以下のいずれかを返します。
Param に ED_TCD_SIZE を指定した場合、以下のいずれかを返します。
Param に ED_TCD_POSITION を指定した場合、以下のいずれかを返します。
以下のいずれかと組み合わせて返します。
Param に ED_TCD_INTENSITY を指定した場合、以下のいずれかを返します。
Param に ED_TCD_TRANSPARENCY を指定した場合、0 から 4 の値を返します。0 は完全な不透明を表します。 Param に ED_TCD_INVERT を指定した場合、以下のいずれかを返します。
Param に ED_TCD_BORDER を指定した場合、以下のいずれかを返します。
|
戻り値
インターフェイスの実装に依存する HRESULT 値を返します。
SetTCDisplay メソッドは、タイムコード文字ジェネレーター出力の特性を設定します。
| Param | INT | in | タイムコード表示の特性。プロパティを設定したい項目を、以下のいずれか 1 つ指定します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Value | INT | in | Param で指定したパラメーターの設定。以下のいずれかである必要があります。 Param に ED_TCD_SOURCE を指定した場合、以下のいずれかを設定します。
Param に ED_TCD_SIZE を指定した場合、以下のいずれかを設定します。
Param に ED_TCD_POSITION を指定した場合、以下のいずれかを設定します。
以下のいずれかと組み合わせて設定します。
Param に ED_TCD_INTENSITY を指定した場合、以下のいずれかを設定します。
Param に ED_TCD_TRANSPARENCY を指定した場合、0 から 4 の値を設定します。0 は完全な不透明、4 は可能な限り暗い状態を表します。 Param に ED_TCD_INVERT を指定した場合、以下のいずれかを設定します。
Param に ED_TCD_BORDER を指定した場合、以下のいずれかを設定します。
|
戻り値
インターフェイスの実装に依存する HRESULT 値を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IAMTimecodeDisplay "{9B496CE2-811B-11CF-8C77-00AA006B6814}" #usecom global IAMTimecodeDisplay IID_IAMTimecodeDisplay "{}" #comfunc global IAMTimecodeDisplay_GetTCDisplayEnable 3 var #comfunc global IAMTimecodeDisplay_SetTCDisplayEnable 4 int #comfunc global IAMTimecodeDisplay_GetTCDisplay 5 int,var #comfunc global IAMTimecodeDisplay_SetTCDisplay 6 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IAMTimecodeDisplay "{9B496CE2-811B-11CF-8C77-00AA006B6814}" #usecom global IAMTimecodeDisplay IID_IAMTimecodeDisplay "{}" #comfunc global IAMTimecodeDisplay_GetTCDisplayEnable 3 sptr #comfunc global IAMTimecodeDisplay_SetTCDisplayEnable 4 int #comfunc global IAMTimecodeDisplay_GetTCDisplay 5 int,sptr #comfunc global IAMTimecodeDisplay_SetTCDisplay 6 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。