Handlers API
このプラグインは OBS のコントロールを 11 のドメインハンドラーに分割します。各ハンドラーは UInhyeongOBSHandlerBase のサブクラスであり、中央の UInhyeongOBSWebSocketClient によって所有されます。ハンドラーは自身のドメイン状態をキャッシュし、クライアントを通じてリクエストを送信し、すべてのイベントに対して Blueprint で割り当て可能なダイナミックデリゲート(FOBSOn*)と対応するネイティブ C++ デリゲート(FOBSOn*Native)の両方を発火します。以下に列挙されているすべての BlueprintAssignable On* デリゲートには、同名の On*Native C++ 版(サフィックス Native)があり、C++ から AddSP / AddLambda でバインドできます。
ハンドラーへのアクセス。 C++ または Blueprint から、クライアントを取得して型付きアクセサーを呼び出します。
UInhyeongOBSScenes* Scenes = Subsystem->GetClient()->GetScenes();
Scenes->SetCurrentProgramScene(TEXT("Gameplay"));
クライアントのアクセサーは GetScenes()、GetAudio()、GetOutputs()、GetInputSettings()、GetMediaInputs()、GetStudioMode()、GetTransitions()、GetFilters()、GetScreenshots()、GetConfig()、GetGeneral() です。ハンドラーは最初のアクセス時に遅延生成されます。
最も一般的な操作の多くは、Subsystem API(シーン切り替え、録画、ミュート/音量など)の便利メソッドとしても提供されているため、Blueprint 側でハンドラーに直接触れる必要はありません。サブシステムのミラーが存在する場合は各ハンドラーの説明に記載しています。ハンドラー固有のメソッド(サブシステムのミラーなし)としては、リプレイの衝突回避(Outputs)、永続データ(Config)、T バー(StudioMode)、デバイスプロパティの列挙(InputSettings)、ゲームイベントの発火(General)が挙げられます。完全なイベントカタログとシグネチャについては Events を参照してください。
TSharedPtr<FJsonObject> を受け取るメソッドは C++ 専用です。対応する *FromString 版は JSON 文字列を受け取る Blueprint 対応の等価メソッドです。
UInhyeongOBSScenes
シーン切り替え、シーンの CRUD、グループ、シーンアイテム(ソース)、Z オーダー/ロック/ブレンド、シーンアイテムのフルトランスフォームを扱います。GetClient()->GetScenes() でアクセスします。一般的な操作はサブシステムにもミラーされています。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetSceneList | なし | シーン一覧をリクエストします(OnSceneListUpdated を発火)。 |
SetCurrentProgramScene | SceneName | 名前でプログラムシーンを切り替えます。 |
GetCurrentProgramScene | なし | 現在のプログラムシーンをリクエストします。 |
CreateScene | SceneName | 新しいシーンを(一意の名前で)作成します。 |
RemoveScene | SceneName | 名前でシーンを削除します。 |
RemoveSceneByUuid | SceneUuid | UUID でシーンを削除します。 |
SetSceneName | SceneName, NewSceneName | シーンの名前を変更します。 |
SetSceneNameByUuid | SceneUuid, NewSceneName | UUID でシーンの名前を変更します。 |
GetGroupList | なし | すべてのグループを一覧表示します。 |
GetGroupSceneItemList | GroupName | グループ内のアイテムを一覧表示します。 |
GetCachedGroups | → TArray<FString> | キャッシュされたグループ名。 |
GetSceneItemSource | SceneName, SceneItemId | シーンアイテムのソースを取得します。 |
GetSourceActive | SourceName | ソースのアクティブ/表示状態を取得します。 |
GetSourceActiveByUuid | SourceUuid | 同上(UUID 指定)。 |
GetSceneTransitionOverride | SceneName | シーンのトランジションの上書きを取得します。 |
SetSceneTransitionOverride | SceneName, TransitionName, TransitionDuration=-1 | シーンのトランジションの上書きを設定します(名前を空にするとクリア)。 |
ClearSceneTransitionOverride | SceneName | シーンのトランジションの上書きをクリアします。 |
GetCachedTransitionOverride | SceneName, OutOverride → bool | キャッシュされたトランジションの上書きを読み取ります。 |
FetchAllTransitionOverrides | なし | キャッシュされた全シーンの上書きを取得します。 |
GetCurrentSceneName | → FString | キャッシュされた現在のプログラムシーン名。 |
GetCachedScenes | → TArray<FOBSScene> | キャッシュされたシーン一覧。 |
GetCachedScenesWithItems | → TArray<FOBSSceneWithItems> | キャッシュされたシーンとそのアイテム。 |
GetSceneItemList | SceneName | シーン内のシーンアイテム(ソース)を一覧表示します。 |
SetSceneItemEnabled | SceneName, SceneItemId, bEnabled | シーンアイテムを表示/非表示にします。 |
GetSceneItemId | SceneName, SourceName | ソース名を数値のシーンアイテム ID に解決します。 |
CreateSceneItem | SceneName, SourceName, bEnabled=true | 既存のソースをシーンに追加します。 |
RemoveSceneItem | SceneName, SceneItemId | シーンアイテムを削除します(参照のみ)。 |
DuplicateSceneItem | SceneName, SceneItemId, DestinationSceneName="" | シーンアイテムを複製します(参照)。 |
GetSceneItemLocked | SceneName, SceneItemId | シーンアイテムのロック状態を取得します。 |
SetSceneItemLocked | SceneName, SceneItemId, bLocked | シーンアイテムをロック/ロック解除します。 |
GetSceneItemIndex | SceneName, SceneItemId | シーンアイテムの Z オーダーインデックスを取得します。 |
SetSceneItemIndex | SceneName, SceneItemId, SceneItemIndex | シーンアイテムの Z オーダーインデックスを設定します。 |
GetSceneItemBlendMode | SceneName, SceneItemId | シーンアイテムのブレンドモードを取得します。 |
SetSceneItemBlendMode | SceneName, SceneItemId, BlendMode | シーンアイテムのブレンドモードを設定します(EOBSBlendMode)。 |
GetSceneItemTransform | SceneName, SceneItemId | シーンアイテムのトランスフォームを取得します。 |
SetSceneItemTransform | SceneName, SceneItemId, Transform | FOBSSceneItemTransform をすべて適用します。 |
SetSceneItemPosition | SceneName, SceneItemId, X, Y | 位置のみを設定します。 |
SetSceneItemRotation | SceneName, SceneItemId, Rotation | 回転のみを設定します(度数)。 |
SetSceneItemScale | SceneName, SceneItemId, ScaleX, ScaleY | スケールのみを設定します。 |
SetSceneItemCrop | SceneName, SceneItemId, Left, Top, Right, Bottom | クロップのみを設定します。 |
SetSceneItemBounds | SceneName, SceneItemId, BoundsType, BoundsWidth, BoundsHeight, BoundsAlignment=0 | バウンディングボックスのプロパティを設定します。 |
GetCachedSceneItemTransform | SceneName, SceneItemId, OutTransform → bool | キャッシュされたトランスフォームを読み取ります。 |
FetchSceneItemTransforms | SceneName | シーン内の全アイテムのトランスフォームをキャッシュします。 |
FetchAllSceneItemTransforms | なし | 全シーン内の全アイテムのトランスフォームをキャッシュします(OnAllTransformsFetched を発火)。 |
IsTransformCached | SceneName, SceneItemId → bool | トランスフォームがキャッシュされているかどうか。 |
SetTransformEventsEnabled | bEnable | 高頻度の SceneItemTransformChanged イベントをオプトインします。 |
AreTransformEventsEnabled | → bool | トランスフォームイベントが購読されているかどうか。 |
RefreshAllSceneData | なし | 全シーンデータを更新します。 |
GetCachedTransformCount | → int32 | キャッシュされたトランスフォームの診断カウント。 |
GetCachedTransitionOverrideCount | → int32 | キャッシュされた上書きの診断カウント。 |
C++ 専用:
SetSceneItemTransformFromJson、および静的ヘルパーTransformToJson、JsonToTransform、BoundsTypeToString/StringToBoundsType、BlendModeToString/StringToBlendMode。
| イベント | パラメーター | 説明 |
|---|---|---|
OnSceneListUpdated | Scenes | シーン一覧が変更されました。 |
OnAllTransformsFetched | Scenes | FetchAllSceneItemTransforms が完了しました。 |
OnCurrentSceneChanged | SceneName | プログラムシーンが変更されました。 |
OnSceneItemTransformChanged | SceneName, SceneItemId, Transform | シーンアイテムのトランスフォームが変更されました(SetTransformEventsEnabled(true) が必要)。 |
OnSceneItemCreated | シーンアイテムの詳細 | シーンにソースが追加されました。 |
OnSceneItemRemoved | シーンアイテムの詳細 | シーンアイテムが削除されました。 |
OnSceneItemLockStateChanged | ロックの詳細 | シーンアイテムのロック状態が変更されました。 |
OnSceneItemEnableStateChanged | 有効化の詳細 | シーンアイテムの表示状態が変更されました。 |
OnSceneItemListReindexed | SceneName | シーンアイテムが並び替えられました。 |
OnSceneCreated | シーンの詳細 | シーンが作成されました。 |
OnSceneRemoved | シーンの詳細 | シーンが削除されました。 |
OnSceneNameChanged | 名前変更の詳細 | シーンの名前が変更されました。 |
OnTransitionOverrideReceived | 上書きデータ | シーンのトランジションの上書きが到着しました。 |
UInhyeongOBSAudio
入力、ミュート、音量(dB および乗数)、高度な音声設定(バランス、同期オフセット、モニタリング種別、トラック)、特殊な入力、入力の CRUD、および音声アクティビティ検出のオプトインを扱います。GetClient()->GetAudio() でアクセスします。ミュート/音量と入力リストのヘルパーはサブシステムにもミラーされています。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetInputList | InputKind="" | 入力を一覧表示します(種類でフィルタリング可)。 |
GetCachedInputs | → TArray<FOBSInput> | キャッシュされた入力一覧。 |
GetCachedInput | InputName, OutInput → bool | 名前で指定したキャッシュ済みの入力 1 件。 |
RefreshAllAudioInfo | なし | キャッシュされた全音声入力の音量/ミュートを取得します。 |
SetInputMute | InputName, bMuted | ミュート状態を設定します。 |
ToggleInputMute | InputName | ミュートを切り替えます。 |
GetInputMute | InputName | ミュートを照会します(キャッシュを更新してイベントを発火)。 |
SetInputVolume | InputName, VolumeDb | 音量を dB で設定します。 |
SetInputVolumeMultiplier | InputName, VolumeMul | 音量を乗数で設定します。 |
GetInputVolume | InputName | 音量を照会します(キャッシュを更新してイベントを発火)。 |
AdjustInputVolume | InputName, DeltaDb | dB 単位で音量を相対変更します。 |
RefreshAllAdvancedAudioInfo | なし | キャッシュされた全入力のバランス/同期/モニタリング/トラックを取得します。 |
SetVolumeMetersEnabled | bEnable | 高頻度の InputVolumeMeters ストリームをオプトインします(OnInputVolumeMeters を駆動)。 |
SetInputActiveStateEventsEnabled | bEnable | InputActiveStateChanged をオプトインします(OnInputActiveStateChanged を駆動)。 |
GetLastVolumeMeters | → TArray<FOBSInputVolumeMeter> | 最新の音量メーターフレーム。 |
GetInputAudioBalance | InputName | ステレオバランスを照会します。 |
SetInputAudioBalance | InputName, Balance | バランスを設定します(0=左、0.5=中央、1=右)。 |
GetInputAudioSyncOffset | InputName | A/V 同期オフセット(ms)を照会します。 |
SetInputAudioSyncOffset | InputName, OffsetMs | 同期オフセットを設定します(-950〜20000、負数可)。 |
GetInputAudioMonitorType | InputName | モニタリング種別を照会します。 |
SetInputAudioMonitorType | InputName, MonitorType | モニタリング種別を設定します(EOBSMonitorType)。 |
GetInputAudioTracks | InputName | 音声トラックの有効状態を照会します。 |
SetInputAudioTracks | InputName, Tracks | 全トラックを設定します(FOBSAudioTracks、トラック 1〜6)。 |
SetInputAudioTrack | InputName, TrackNumber, bEnabled | 単一トラックを設定します(1〜6)。 |
GetSpecialInputs | なし | デフォルトのデスクトップ/マイク入力名を取得します。 |
GetCachedSpecialInputs | → FOBSSpecialInputs | キャッシュされた特殊な入力。 |
CreateInputFromString | SceneName, InputName, InputKind, InputSettingsJson="", bSceneItemEnabled=true | 新しい入力を作成してシーンに追加します。 |
RemoveInput | InputName | 入力を削除します(使用中の場合は失敗)。 |
SetInputName | InputName, NewInputName | 入力の名前を変更します。 |
GetInputKindList | bUnversioned=false | 利用可能な入力の種類を一覧表示します。 |
GetCachedInputKinds | → TArray<FString> | キャッシュされた入力の種類。 |
SupportsAdvancedAudioProperties | InputKind → bool | (静的)ある種類がバランス/同期/トラック/モニタリングをサポートするかどうか。 |
IsAudioInputKind | InputKind → bool | (静的)ある種類が音声タイプかどうか。 |
C++ 専用:
*ByUuid版(GetInputAudioBalanceByUuidなど)、CreateInput、およびRemoveInputByUuid。
| イベント | パラメーター | 説明 |
|---|---|---|
OnInputListUpdated | Inputs | 入力一覧が変更されました。 |
OnInputMuteStateChanged | InputName, bMuted | 入力のミュートが変更されました。 |
OnInputVolumeChanged | InputName, VolumeDb, VolumeMul | 入力の音量が変更されました。 |
OnInputVolumeMeters | Meters | 高頻度の入力ごとのレベル(SetVolumeMetersEnabled(true) が必要)。 |
OnInputActiveStateChanged | InputName, bVideoActive | 入力のビデオアクティブ状態が変更されました(オプトインが必要)。 |
OnInputCreated | 入力の詳細 | 入力が作成されました。 |
OnInputRemoved | 入力の詳細 | 入力が削除されました。 |
OnInputNameChanged | 名前変更の詳細 | 入力の名前が変更されました。 |
OnInputKindListReceived | 種類 | 入力の種類の一覧が到着しました。 |
OnInputAudioBalanceChanged | バランス | バランスが変更または取得されました。 |
OnInputAudioSyncOffsetChanged | オフセット | 同期オフセットが変更または取得されました。 |
OnInputAudioTracksChanged | トラック | トラックが変更または取得されました。 |
OnInputAudioMonitorTypeChanged | モニタリング種別 | モニタリング種別が変更または取得されました。 |
OnSpecialInputsReceived | 特殊な入力 | 特殊な入力が取得されました。 |
UInhyeongOBSOutputs
配信、録画(一時停止/再開、分割、チャプターを含む)、仮想カメラ、リプレイバッファ(衝突回避を含む)、録画の保存先ディレクトリ、汎用出力、および配信キャプションを扱います。GetClient()->GetOutputs() でアクセスします。配信/録画のコントロールはサブシステムにもミラーされていますが、リプレイの衝突回避はハンドラー固有です。
| 関数 | パラメーター | 説明 |
|---|---|---|
StartStream / StopStream / ToggleStream | なし | 配信のコントロール。 |
GetStreamStatus | なし | 配信ステータスをリクエストします。 |
IsStreaming | → bool | キャッシュされた配信フラグ。 |
GetLastStreamStatus | → FOBSStreamStatus | 最後の配信ステータス。 |
StartRecord / StopRecord / ToggleRecord | なし | 録画のコントロール。 |
PauseRecord / ResumeRecord / ToggleRecordPause | なし | 録画の一時停止コントロール。 |
GetRecordStatus | なし | 録画ステータスをリクエストします。 |
IsRecording | → bool | キャッシュされた録画フラグ。 |
GetLastRecordStatus | → FOBSRecordStatus | 最後の録画ステータス。 |
StartVirtualCam / StopVirtualCam / ToggleVirtualCam | なし | 仮想カメラのコントロール。 |
GetVirtualCamStatus | なし | 仮想カメラのステータスをリクエストします。 |
IsVirtualCamActive | → bool | キャッシュされた仮想カメラフラグ。 |
StartReplayBuffer / StopReplayBuffer / ToggleReplayBuffer | なし | リプレイバッファのコントロール。 |
SaveReplayBuffer | なし | 現在のリプレイバッファを保存します。 |
GetReplayBufferStatus | なし | リプレイバッファのステータスをリクエストします。 |
IsReplayBufferActive | → bool | キャッシュされたリプレイバッファフラグ。 |
GetLastReplayPath | → FString | 最後に保存されたリプレイのパス(リネーム後)。 |
SetReplayCollisionProofing | bEnable | 保存されたリプレイごとに一意のタイムスタンプサフィックスで名前を変更します(ハンドラー固有)。 |
IsReplayCollisionProofingEnabled | → bool | 衝突回避が有効かどうか。 |
SetNextReplayContextLabel | Label | 次に保存されるリプレイのファイル名に埋め込まれる 1 回限りのラベル。 |
SaveReplayBufferWithContext | ContextLabel | 次のリプレイのラベルを設定してすぐに保存します。 |
GetRecordDirectory | なし | 録画の保存先ディレクトリをリクエストします。 |
SetRecordDirectory | Directory | 録画の保存先ディレクトリを設定します(次の録画から有効)。 |
GetCachedRecordDirectory | → FString | キャッシュされた録画の保存先ディレクトリ。 |
GetLastRecordedFilePath | → FString | 最後に録画されたファイルのパス。 |
SplitRecordFile | なし | 録画を新しいファイルに分割します。 |
CreateRecordChapter | ChapterName="" | チャプターマーカーを追加します(OBS 30.2.0 以降、Hybrid MP4)。 |
GetOutputList | なし | すべての出力を一覧表示します。 |
GetOutputStatus | OutputName | 1 つの出力のステータス。 |
GetOutputSettings | OutputName | 1 つの出力の設定。 |
SetOutputSettingsFromString | OutputName, JsonSettings | JSON から出力設定を行います。 |
StartOutput / StopOutput / ToggleOutput | OutputName | 特定の出力をコントロールします。 |
GetCachedOutputs | → TArray<FOBSOutput> | キャッシュされた出力一覧。 |
SendStreamCaption | CaptionText | CEA-608 キャプションテキストを送信します(配信中である必要があります)。 |
C++ 専用:
SetOutputSettings(JSON オブジェクト)および静的ヘルパーBuildReplayFilenameとSanitizeReplayLabel。
| イベント | パラメーター | 説明 |
|---|---|---|
OnStreamStateChanged | 状態 | 配信状態が変更されました。 |
OnRecordStateChanged | 状態 | 録画状態が変更されました。 |
OnRecordingStopped | 出力パス | 録画が停止しました(ファイルパス付き)。 |
OnVirtualCamStateChanged | 状態 | 仮想カメラの状態が変更されました。 |
OnReplayBufferStateChanged | 状態 | リプレイバッファの状態が変更されました。 |
OnReplayBufferSaved | 保存パス | リプレイが保存されました(リネーム後の最終パス)。 |
OnRecordFileChanged | 新しいパス | 録画出力が新しいファイルに切り替わりました(分割)。 |
OnRecordDirectoryReceived | ディレクトリ | 録画の保存先ディレクトリが取得されました。 |
OnOutputListReceived | 出力 | 出力一覧が取得されました。 |
OnOutputStatusReceived | ステータス | 出力ステータスが取得されました。 |
UInhyeongOBSInputSettings
テキスト/ブラウザ/画像/メディア/カラーソースのソース設定、デフォルト設定、およびキャプチャデバイスのプロパティアクセスを扱います。GetClient()->GetInputSettings() でアクセスします。ボタン押下とリストプロパティの列挙はハンドラー固有です。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetInputSettings | InputName | 入力の設定を取得します(OnInputSettingsReceivedNative を発火)。 |
GetInputSettingsByUuid | InputUuid | 同上(UUID 指定)。 |
SetInputSettingsFromString | InputName, InputSettingsJson, bOverlay=true | JSON から設定を適用します。 |
GetInputDefaultSettings | InputKind | ある種類のデフォルト設定を取得します。 |
PressInputPropertiesButton | InputName, PropertyName | ボタン型プロパティを押します(例:キャプチャデバイスの有効化/無効化)。 |
GetInputPropertiesListPropertyItems | InputName, PropertyName | リストプロパティのアイテム(デバイスドロップダウン)を列挙します。OnInputPropertyItemsReceived を発火します。 |
GetCachedInputSettingsString | InputName → FString | JSON としてキャッシュされた設定。 |
HasCachedSettings | InputName → bool | 設定がキャッシュされているかどうか。 |
ClearCachedSettings | InputName | 1 つの入力のキャッシュをクリアします。 |
ClearAllCachedSettings | なし | 設定キャッシュ全体をクリアします。 |
SetTextSourceText | InputName, NewText | テキストソースのテキストを設定します。 |
SetBrowserSourceUrl | InputName, NewUrl | ブラウザソースの URL を設定します。 |
SetImageSourceFile | InputName, NewFilePath | 画像ソースのファイルを設定します。 |
SetMediaSourceFile | InputName, NewFilePath, bLooping=false | メディアソースのファイルを設定します。 |
SetColorSourceColor | InputName, Color | カラーソースの色を設定します(ABGR int64)。 |
C++ 専用:
SetInputSettings/SetInputSettingsByUuid(JSON オブジェクト)およびGetCachedInputSettings(JSON オブジェクトの出力パラメーター)。
| イベント | パラメーター | 説明 |
|---|---|---|
OnInputSettingsChanged | 入力の詳細 | 入力の設定が変更されました。 |
OnInputPropertyItemsReceived | プロパティアイテム | リストプロパティのアイテム(デバイスドロップダウン)が到着しました。 |
ネイティブ限定:
OnInputSettingsReceivedNativeはGetInputSettings呼び出しからの実際の設定 JSON を配信します。
UInhyeongOBSMediaInputs
メディアソース(VLC、Media Source)の再生コントロール、シーク、およびステータスを扱います。GetClient()->GetMediaInputs() でアクセスします。EOBSMediaInputAction および EOBSMediaState 列挙型と FOBSMediaInputStatus 構造体を定義します。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetMediaInputStatus | InputName | 状態/再生時間/カーソルを照会します。 |
GetCachedMediaInputStatus | InputName, OutStatus → bool | 最後にキャッシュされたステータス。 |
TriggerMediaInputAction | InputName, Action | EOBSMediaInputAction を実行します。 |
PlayMedia / PauseMedia / StopMedia / RestartMedia | InputName | 再生のショートカット。 |
NextMedia / PreviousMedia | InputName | プレイリストのナビゲーション。 |
SetMediaInputCursor | InputName, CursorMs | 絶対位置(ms)にシークします。 |
OffsetMediaInputCursor | InputName, OffsetMs | 相対シーク(ms)。 |
SeekToPercent | InputName, Percent | 再生時間の割合(0.0〜1.0)にシークします。 |
静的ヘルパー:
MediaInputActionToString、MediaInputActionFromString、ParseMediaState。
| イベント | パラメーター | 説明 |
|---|---|---|
OnMediaInputPlaybackStarted | InputName | 再生が開始されました。 |
OnMediaInputPlaybackEnded | InputName | 再生が終了しました。 |
OnMediaInputActionTriggered | InputName, Action | メディアアクションが発火されました。 |
OnMediaInputStatusReceived | Status | メディアステータスが到着しました。 |
UInhyeongOBSStudioMode
スタジオモードの切り替え、プレビューシーン、および T バーのスクラブを含むトランジションを扱います。GetClient()->GetStudioMode() でアクセスします。SetTBarPosition はハンドラー固有です。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetStudioModeEnabled | なし | スタジオモードの状態を照会します。 |
SetStudioModeEnabled | bEnabled | スタジオモードを有効化/無効化します。 |
IsStudioModeEnabled | → bool | キャッシュされたスタジオモードフラグ。 |
GetCurrentPreviewScene | なし | プレビューシーンを照会します。 |
SetCurrentPreviewScene | SceneName | 名前でプレビューシーンを設定します。 |
SetCurrentPreviewSceneByUuid | SceneUuid | UUID でプレビューシーンを設定します。 |
GetPreviewSceneName | → FString | キャッシュされたプレビューシーン名。 |
GetPreviewSceneUuid | → FString | キャッシュされたプレビューシーン UUID。 |
TriggerStudioModeTransition | なし | プレビューをプログラムにトランジションします。 |
TriggerStudioModeTransitionWithOptions | TransitionName, TransitionDurationMs=-1 | 特定のトランジション/時間でトランジションします。 |
SetTBarPosition | Position, bRelease=true | T バーをスクラブします(0=プレビュー、1=トランジション完了)。シーケンサーの float トラックで保持する場合は bRelease=false を渡してください。 |
| イベント | パラメーター | 説明 |
|---|---|---|
OnStudioModeStateChanged | bEnabled | スタジオモードが切り替わりました。 |
OnCurrentPreviewSceneChanged | シーン | プレビューシーンが変更されました。 |
UInhyeongOBSTransitions
現在のトランジション、その時間と設定、およびライブのトランジション進行状況を扱います。GetClient()->GetTransitions() でアクセスします。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetSceneTransitionList | なし | 利用可能なトランジションを一覧表示します(OnTransitionListUpdated を発火)。 |
GetCachedTransitions | → TArray<FOBSTransition> | キャッシュされたトランジション一覧。 |
GetCurrentSceneTransition | なし | 現在のトランジションを照会します。 |
SetCurrentSceneTransition | TransitionName | 現在のトランジションを設定します。 |
GetCurrentTransitionInfo | → FOBSCurrentTransitionInfo | キャッシュされた現在のトランジション情報。 |
GetCurrentTransitionName | → FString | キャッシュされた現在のトランジション名。 |
SetCurrentSceneTransitionDuration | DurationMs | トランジション時間を設定します。 |
GetCurrentTransitionDuration | → int32 | キャッシュされたトランジション時間(ms)。 |
SetCurrentSceneTransitionSettingsFromString | SettingsJson, bOverlay=true | JSON からトランジション固有の設定を行います。 |
GetCurrentSceneTransitionCursor | なし | アクティブなトランジションのカーソルを照会します。 |
GetCachedTransitionCursor | → float | 最後のカーソル値(0.0〜1.0、または -1)。 |
IsTransitionActive | → bool | トランジションが進行中かどうか。 |
C++ 専用:
SetCurrentSceneTransitionSettings(JSON オブジェクト)。
| イベント | パラメーター | 説明 |
|---|---|---|
OnCurrentTransitionChanged | 名前 | 現在のトランジションが変更されました。 |
OnTransitionDurationChanged | 時間 | トランジション時間が変更されました。 |
OnTransitionStarted | 名前 | トランジションが開始されました。 |
OnTransitionEnded | 名前 | トランジションが終了しました(カットポイント)。 |
OnTransitionVideoEnded | 名前 | トランジションの映像が終了しました(スティンガートランジション)。 |
OnTransitionListUpdated | 一覧 | トランジション一覧が変更されました。 |
UInhyeongOBSFilters
入力、シーン、グループのソースフィルターの CRUD、有効化/並び替え、およびフィルターごとの設定を扱います。GetClient()->GetFilters() でアクセスします。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetSourceFilterKindList | なし | 利用可能なフィルターの種類を一覧表示します。 |
GetCachedFilterKinds | → TArray<FString> | キャッシュされたフィルターの種類。 |
GetSourceFilterList | SourceName | ソースのフィルターを一覧表示します。 |
GetSourceFilterListByUuid | SourceUuid | 同上(UUID 指定)。 |
GetCachedFiltersForSource | SourceName → TArray<FOBSSourceFilter> | ソースのキャッシュされたフィルター。 |
HasCachedFiltersForSource | SourceName → bool | フィルターがキャッシュされているかどうか。 |
ClearCachedFiltersForSource | SourceName | 1 つのソースのフィルターキャッシュをクリアします。 |
ClearAllCachedFilters | なし | フィルターキャッシュ全体をクリアします。 |
GetSourceFilter | SourceName, FilterName | 1 つのフィルターの情報を取得します。 |
GetSourceFilterDefaultSettings | FilterKind | フィルターの種類のデフォルト設定。 |
CreateSourceFilterFromString | SourceName, FilterName, FilterKind, FilterSettingsJson="" | フィルターを作成します(JSON 設定)。 |
RemoveSourceFilter | SourceName, FilterName | フィルターを削除します。 |
SetSourceFilterName | SourceName, FilterName, NewFilterName | フィルターの名前を変更します。 |
SetSourceFilterIndex | SourceName, FilterName, FilterIndex | フィルターチェーン内でフィルターを並び替えます。 |
SetSourceFilterEnabled | SourceName, FilterName, bEnabled | フィルターを有効化/無効化します。 |
SetSourceFilterSettingsFromString | SourceName, FilterName, FilterSettingsJson, bOverlay=true | JSON からフィルター設定を行います。 |
C++ 専用:
CreateSourceFilterおよびSetSourceFilterSettings(JSON オブジェクト)。
| イベント | パラメーター | 説明 |
|---|---|---|
OnSourceFilterCreated | フィルターの詳細 | フィルターが作成されました。 |
OnSourceFilterRemoved | フィルターの詳細 | フィルターが削除されました。 |
OnSourceFilterNameChanged | 名前変更の詳細 | フィルターの名前が変更されました。 |
OnSourceFilterSettingsChanged | フィルターの詳細 | フィルターの設定が変更されました。 |
OnSourceFilterEnableStateChanged | 有効化の詳細 | フィルターの有効状態が変更されました。 |
OnSourceFilterListReindexed | SourceName | ソースのフィルター一覧が並び替えられました。 |
ネイティブ限定:
OnSourceFilterListReceivedNativeはGetSourceFilterListのレスポンスがキャッシュされた後に発火します(エディタのコンボボックス更新で使用)。
UInhyeongOBSScreenshots
スクリーンショットを base64 でキャプチャするか OBS マシンのファイルシステムに保存する機能と、テクスチャ変換ユーティリティを扱います。GetClient()->GetScreenshots() でアクセスします。このハンドラーは OBS イベントを持たず、純粋なリクエスト/レスポンスです。On* デリゲートはハンドラーレベル限定で、サブシステムにはミラーされません。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetSourceScreenshot | SourceName, ImageFormat="png" | base64 でキャプチャします(OnScreenshotCaptured を発火)。 |
GetSourceScreenshotByUuid | SourceUuid, ImageFormat="png" | 同上(UUID 指定)。 |
GetSourceScreenshotWithOptions | Request | FOBSScreenshotRequest を完全にコントロールしてキャプチャします。 |
GetSourceScreenshotScaled | SourceName, ImageFormat, Width, Height, CompressionQuality=-1 | スケーリングしてキャプチャします。 |
SaveSourceScreenshot | SourceName, FilePath, ImageFormat="png" | OBS マシンのファイルに保存します(OnScreenshotSaved を発火)。 |
SaveSourceScreenshotByUuid | SourceUuid, FilePath, ImageFormat="png" | 同上(UUID 指定)。 |
SaveSourceScreenshotWithOptions | Request | 完全なコントロールで保存します(Request.ImageFilePath が必要)。 |
SaveSourceScreenshotScaled | SourceName, FilePath, ImageFormat, Width, Height, CompressionQuality=-1 | スケーリングして保存します。 |
CreateTextureFromBase64 | Base64ImageData → UTexture2D* | (静的)base64 をテクスチャにデコードします。 |
CreateTextureFromScreenshotResult | Result → UTexture2D* | (静的)FOBSScreenshotResult からテクスチャを作成します。 |
DecodeBase64ImageData | Base64ImageData, OutBytes, OutFormat → bool | (静的)base64 を生バイト列にデコードします。 |
CreateTextureFromBytes | ImageBytes → UTexture2D* | (静的)生バイト列からテクスチャを作成します。 |
GetLastScreenshotResult | → FOBSScreenshotResult | 最後にキャプチャされた結果。 |
GetLastSavedResult | → FOBSScreenshotSavedResult | 最後に保存された結果。 |
IsCapturePending | → bool | キャプチャが進行中かどうか。 |
| イベント | パラメーター | 説明 |
|---|---|---|
OnScreenshotCaptured | 結果 | base64 スクリーンショットの準備ができました。 |
OnScreenshotSaved | 結果 | スクリーンショットがファイルシステムに保存されました。 |
UInhyeongOBSConfig
シーンコレクション、プロファイル、プロファイルパラメーター、配信サービス設定、映像設定、およびプラグイン所有の永続キー/バリューストアを扱います。GetClient()->GetConfig() でアクセスします。永続データのメソッドはハンドラー固有です。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetSceneCollectionList | なし | シーンコレクションを一覧表示します(OnSceneCollectionListChanged を発火)。 |
SetCurrentSceneCollection | SceneCollectionName | シーンコレクションを切り替えます(リロードの一時停止が発生します)。 |
CreateSceneCollection | SceneCollectionName | 新しいコレクションを作成して切り替えます。 |
GetCachedSceneCollections | → TArray<FString> | キャッシュされたコレクション名。 |
GetCurrentSceneCollectionName | → FString | キャッシュされた現在のコレクション。 |
GetProfileList | なし | プロファイルを一覧表示します(OnProfileListChanged を発火)。 |
SetCurrentProfile | ProfileName | プロファイルを切り替えます。 |
CreateProfile | ProfileName | プロファイルを作成して切り替えます。 |
RemoveProfile | ProfileName | プロファイルを削除します(アクティブなプロファイルは削除不可)。 |
GetCachedProfiles | → TArray<FString> | キャッシュされたプロファイル名。 |
GetCurrentProfileName | → FString | キャッシュされた現在のプロファイル。 |
GetProfileParameter | ParameterCategory, ParameterName | プロファイルの設定パラメーターを読み取ります。 |
SetProfileParameter | ParameterCategory, ParameterName, ParameterValue | プロファイルの設定パラメーターを書き込みます。 |
GetStreamServiceSettings | なし | 配信サービス設定を取得します(OnStreamServiceSettingsReceived を発火)。 |
SetStreamServiceSettings | Settings | 配信サービス設定を行います(FOBSStreamServiceSettings)。 |
SetStreamServiceSettingsFromString | ServiceType, JsonSettings | JSON から設定します。 |
SetSimpleRTMPSettings | Server, StreamKey | カスタム RTMP の簡易セットアップ。 |
GetCachedStreamServiceSettings | → FOBSStreamServiceSettings | キャッシュされた設定。 |
GetVideoSettings | なし | 映像設定を取得します(OnVideoSettingsReceived を発火)。 |
SetVideoSettings | Settings | 映像設定を行います(配信中・録画中は不可)。 |
SetBaseResolution | Width, Height | キャンバスの解像度を設定します。 |
SetOutputResolution | Width, Height | スケーリング後の出力解像度を設定します。 |
SetFPS | FpsNumerator, FpsDenominator=1 | FPS を分数で設定します。 |
GetCachedVideoSettings | → FOBSVideoSettings | キャッシュされた映像設定。 |
GetPersistentData | Realm, SlotName | 永続スロットを読み取ります(OnPersistentDataReceived を発火)。 |
SetPersistentData | Realm, SlotName, SlotValueJson → bool | JSON 値からスロットに書き込みます(空の場合は null)。無効な JSON は false を返し、何も送信しません。 |
SetPersistentDataString | Realm, SlotName, SlotValue | プレーン文字列としてスロットに書き込みます。 |
GetCachedPersistentData | Realm, SlotName, OutSlotValueJson → bool | キャッシュされたスロットを読み取ります。 |
RealmはEOBSDataRealm(GlobalまたはProfile)です。C++ 専用:SetStreamServiceSettingsRaw(JSON オブジェクト)。
| イベント | パラメーター | 説明 |
|---|---|---|
OnStreamServiceSettingsReceived | 設定 | 配信サービス設定が取得されました。 |
OnVideoSettingsReceived | 設定 | 映像設定が取得されました。 |
OnPersistentDataReceived | スロット値 | 永続スロットが取得されました。 |
OnCurrentSceneCollectionChanging | 名前 | シーンコレクションが変更されようとしています。 |
OnCurrentSceneCollectionChanged | 名前 | シーンコレクションが変更されました。 |
OnSceneCollectionListChanged | 一覧 | シーンコレクションの一覧が変更されました。 |
OnCurrentProfileChanging | 名前 | プロファイルが変更されようとしています。 |
OnCurrentProfileChanged | 名前 | プロファイルが変更されました。 |
OnProfileListChanged | 一覧 | プロファイルの一覧が変更されました。 |
UInhyeongOBSGeneral
ドメインをまたぐ操作(パフォーマンス統計、ホットキー、ベンダー(サードパーティプラグイン)リクエスト、カスタム/終了イベント、アウトバウンドのゲームイベント発火)を扱います。GetClient()->GetGeneral() でアクセスします(OBS バージョンはクライアントが GetOBSVersion / IsOBSVersionAtLeast を通じて直接取得します)。EmitGameEvent はサブシステムに転送されます。それ以外はハンドラー固有です。
| 関数 | パラメーター | 説明 |
|---|---|---|
GetStats | なし | パフォーマンス統計をリクエストします(OnStatsReceived を発火)。 |
GetCachedStats | → FOBSStats | 最新の統計情報。 |
GetHotkeyList | なし | 全ホットキー名をリクエストします(OnHotkeyListReceived を発火)。 |
GetCachedHotkeys | → TArray<FString> | キャッシュされたホットキー名。 |
TriggerHotkeyByName | HotkeyName, ContextName="" | 名前でホットキーをトリガーします。 |
TriggerHotkeyByKeySequence | KeyId, bShift=false, bControl=false, bAlt=false, bCommand=false | キー ID と修飾キーでホットキーをトリガーします。 |
BroadcastCustomEvent | EventDataJson | 他の WebSocket クライアントにカスタムイベントをブロードキャストします。 |
CallVendorRequest | VendorName, RequestType, RequestDataJson | サードパーティプラグインのリクエストを呼び出します(OnVendorResponseReceived を発火)。 |
EmitGameEvent | EventName, PayloadJson, Realm="inhyeongobs" → bool | 名前空間付きのゲームイベントを発火します(無効なペイロード JSON の場合は false を返します)。 |
EmitGameEventMap | EventName, Payload (TMap), Realm="inhyeongobs" | EmitGameEvent のマップベースの便利版。 |
| イベント | パラメーター | 説明 |
|---|---|---|
OnStatsReceived | 統計情報 | パフォーマンス統計が到着しました。 |
OnHotkeyListReceived | ホットキー | ホットキーの一覧が到着しました。 |
OnExitStarted | なし | OBS がシャットダウンを開始しました。 |
OnVendorEvent | ベンダーペイロード | ベンダー(プラグイン)イベントが到着しました。 |
OnCustomEvent | カスタムペイロード | 別のクライアントからカスタムイベントが到着しました。 |
OnVendorResponseReceived | ベンダーレスポンス | CallVendorRequest の返答が到着しました。 |
関連項目
- Subsystem API:これらのハンドラーをラップする約 100 の便利メソッドを持つ GameInstance ファサード。
- Events:完全なイベントカタログ、ペイロード構造体、およびデリゲートのシグネチャ。