Microsoft DirectX 8.0 (C++)

KSPROPERTY

プロパティと操作を識別するために、IKsControl::KsProperty メソッドで使用される。

KSPROPERTYKSIDENTIFIER 構造体として定義され、次のように宣言される。

typedef struct {
    union {
        struct {
            GUID   Set;
            ULONG  Id;
            ULONG  Flags;
        };
        LONGLONG    Alignment;
    };
} KSIDENTIFIER, *PKSIDENTIFIER;

メンバ

設定
プロパティ セットの識別子。以下のプロパティセット GUID は、DirectMusic によって事前に定義されている。
GUID_DMUS_PROP_DLS1
項目 0 は、このポートが DLS レベル 1 サンプルのダウンロードをサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_DLS2
項目 0 は、このポートが DLS レベル 2 サンプルのダウンロードをサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_Effects
項目 0 は、DMUS_EFFECT_NONE または 1 つ以上のエフェクト フラグを含む (「DMUS_PORTCAPS」の「dwEffectFlags メンバ」を参照)。このプロパティを使用して、エフェクトの現在の状態を設定または取得する。
GUID_DMUS_PROP_GM_Hardware
項目 0 は、このポートがハードウェア内で GM をサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_GS_Capable
項目 0 は、このポートが Roland GS 拡張の最低要件をサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_GS_Hardware
項目 0 は、このポートがハードウェア内で Roland GS 拡張をサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_INSTRUMENT2
項目 0 は、このポートが DMUS_ARTICULATION2 構造体を使用したサンプルのダウンロードをサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_LegacyCaps
項目 0 は、このポートを実装している基盤の Windows マルチメディア デバイスを記述する MIDIINCAPS 構造体または MIDIOUTCAPS 構造体である。このポートの能力の構造体で dwClass が DMUS_PC_INPUTCLASS の場合、MIDIINCAPS 構造体が返される。それ以外の場合は MIDIOUTCAPS 構造体が返される。
GUID_DMUS_PROP_MemorySize
項目 0 は、このデバイス上のサンプル RAM の空きバイト数である。
GUID_DMUS_PROP_SampleMemorySize
項目 0 は、このデバイスで利用可能なサンプル RAM の空きバイト数と使用バイト数である。
GUID_DMUS_PROP_SamplePlaybackRate
項目 0 は、シンセサイザのサンプリング レートである。DLS レベル 2 ファイル形式は、条件付きチャンクをサポートするので、リージョンやアーティキュレーションをダウンロードすべきかどうかを判定できる。これにより、作成者は異なるサンプリング レートを使用することを意図したオプションのウェーブを作成できる。
GUID_DMUS_PROP_SynthSink_DSOUND
項目 0 は、このポートが DirectSound をサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_SynthSink_WAVE
項目 0 は、このポートが waveOut 関数を使用してウェーブ出力をサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_Volume
項目 1 (DMUS_ITEM_Volume) は、DMUS_VOLUME_MAX 〜 DMUS_VOLUME_MIN の範囲の LONG 値である。符号付きの値で、1/100dB 単位で表す。この値は、すべての DLS アーティキュレーションが実行された後に、すべてのボイスのゲインに追加される。デフォルトでは、ポートをパフォーマンスに追加するとき、このプロパティはマスタ ボリュームに設定される。マスタ ボリュームについては、「グローバル パラメータの設定と取得」を参照すること。
GUID_DMUS_PROP_WavesReverb
項目 0 は、リバーブ パラメータを保持する DMUS_WAVES_REVERB_PARAMS 構造体である。
GUID_DMUS_PROP_WriteLatency
項目 0 は、ユーザーモード シンセサイザ (DMUS_PORTCAPS 構造体の dwType メンバは DMUS_PORT_USER_MODE_SYNTH) の書き込み遅延時間である。ユーザーモード シンセサイザは、その出力を DirectSound にストリーム化する。書き込み遅延時間とは、シンセサイザがサウンド バッファを作成してから、それが聞こえるまでの遅延時間を意味する。この値を調整することにより、アプリケーションはシンセサイザをより詳細にチューニングし、サウンドの分断のない最小遅延時間を設定できる。一部のコンピュータ、特に、DirectSound のハードウェア サポートのないコンピュータの場合、初期遅延時間はほかのコンピュータより非常に長くなる。そのため、値は常に最初に読み込まれるようにし、相対値を使用して調整しなければならない。書き込み遅延時間は、各ポート インスタンスについて異なる値を持つことができる。プロパティは、ポートをアクティブにするたびに設定しなければならない。アプリケーションでシンセサイザの書き込み遅延時間をオーディオパスに設定することは推奨されない。
GUID_DMUS_PROP_WritePeriod
項目 0 は、ユーザーモード シンセサイザ (DMUS_PORTCAPS 構造体の dwType メンバは DMUS_PORT_USER_MODE_SYNTH) の書き込み間隔である。ユーザーモード シンセサイザは、その出力を DirectSound にストリーム化する。書き込み間隔は、シンセサイザ シンクがシンセサイザのミキシングを許可する頻度を制御する。この値を減らすことによって、アプリケーションはシンセサイザの全体的な遅延時間を短縮できる。ただし、10 ミリ秒 (ms) より小さい値を指定すると、CPU の負荷が増加する。書き込み間隔は、標準的な DirectSound シンクを使用するすべてのポート インスタンスについて同じ値を持つ。プロパティは、ポートをアクティブにするたびに設定しなければならない。このプロパティは、オーディオパス内のポートに設定することはできない。
GUID_DMUS_PROP_XG_Capable
項目 0 は、このポートが Yamaha XG 拡張の最低要件をサポートするかどうかを示すブール値である。
GUID_DMUS_PROP_XG_Hardware
項目 0 は、このポートがハードウェア内で Yamaha XG 拡張をサポートするかどうかを示すブール値である。
Id
プロパティ セット内の項目。
フラグ
次のいずれかのフラグを使用して、操作を指定する。
KSPROPERTY_TYPE_GET
指定されたプロパティ項目の値を取得する。
KSPROPERTY_TYPE_SET
指定されたプロパティ項目の値を設定する。
KSPROPERTY_TYPE_BASICSUPPORT
プロパティ セット用に利用できるサポートのタイプを決定する。IKsControl::KsProperty*pvPropertyData に返すデータは、KSPROPERTY_TYPE_GET と KSPROPERTY_TYPE_SET のどちらか、または両方を含む DWORD である。これは、その操作が可能であることを示す。
整列
DirectMusic では使用されない。

動作環境

  ヘッダー : dmksctrl.h で宣言。

参照

DirectMusic ポートのプロパティ セット