スタジオモードとトランジション
このガイドでは、スタジオモード(プレビュー/プログラムワークフロー、T バーの直接制御を含む)と、シーントランジション(トランジションの選択、時間の設定、トランジションイベントへの反応)について説明します。
スタジオモード
| 関数 | 説明 |
|---|---|
SetStudioModeEnabled(Enabled) | スタジオモードを有効または無効にする |
GetStudioModeEnabled() | 現在のスタジオモードの状態を取得する |
IsStudioModeEnabled() | スタジオモードが有効かどうかを確認する(キャッシュ済み) |
SetCurrentPreviewScene(Name) | プレビューシーンを設定する(スタジオモード時のみ) |
GetCurrentPreviewScene() | 現在のプレビューシーンを取得する |
GetPreviewSceneName() | プレビューシーン名を取得する(キャッシュ済み) |
TriggerStudioModeTransition() | プレビューをプログラムへトランジションする |
T バーの制御: GetClient()->GetStudioMode()->SetTBarPosition(Position, bRelease) を使用すると、スタジオモードのトランジション T バーを直接操作できます。Position は 0.0 から 1.0 の範囲にクランプされます。bRelease = false を渡すとバーを特定の位置に保持し(例: シーケンサーのフロートトラックからスクラブする場合など)、true を渡すと解放して OBS がトランジションを完了します。スタジオモードと Cut 以外のトランジションが必要です。
// Hold the T-Bar at the halfway point, then release to complete the transition
UInhyeongOBSWebSocketClient* Client = OBS->GetClient();
Client->GetStudioMode()->SetTBarPosition(0.5f, /*bRelease=*/false);
// ...later...
Client->GetStudioMode()->SetTBarPosition(1.0f, /*bRelease=*/true);
注意: プレビューシーン関連の関数は、スタジオモードが有効な場合にのみ動作します。
トランジション
| 関数 | 説明 |
|---|---|
GetSceneTransitionList() | 利用可能なトランジションの一覧を更新する |
GetCurrentSceneTransition() | 現在のトランジションの詳細を取得する |
SetCurrentSceneTransition(Name) | アクティブなシーントランジションを設定する |
SetCurrentSceneTransitionDuration(Ms) | トランジション時間をミリ秒単位で設定する |
GetCurrentTransitionName() | 現在のトランジション名を取得する(キャッシュ済み) |
GetCurrentTransitionDuration() | 現在の時間をミリ秒単位で取得する(キャッシュ済み) |
IsTransitionActive() | トランジションが現在進行中かどうかを確認する |
GetCachedTransitions() | ローカルにキャッシュされたトランジション一覧を取得する |
注意: Cut などの固定トランジションは時間の変更をサポートしていないため、時間を変更する前に
bTransitionFixedを確認してください。
イベント
スタジオモード
OnStudioModeStateChanged(bEnabled): スタジオモードが有効化または無効化されたOnCurrentPreviewSceneChanged(SceneName, SceneUuid): プレビューシーンが変更された
トランジション
OnCurrentTransitionChanged(TransitionName): アクティブなトランジションが変更されたOnTransitionDurationChanged(DurationMs): トランジション時間が変更されたOnTransitionStarted(TransitionName): シーントランジションが開始されたOnTransitionEnded(TransitionName): シーントランジションが完了したOnTransitionVideoEnded(TransitionName): トランジションの動画が終了した(スティンガートランジションに便利)OnTransitionListUpdated: トランジション一覧が更新された
OBS の全ドメインにわたるイベントの完全なカタログについては、イベントリファレンスを参照してください。