├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── missing-event.md │ ├── missing-event.yml │ ├── missing-request.md │ └── missing-request.yml ├── images │ └── obs-ws-java.png └── workflows │ ├── master.yml │ ├── pr.yml │ ├── release.yml │ └── snapshot.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── VERSION ├── build.gradle ├── client ├── build.gradle ├── lombok.config └── src │ ├── endToEndManualTest │ └── java │ │ └── io │ │ └── obswebsocket │ │ └── community │ │ └── client │ │ └── test │ │ ├── AbstractObsE2ETest.java │ │ ├── ObsRemoteE2eIT.java │ │ └── ObsRemoteE2eObservationIT.java │ ├── endToEndSecuredTest │ └── java │ │ └── io │ │ └── obswebsocket │ │ └── community │ │ └── client │ │ └── test │ │ ├── ObsRemoteAuthE2eIT.java │ │ └── ObsRemoteLifecycleE2eIT.java │ ├── endToEndUnsecuredTest │ └── java │ │ └── io │ │ └── obswebsocket │ │ └── community │ │ └── client │ │ └── test │ │ └── OBSRemoteControllerUnsecuredIT.java │ ├── integrationTest │ ├── java │ │ └── io │ │ │ └── obswebsocket │ │ │ └── community │ │ │ └── client │ │ │ └── test │ │ │ ├── ObsCommunicatorEventIT.java │ │ │ └── UnreachableObsIT.java │ └── resources │ │ └── simplelogger.properties │ ├── main │ ├── java │ │ └── io │ │ │ └── obswebsocket │ │ │ └── community │ │ │ └── client │ │ │ ├── BlockingConsumer.java │ │ │ ├── OBSCommunicator.java │ │ │ ├── OBSCommunicatorBuilder.java │ │ │ ├── OBSRemoteController.java │ │ │ ├── OBSRemoteControllerBase.java │ │ │ ├── OBSRemoteControllerBuilder.java │ │ │ ├── WebSocketCloseCode.java │ │ │ ├── authenticator │ │ │ ├── Authenticator.java │ │ │ ├── AuthenticatorImpl.java │ │ │ └── NoOpAuthenticator.java │ │ │ ├── listener │ │ │ ├── event │ │ │ │ ├── OBSEventListener.java │ │ │ │ └── OBSEventListenerImpl.java │ │ │ ├── lifecycle │ │ │ │ ├── LifecycleListenerBuilderFacade.java │ │ │ │ ├── ReasonThrowable.java │ │ │ │ ├── communicator │ │ │ │ │ ├── CommunicatorLifecycleListener.java │ │ │ │ │ ├── CommunicatorLifecycleListenerBuilder.java │ │ │ │ │ ├── CompositeCommunicatorLifecycleListener.java │ │ │ │ │ ├── DelegatingCommunicatorLifecycleListener.java │ │ │ │ │ └── LoggingCommunicatorLifecycleListener.java │ │ │ │ └── controller │ │ │ │ │ ├── CompositeControllerLifecycleListener.java │ │ │ │ │ ├── ControllerLifecycleListener.java │ │ │ │ │ ├── ControllerLifecycleListenerBuilder.java │ │ │ │ │ ├── DelegatingControllerLifecycleListener.java │ │ │ │ │ └── LoggingControllerLifecycleListener.java │ │ │ └── request │ │ │ │ ├── ObsRequestListener.java │ │ │ │ └── ObsRequestListenerImpl.java │ │ │ ├── message │ │ │ ├── Message.java │ │ │ ├── authentication │ │ │ │ ├── Hello.java │ │ │ │ ├── Identified.java │ │ │ │ ├── Identify.java │ │ │ │ └── Reidentify.java │ │ │ ├── event │ │ │ │ ├── Event.java │ │ │ │ ├── EventType.java │ │ │ │ ├── config │ │ │ │ │ ├── CurrentProfileChangedEvent.java │ │ │ │ │ ├── CurrentProfileChangingEvent.java │ │ │ │ │ ├── CurrentSceneCollectionChangedEvent.java │ │ │ │ │ ├── CurrentSceneCollectionChangingEvent.java │ │ │ │ │ ├── ProfileListChangedEvent.java │ │ │ │ │ └── SceneCollectionListChangedEvent.java │ │ │ │ ├── filters │ │ │ │ │ ├── SourceFilterCreatedEvent.java │ │ │ │ │ ├── SourceFilterEnableStateChangedEvent.java │ │ │ │ │ ├── SourceFilterListReindexedEvent.java │ │ │ │ │ ├── SourceFilterNameChangedEvent.java │ │ │ │ │ └── SourceFilterRemovedEvent.java │ │ │ │ ├── general │ │ │ │ │ ├── CustomEventEvent.java │ │ │ │ │ ├── ExitStartedEvent.java │ │ │ │ │ └── VendorEventEvent.java │ │ │ │ ├── inputs │ │ │ │ │ ├── InputActiveStateChangedEvent.java │ │ │ │ │ ├── InputAudioBalanceChangedEvent.java │ │ │ │ │ ├── InputAudioMonitorTypeChangedEvent.java │ │ │ │ │ ├── InputAudioSyncOffsetChangedEvent.java │ │ │ │ │ ├── InputAudioTracksChangedEvent.java │ │ │ │ │ ├── InputCreatedEvent.java │ │ │ │ │ ├── InputMuteStateChangedEvent.java │ │ │ │ │ ├── InputNameChangedEvent.java │ │ │ │ │ ├── InputRemovedEvent.java │ │ │ │ │ ├── InputShowStateChangedEvent.java │ │ │ │ │ ├── InputVolumeChangedEvent.java │ │ │ │ │ └── InputVolumeMetersEvent.java │ │ │ │ ├── mediainputs │ │ │ │ │ ├── MediaInputActionTriggeredEvent.java │ │ │ │ │ ├── MediaInputPlaybackEndedEvent.java │ │ │ │ │ └── MediaInputPlaybackStartedEvent.java │ │ │ │ ├── outputs │ │ │ │ │ ├── RecordStateChangedEvent.java │ │ │ │ │ ├── ReplayBufferSavedEvent.java │ │ │ │ │ ├── ReplayBufferStateChangedEvent.java │ │ │ │ │ ├── StreamStateChangedEvent.java │ │ │ │ │ └── VirtualcamStateChangedEvent.java │ │ │ │ ├── sceneitems │ │ │ │ │ ├── SceneItemCreatedEvent.java │ │ │ │ │ ├── SceneItemEnableStateChangedEvent.java │ │ │ │ │ ├── SceneItemListReindexedEvent.java │ │ │ │ │ ├── SceneItemLockStateChangedEvent.java │ │ │ │ │ ├── SceneItemRemovedEvent.java │ │ │ │ │ ├── SceneItemSelectedEvent.java │ │ │ │ │ └── SceneItemTransformChangedEvent.java │ │ │ │ ├── scenes │ │ │ │ │ ├── CurrentPreviewSceneChangedEvent.java │ │ │ │ │ ├── CurrentProgramSceneChangedEvent.java │ │ │ │ │ ├── SceneCreatedEvent.java │ │ │ │ │ ├── SceneListChangedEvent.java │ │ │ │ │ ├── SceneNameChangedEvent.java │ │ │ │ │ └── SceneRemovedEvent.java │ │ │ │ ├── transitions │ │ │ │ │ ├── CurrentSceneTransitionChangedEvent.java │ │ │ │ │ ├── CurrentSceneTransitionDurationChangedEvent.java │ │ │ │ │ ├── SceneTransitionEndedEvent.java │ │ │ │ │ ├── SceneTransitionStartedEvent.java │ │ │ │ │ └── SceneTransitionVideoEndedEvent.java │ │ │ │ └── ui │ │ │ │ │ ├── ScreenshotSavedEvent.java │ │ │ │ │ └── StudioModeStateChangedEvent.java │ │ │ ├── request │ │ │ │ ├── Request.java │ │ │ │ ├── RequestBatch.java │ │ │ │ ├── RequestType.java │ │ │ │ ├── config │ │ │ │ │ ├── CreateProfileRequest.java │ │ │ │ │ ├── CreateSceneCollectionRequest.java │ │ │ │ │ ├── GetPersistentDataRequest.java │ │ │ │ │ ├── GetProfileListRequest.java │ │ │ │ │ ├── GetProfileParameterRequest.java │ │ │ │ │ ├── GetRecordDirectoryRequest.java │ │ │ │ │ ├── GetSceneCollectionListRequest.java │ │ │ │ │ ├── GetStreamServiceSettingsRequest.java │ │ │ │ │ ├── GetVideoSettingsRequest.java │ │ │ │ │ ├── RemoveProfileRequest.java │ │ │ │ │ ├── SetCurrentProfileRequest.java │ │ │ │ │ ├── SetCurrentSceneCollectionRequest.java │ │ │ │ │ ├── SetPersistentDataRequest.java │ │ │ │ │ ├── SetProfileParameterRequest.java │ │ │ │ │ ├── SetStreamServiceSettingsRequest.java │ │ │ │ │ └── SetVideoSettingsRequest.java │ │ │ │ ├── filters │ │ │ │ │ ├── CreateSourceFilterRequest.java │ │ │ │ │ ├── GetSourceFilterDefaultSettingsRequest.java │ │ │ │ │ ├── GetSourceFilterListRequest.java │ │ │ │ │ ├── GetSourceFilterRequest.java │ │ │ │ │ ├── RemoveSourceFilterRequest.java │ │ │ │ │ ├── SetSourceFilterEnabledRequest.java │ │ │ │ │ ├── SetSourceFilterIndexRequest.java │ │ │ │ │ ├── SetSourceFilterNameRequest.java │ │ │ │ │ └── SetSourceFilterSettingsRequest.java │ │ │ │ ├── general │ │ │ │ │ ├── BroadcastCustomEventRequest.java │ │ │ │ │ ├── CallVendorRequestRequest.java │ │ │ │ │ ├── GetHotkeyListRequest.java │ │ │ │ │ ├── GetStatsRequest.java │ │ │ │ │ ├── GetVersionRequest.java │ │ │ │ │ ├── SleepRequest.java │ │ │ │ │ ├── TriggerHotkeyByKeySequenceRequest.java │ │ │ │ │ └── TriggerHotkeyByNameRequest.java │ │ │ │ ├── inputs │ │ │ │ │ ├── CreateInputRequest.java │ │ │ │ │ ├── GetInputAudioBalanceRequest.java │ │ │ │ │ ├── GetInputAudioMonitorTypeRequest.java │ │ │ │ │ ├── GetInputAudioSyncOffsetRequest.java │ │ │ │ │ ├── GetInputAudioTracksRequest.java │ │ │ │ │ ├── GetInputDefaultSettingsRequest.java │ │ │ │ │ ├── GetInputKindListRequest.java │ │ │ │ │ ├── GetInputListRequest.java │ │ │ │ │ ├── GetInputMuteRequest.java │ │ │ │ │ ├── GetInputPropertiesListPropertyItemsRequest.java │ │ │ │ │ ├── GetInputSettingsRequest.java │ │ │ │ │ ├── GetInputVolumeRequest.java │ │ │ │ │ ├── GetSpecialInputsRequest.java │ │ │ │ │ ├── PressInputPropertiesButtonRequest.java │ │ │ │ │ ├── RemoveInputRequest.java │ │ │ │ │ ├── SetInputAudioBalanceRequest.java │ │ │ │ │ ├── SetInputAudioMonitorTypeRequest.java │ │ │ │ │ ├── SetInputAudioSyncOffsetRequest.java │ │ │ │ │ ├── SetInputAudioTracksRequest.java │ │ │ │ │ ├── SetInputMuteRequest.java │ │ │ │ │ ├── SetInputNameRequest.java │ │ │ │ │ ├── SetInputSettingsRequest.java │ │ │ │ │ ├── SetInputVolumeRequest.java │ │ │ │ │ └── ToggleInputMuteRequest.java │ │ │ │ ├── mediainputs │ │ │ │ │ ├── GetMediaInputStatusRequest.java │ │ │ │ │ ├── OffsetMediaInputCursorRequest.java │ │ │ │ │ ├── SetMediaInputCursorRequest.java │ │ │ │ │ └── TriggerMediaInputActionRequest.java │ │ │ │ ├── outputs │ │ │ │ │ ├── GetLastReplayBufferReplayRequest.java │ │ │ │ │ ├── GetOutputListRequest.java │ │ │ │ │ ├── GetOutputSettingsRequest.java │ │ │ │ │ ├── GetOutputStatusRequest.java │ │ │ │ │ ├── GetReplayBufferStatusRequest.java │ │ │ │ │ ├── GetVirtualCamStatusRequest.java │ │ │ │ │ ├── SaveReplayBufferRequest.java │ │ │ │ │ ├── SetOutputSettingsRequest.java │ │ │ │ │ ├── StartOutputRequest.java │ │ │ │ │ ├── StartReplayBufferRequest.java │ │ │ │ │ ├── StartVirtualCamRequest.java │ │ │ │ │ ├── StopOutputRequest.java │ │ │ │ │ ├── StopReplayBufferRequest.java │ │ │ │ │ ├── StopVirtualCamRequest.java │ │ │ │ │ ├── ToggleOutputRequest.java │ │ │ │ │ ├── ToggleReplayBufferRequest.java │ │ │ │ │ └── ToggleVirtualCamRequest.java │ │ │ │ ├── record │ │ │ │ │ ├── GetRecordStatusRequest.java │ │ │ │ │ ├── PauseRecordRequest.java │ │ │ │ │ ├── ResumeRecordRequest.java │ │ │ │ │ ├── StartRecordRequest.java │ │ │ │ │ ├── StopRecordRequest.java │ │ │ │ │ ├── ToggleRecordPauseRequest.java │ │ │ │ │ └── ToggleRecordRequest.java │ │ │ │ ├── sceneitems │ │ │ │ │ ├── CreateSceneItemRequest.java │ │ │ │ │ ├── DuplicateSceneItemRequest.java │ │ │ │ │ ├── GetGroupSceneItemListRequest.java │ │ │ │ │ ├── GetSceneItemBlendModeRequest.java │ │ │ │ │ ├── GetSceneItemEnabledRequest.java │ │ │ │ │ ├── GetSceneItemIdRequest.java │ │ │ │ │ ├── GetSceneItemIndexRequest.java │ │ │ │ │ ├── GetSceneItemListRequest.java │ │ │ │ │ ├── GetSceneItemLockedRequest.java │ │ │ │ │ ├── GetSceneItemTransformRequest.java │ │ │ │ │ ├── RemoveSceneItemRequest.java │ │ │ │ │ ├── SetSceneItemBlendModeRequest.java │ │ │ │ │ ├── SetSceneItemEnabledRequest.java │ │ │ │ │ ├── SetSceneItemIndexRequest.java │ │ │ │ │ ├── SetSceneItemLockedRequest.java │ │ │ │ │ └── SetSceneItemTransformRequest.java │ │ │ │ ├── scenes │ │ │ │ │ ├── CreateSceneRequest.java │ │ │ │ │ ├── GetCurrentPreviewSceneRequest.java │ │ │ │ │ ├── GetCurrentProgramSceneRequest.java │ │ │ │ │ ├── GetGroupListRequest.java │ │ │ │ │ ├── GetSceneListRequest.java │ │ │ │ │ ├── GetSceneSceneTransitionOverrideRequest.java │ │ │ │ │ ├── RemoveSceneRequest.java │ │ │ │ │ ├── SetCurrentPreviewSceneRequest.java │ │ │ │ │ ├── SetCurrentProgramSceneRequest.java │ │ │ │ │ ├── SetSceneNameRequest.java │ │ │ │ │ └── SetSceneSceneTransitionOverrideRequest.java │ │ │ │ ├── sources │ │ │ │ │ ├── GetSourceActiveRequest.java │ │ │ │ │ ├── GetSourceScreenshotRequest.java │ │ │ │ │ └── SaveSourceScreenshotRequest.java │ │ │ │ ├── stream │ │ │ │ │ ├── GetStreamStatusRequest.java │ │ │ │ │ ├── SendStreamCaptionRequest.java │ │ │ │ │ ├── StartStreamRequest.java │ │ │ │ │ ├── StopStreamRequest.java │ │ │ │ │ └── ToggleStreamRequest.java │ │ │ │ ├── transitions │ │ │ │ │ ├── GetCurrentSceneTransitionCursorRequest.java │ │ │ │ │ ├── GetCurrentSceneTransitionRequest.java │ │ │ │ │ ├── GetSceneTransitionListRequest.java │ │ │ │ │ ├── GetTransitionKindListRequest.java │ │ │ │ │ ├── SetCurrentSceneTransitionDurationRequest.java │ │ │ │ │ ├── SetCurrentSceneTransitionRequest.java │ │ │ │ │ ├── SetCurrentSceneTransitionSettingsRequest.java │ │ │ │ │ ├── SetTBarPositionRequest.java │ │ │ │ │ └── TriggerStudioModeTransitionRequest.java │ │ │ │ └── ui │ │ │ │ │ ├── GetMonitorListRequest.java │ │ │ │ │ ├── GetStudioModeEnabledRequest.java │ │ │ │ │ ├── OpenInputFiltersDialogRequest.java │ │ │ │ │ ├── OpenInputInteractDialogRequest.java │ │ │ │ │ ├── OpenInputPropertiesDialogRequest.java │ │ │ │ │ ├── OpenSourceProjectorRequest.java │ │ │ │ │ ├── OpenVideoMixProjectorRequest.java │ │ │ │ │ └── SetStudioModeEnabledRequest.java │ │ │ └── response │ │ │ │ ├── RequestBatchResponse.java │ │ │ │ ├── RequestResponse.java │ │ │ │ ├── config │ │ │ │ ├── CreateProfileResponse.java │ │ │ │ ├── CreateSceneCollectionResponse.java │ │ │ │ ├── GetPersistentDataResponse.java │ │ │ │ ├── GetProfileListResponse.java │ │ │ │ ├── GetProfileParameterResponse.java │ │ │ │ ├── GetRecordDirectoryResponse.java │ │ │ │ ├── GetSceneCollectionListResponse.java │ │ │ │ ├── GetStreamServiceSettingsResponse.java │ │ │ │ ├── GetVideoSettingsResponse.java │ │ │ │ ├── RemoveProfileResponse.java │ │ │ │ ├── SetCurrentProfileResponse.java │ │ │ │ ├── SetCurrentSceneCollectionResponse.java │ │ │ │ ├── SetPersistentDataResponse.java │ │ │ │ ├── SetProfileParameterResponse.java │ │ │ │ ├── SetStreamServiceSettingsResponse.java │ │ │ │ └── SetVideoSettingsResponse.java │ │ │ │ ├── filters │ │ │ │ ├── CreateSourceFilterResponse.java │ │ │ │ ├── GetSourceFilterDefaultSettingsResponse.java │ │ │ │ ├── GetSourceFilterListResponse.java │ │ │ │ ├── GetSourceFilterResponse.java │ │ │ │ ├── RemoveSourceFilterResponse.java │ │ │ │ ├── SetSourceFilterEnabledResponse.java │ │ │ │ ├── SetSourceFilterIndexResponse.java │ │ │ │ ├── SetSourceFilterNameResponse.java │ │ │ │ └── SetSourceFilterSettingsResponse.java │ │ │ │ ├── general │ │ │ │ ├── BroadcastCustomEventResponse.java │ │ │ │ ├── CallVendorRequestResponse.java │ │ │ │ ├── GetHotkeyListResponse.java │ │ │ │ ├── GetStatsResponse.java │ │ │ │ ├── GetVersionResponse.java │ │ │ │ ├── SleepResponse.java │ │ │ │ ├── TriggerHotkeyByKeySequenceResponse.java │ │ │ │ └── TriggerHotkeyByNameResponse.java │ │ │ │ ├── inputs │ │ │ │ ├── CreateInputResponse.java │ │ │ │ ├── GetInputAudioBalanceResponse.java │ │ │ │ ├── GetInputAudioMonitorTypeResponse.java │ │ │ │ ├── GetInputAudioSyncOffsetResponse.java │ │ │ │ ├── GetInputAudioTracksResponse.java │ │ │ │ ├── GetInputDefaultSettingsResponse.java │ │ │ │ ├── GetInputKindListResponse.java │ │ │ │ ├── GetInputListResponse.java │ │ │ │ ├── GetInputMuteResponse.java │ │ │ │ ├── GetInputPropertiesListPropertyItemsResponse.java │ │ │ │ ├── GetInputSettingsResponse.java │ │ │ │ ├── GetInputVolumeResponse.java │ │ │ │ ├── GetSpecialInputsResponse.java │ │ │ │ ├── PressInputPropertiesButtonResponse.java │ │ │ │ ├── RemoveInputResponse.java │ │ │ │ ├── SetInputAudioBalanceResponse.java │ │ │ │ ├── SetInputAudioMonitorTypeResponse.java │ │ │ │ ├── SetInputAudioSyncOffsetResponse.java │ │ │ │ ├── SetInputAudioTracksResponse.java │ │ │ │ ├── SetInputMuteResponse.java │ │ │ │ ├── SetInputNameResponse.java │ │ │ │ ├── SetInputSettingsResponse.java │ │ │ │ ├── SetInputVolumeResponse.java │ │ │ │ └── ToggleInputMuteResponse.java │ │ │ │ ├── mediainputs │ │ │ │ ├── GetMediaInputStatusResponse.java │ │ │ │ ├── OffsetMediaInputCursorResponse.java │ │ │ │ ├── SetMediaInputCursorResponse.java │ │ │ │ └── TriggerMediaInputActionResponse.java │ │ │ │ ├── outputs │ │ │ │ ├── GetLastReplayBufferReplayResponse.java │ │ │ │ ├── GetOutputListResponse.java │ │ │ │ ├── GetOutputSettingsResponse.java │ │ │ │ ├── GetOutputStatusResponse.java │ │ │ │ ├── GetReplayBufferStatusResponse.java │ │ │ │ ├── GetVirtualCamStatusResponse.java │ │ │ │ ├── SaveReplayBufferResponse.java │ │ │ │ ├── SetOutputSettingsResponse.java │ │ │ │ ├── StartOutputResponse.java │ │ │ │ ├── StartReplayBufferResponse.java │ │ │ │ ├── StartVirtualCamResponse.java │ │ │ │ ├── StopOutputResponse.java │ │ │ │ ├── StopReplayBufferResponse.java │ │ │ │ ├── StopVirtualCamResponse.java │ │ │ │ ├── ToggleOutputResponse.java │ │ │ │ ├── ToggleReplayBufferResponse.java │ │ │ │ └── ToggleVirtualCamResponse.java │ │ │ │ ├── record │ │ │ │ ├── GetRecordStatusResponse.java │ │ │ │ ├── PauseRecordResponse.java │ │ │ │ ├── ResumeRecordResponse.java │ │ │ │ ├── StartRecordResponse.java │ │ │ │ ├── StopRecordResponse.java │ │ │ │ ├── ToggleRecordPauseResponse.java │ │ │ │ └── ToggleRecordResponse.java │ │ │ │ ├── sceneitems │ │ │ │ ├── CreateSceneItemResponse.java │ │ │ │ ├── DuplicateSceneItemResponse.java │ │ │ │ ├── GetGroupSceneItemListResponse.java │ │ │ │ ├── GetSceneItemBlendModeResponse.java │ │ │ │ ├── GetSceneItemEnabledResponse.java │ │ │ │ ├── GetSceneItemIdResponse.java │ │ │ │ ├── GetSceneItemIndexResponse.java │ │ │ │ ├── GetSceneItemListResponse.java │ │ │ │ ├── GetSceneItemLockedResponse.java │ │ │ │ ├── GetSceneItemTransformResponse.java │ │ │ │ ├── RemoveSceneItemResponse.java │ │ │ │ ├── SetSceneItemBlendModeResponse.java │ │ │ │ ├── SetSceneItemEnabledResponse.java │ │ │ │ ├── SetSceneItemIndexResponse.java │ │ │ │ ├── SetSceneItemLockedResponse.java │ │ │ │ └── SetSceneItemTransformResponse.java │ │ │ │ ├── scenes │ │ │ │ ├── CreateSceneResponse.java │ │ │ │ ├── GetCurrentPreviewSceneResponse.java │ │ │ │ ├── GetCurrentProgramSceneResponse.java │ │ │ │ ├── GetGroupListResponse.java │ │ │ │ ├── GetSceneListResponse.java │ │ │ │ ├── GetSceneSceneTransitionOverrideResponse.java │ │ │ │ ├── RemoveSceneResponse.java │ │ │ │ ├── SetCurrentPreviewSceneResponse.java │ │ │ │ ├── SetCurrentProgramSceneResponse.java │ │ │ │ ├── SetSceneNameResponse.java │ │ │ │ └── SetSceneSceneTransitionOverrideResponse.java │ │ │ │ ├── sources │ │ │ │ ├── GetSourceActiveResponse.java │ │ │ │ ├── GetSourceScreenshotResponse.java │ │ │ │ └── SaveSourceScreenshotResponse.java │ │ │ │ ├── stream │ │ │ │ ├── GetStreamStatusResponse.java │ │ │ │ ├── SendStreamCaptionResponse.java │ │ │ │ ├── StartStreamResponse.java │ │ │ │ ├── StopStreamResponse.java │ │ │ │ └── ToggleStreamResponse.java │ │ │ │ ├── transitions │ │ │ │ ├── GetCurrentSceneTransitionCursorResponse.java │ │ │ │ ├── GetCurrentSceneTransitionResponse.java │ │ │ │ ├── GetSceneTransitionListResponse.java │ │ │ │ ├── GetTransitionKindListResponse.java │ │ │ │ ├── SetCurrentSceneTransitionDurationResponse.java │ │ │ │ ├── SetCurrentSceneTransitionResponse.java │ │ │ │ ├── SetCurrentSceneTransitionSettingsResponse.java │ │ │ │ ├── SetTBarPositionResponse.java │ │ │ │ └── TriggerStudioModeTransitionResponse.java │ │ │ │ └── ui │ │ │ │ ├── GetMonitorListResponse.java │ │ │ │ ├── GetStudioModeEnabledResponse.java │ │ │ │ ├── OpenInputFiltersDialogResponse.java │ │ │ │ ├── OpenInputInteractDialogResponse.java │ │ │ │ ├── OpenInputPropertiesDialogResponse.java │ │ │ │ ├── OpenSourceProjectorResponse.java │ │ │ │ ├── OpenVideoMixProjectorResponse.java │ │ │ │ └── SetStudioModeEnabledResponse.java │ │ │ ├── model │ │ │ ├── Filter.java │ │ │ ├── Input.java │ │ │ ├── InputLevels.java │ │ │ ├── KeyModifiers.java │ │ │ ├── MediaInputAction.java │ │ │ ├── MediaState.java │ │ │ ├── Monitor.java │ │ │ ├── Output.java │ │ │ ├── Projector.java │ │ │ ├── Realm.java │ │ │ ├── Scene.java │ │ │ ├── SceneItem.java │ │ │ ├── SceneItemIdAndIndex.java │ │ │ ├── Source.java │ │ │ ├── Transition.java │ │ │ └── VideoMixType.java │ │ │ └── translator │ │ │ ├── GsonMessageTranslator.java │ │ │ ├── MessageTranslator.java │ │ │ └── serialization │ │ │ ├── EventIntentSerialization.java │ │ │ ├── EventSerialization.java │ │ │ ├── MessageSerialization.java │ │ │ ├── OperationCodeSerialization.java │ │ │ ├── RequestBatchResponseResultsDeserialization.java │ │ │ ├── RequestResponseSerialization.java │ │ │ ├── RequestSerialization.java │ │ │ └── SceneItemTransformAlignmentSerialization.java │ └── resources │ │ └── simplelogger.properties │ └── test │ ├── java │ └── io │ │ └── obswebsocket │ │ └── community │ │ └── client │ │ ├── OBSCommunicatorTest.java │ │ ├── OBSRemoteControllerTest.java │ │ ├── WebSocketCloseCodeTest.java │ │ ├── auth │ │ └── AuthChallengeTest.java │ │ ├── listeners │ │ ├── CompositeCommunicatorLifecycleListenerTest.java │ │ ├── CompositeControllerLifecycleListenerTest.java │ │ ├── DelegatingCommunicatorLifecycleListenerTest.java │ │ └── DelegatingControllerLifecycleListenerTest.java │ │ └── message │ │ ├── AbstractSerializationTest.java │ │ ├── authentication │ │ └── AuthenticationSerializationTest.java │ │ ├── event │ │ ├── AbstractEventListenerTest.java │ │ ├── AbstractEventSerializationTest.java │ │ ├── config │ │ │ ├── ConfigEventsListenerTest.java │ │ │ └── ConfigEventsSerializationTest.java │ │ ├── filters │ │ │ ├── FiltersEventsListenerTest.java │ │ │ └── FiltersEventsSerializationTest.java │ │ ├── general │ │ │ ├── GeneralEventsListenerTest.java │ │ │ ├── GeneralEventsSerializationTest.java │ │ │ ├── VendorsEventsListenerTest.java │ │ │ └── VendorsEventsSerializationTest.java │ │ ├── inputs │ │ │ ├── InputsEventsListenerTest.java │ │ │ └── InputsEventsSerializationTest.java │ │ ├── mediainputs │ │ │ ├── MediaInputsEventsListenerTest.java │ │ │ └── MediaInputsEventsSerializationTest.java │ │ ├── outputs │ │ │ ├── OutputsEventsListenerTest.java │ │ │ └── OutputsEventsSerializationTest.java │ │ ├── sceneitems │ │ │ ├── SceneItemsEventsListenerTest.java │ │ │ └── SceneItemsEventsSerializationTest.java │ │ ├── scenes │ │ │ ├── ScenesEventsListenerTest.java │ │ │ └── ScenesEventsSerializationTest.java │ │ ├── transitions │ │ │ ├── TransitionsEventsListenerTest.java │ │ │ └── TransitionsEventsSerializationTest.java │ │ └── ui │ │ │ ├── UIEventsListenerTest.java │ │ │ └── UIEventsSerializationTest.java │ │ ├── request │ │ ├── AbstractRequestSerializationTest.java │ │ ├── RequestSerializationTest.java │ │ ├── config │ │ │ └── ConfigRequestsSerializationTest.java │ │ ├── filters │ │ │ └── FiltersRequestsSerializationTest.java │ │ ├── general │ │ │ └── GeneralRequestsSerializationTest.java │ │ ├── inputs │ │ │ └── InputsRequestSerializationTest.java │ │ ├── mediainputs │ │ │ └── MediaInputRequestsSerializationTest.java │ │ ├── outputs │ │ │ └── OutputsRequestsSerializationTest.java │ │ ├── record │ │ │ └── RecordRequestsSerializationTest.java │ │ ├── sceneitems │ │ │ └── SceneItemsRequestsSerializationTest.java │ │ ├── scenes │ │ │ └── ScenesRequestsSerializationTest.java │ │ ├── sources │ │ │ └── SourcesRequestsSerializationTest.java │ │ ├── stream │ │ │ └── StreamRequestsSerializationTest.java │ │ ├── transitions │ │ │ └── TransitionsRequestSerializationTest.java │ │ └── ui │ │ │ └── UIRequestSerializationTest.java │ │ └── response │ │ ├── AbstractResponseSerializationTest.java │ │ ├── RequestResponseSerializationTest.java │ │ ├── config │ │ └── ConfigResponseSerializationTest.java │ │ ├── general │ │ └── GeneralResponseSerializationTest.java │ │ ├── inputs │ │ └── InputsResponseSerializationTest.java │ │ ├── mediainputs │ │ └── MediaInputResponseSerializationTest.java │ │ ├── outputs │ │ └── OutputsResponseSerializationTest.java │ │ ├── record │ │ └── RecordResponseSerializationTest.java │ │ ├── scenes │ │ └── ScenesResponseSerializationTest.java │ │ ├── sources │ │ └── SourcesResponseSerializationTest.java │ │ ├── stream │ │ └── StreamResponseSerializationTest.java │ │ └── ui │ │ └── UIResponseSerializationTest.java │ └── resources │ ├── events │ ├── config │ │ ├── CurrentProfileChanged.json │ │ ├── CurrentProfileChanging.json │ │ ├── CurrentSceneCollectionChanged.json │ │ ├── CurrentSceneCollectionChanging.json │ │ ├── ProfileListChanged.json │ │ └── SceneCollectionListChanged.json │ ├── filters │ │ ├── SourceFilterCreated.json │ │ ├── SourceFilterEnableStateChanged.json │ │ ├── SourceFilterListReindexed.json │ │ ├── SourceFilterNameChanged.json │ │ └── SourceFilterRemoved.json │ ├── general │ │ └── ExitStarted.json │ ├── highvolume │ │ ├── InputActiveStateChanged.json │ │ ├── InputShowStateChanged.json │ │ ├── InputVolumeMeters.json │ │ └── SceneItemTransformChanged.json │ ├── inputs │ │ ├── InputAudioBalanceChanged.json │ │ ├── InputAudioMonitorTypeChanged.json │ │ ├── InputAudioSyncOffsetChanged.json │ │ ├── InputAudioTracksChanged.json │ │ ├── InputCreated.json │ │ ├── InputMuteStateChanged.json │ │ ├── InputNameChanged.json │ │ ├── InputRemoved.json │ │ └── InputVolumeChanged.json │ ├── mediainputs │ │ ├── MediaInputActionTriggered.json │ │ ├── MediaInputPlaybackEnded.json │ │ └── MediaInputPlaybackStarted.json │ ├── outputs │ │ ├── RecordStateChanged.json │ │ ├── ReplayBufferSaved.json │ │ ├── ReplayBufferStateChanged.json │ │ ├── StreamStateChanged.json │ │ └── VirtualcamStateChanged.json │ ├── sceneitems │ │ ├── SceneItemCreated.json │ │ ├── SceneItemEnableStateChanged.json │ │ ├── SceneItemListReindexed.json │ │ ├── SceneItemLockStateChanged.json │ │ ├── SceneItemRemoved.json │ │ ├── SceneItemSelected.json │ │ └── SceneItemTransformChanged.json │ ├── scenes │ │ ├── CurrentPreviewSceneChanged.json │ │ ├── CurrentProgramSceneChanged.json │ │ ├── SceneCreated.json │ │ ├── SceneListChanged.json │ │ ├── SceneNameChanged.json │ │ └── SceneRemoved.json │ ├── transitions │ │ ├── CurrentSceneTransitionChanged.json │ │ ├── CurrentSceneTransitionDurationChanged.json │ │ ├── SceneTransitionEnded.json │ │ ├── SceneTransitionStarted.json │ │ └── SceneTransitionVideoEnded.json │ ├── ui │ │ └── StudioModeStateChanged.json │ └── vendors │ │ └── VendorEvent.json │ ├── requests │ ├── RequestBatch.json │ ├── config │ │ ├── CreateProfileRequest.json │ │ ├── CreateSceneCollectionRequest.json │ │ ├── GetPersistentDataRequest.json │ │ ├── GetProfileListRequest.json │ │ ├── GetProfileParameterRequest.json │ │ ├── GetRecordDirectoryRequest.json │ │ ├── GetSceneCollectionListRequest.json │ │ ├── GetStreamServiceSettingsRequest.json │ │ ├── GetVideoSettingsRequest.json │ │ ├── RemoveProfileRequest.json │ │ ├── RemoveSceneCollectionRequest.json │ │ ├── SetCurrentProfileRequest.json │ │ ├── SetCurrentSceneCollectionRequest.json │ │ ├── SetPersistentDataRequest.json │ │ ├── SetProfileParameterRequest.json │ │ ├── SetStreamServiceSettingsRequest.json │ │ └── SetVideoSettingsRequest.json │ ├── filters │ │ ├── CreateSourceFilterRequest.json │ │ ├── GetSourceFilterDefaultSettingsRequest.json │ │ ├── GetSourceFilterListRequest.json │ │ ├── GetSourceFilterRequest.json │ │ ├── RemoveSourceFilterRequest.json │ │ ├── SetSourceFilterEnabledRequest.json │ │ ├── SetSourceFilterIndexRequest.json │ │ ├── SetSourceFilterNameRequest.json │ │ └── SetSourceFilterSettingsRequest.json │ ├── general │ │ ├── BroadcastCustomEventRequest.json │ │ ├── CallVendorRequestRequest.json │ │ ├── GetHotkeyListRequest.json │ │ ├── GetStatsRequest.json │ │ ├── GetVersionRequest.json │ │ ├── SleepRequest.json │ │ ├── TriggerHotkeyByKeySequenceRequest.json │ │ └── TriggerHotkeyByNameRequest.json │ ├── inputs │ │ ├── CreateInputRequest.json │ │ ├── GetInputAudioBalanceRequest.json │ │ ├── GetInputAudioMonitorTypeRequest.json │ │ ├── GetInputAudioSyncOffsetRequest.json │ │ ├── GetInputAudioTracksRequest.json │ │ ├── GetInputDefaultSettingsRequest.json │ │ ├── GetInputKindListRequest.json │ │ ├── GetInputListRequest.json │ │ ├── GetInputMuteRequest.json │ │ ├── GetInputPropertiesListPropertyItemsRequest.json │ │ ├── GetInputSettingsRequest.json │ │ ├── GetInputVolumeRequest.json │ │ ├── GetSpecialInputsRequest.json │ │ ├── PressInputPropertiesButtonRequest.json │ │ ├── RemoveInputRequest.json │ │ ├── SetInputAudioBalanceRequest.json │ │ ├── SetInputAudioMonitorTypeRequest.json │ │ ├── SetInputAudioSyncOffsetRequest.json │ │ ├── SetInputAudioTracksRequest.json │ │ ├── SetInputMuteRequest.json │ │ ├── SetInputNameRequest.json │ │ ├── SetInputSettingsRequest.json │ │ ├── SetInputVolumeRequest.json │ │ └── ToggleInputMuteRequest.json │ ├── mediainputs │ │ ├── GetMediaInputStatusRequest.json │ │ ├── OffsetMediaInputCursorRequest.json │ │ ├── SetMediaInputCursorRequest.json │ │ └── TriggerMediaInputActionRequest.json │ ├── outputs │ │ ├── GetLastReplayBufferReplayRequest.json │ │ ├── GetOutputListRequest.json │ │ ├── GetOutputSettingsRequest.json │ │ ├── GetOutputStatusRequest.json │ │ ├── GetReplayBufferStatusRequest.json │ │ ├── GetVirtualCamStatusRequest.json │ │ ├── SaveReplayBufferRequest.json │ │ ├── SetOutputSettingsRequest.json │ │ ├── StartOutputRequest.json │ │ ├── StartReplayBufferRequest.json │ │ ├── StartVirtualCamRequest.json │ │ ├── StopOutputRequest.json │ │ ├── StopReplayBufferRequest.json │ │ ├── StopVirtualCamRequest.json │ │ ├── ToggleOutputRequest.json │ │ ├── ToggleReplayBufferRequest.json │ │ └── ToggleVirtualCamRequest.json │ ├── record │ │ ├── GetRecordStatusRequest.json │ │ ├── PauseRecordRequest.json │ │ ├── ResumeRecordRequest.json │ │ ├── StartRecordRequest.json │ │ ├── StopRecordRequest.json │ │ ├── ToggleRecordPauseRequest.json │ │ └── ToggleRecordRequest.json │ ├── scenes │ │ ├── CreateSceneRequest.json │ │ ├── GetCurrentPreviewSceneRequest.json │ │ ├── GetCurrentProgramSceneRequest.json │ │ ├── GetGroupListRequest.json │ │ ├── GetSceneListRequest.json │ │ ├── GetSceneSceneTransitionOverrideRequest.json │ │ ├── RemoveSceneRequest.json │ │ ├── SetCurrentPreviewSceneRequest.json │ │ ├── SetCurrentProgramSceneRequest.json │ │ ├── SetSceneNameRequest.json │ │ └── SetSceneSceneTransitionOverrideRequest.json │ ├── sources │ │ ├── GetSourceActiveRequest.json │ │ ├── GetSourceScreenshotRequest.json │ │ └── SaveSourceScreenshotRequest.json │ ├── stream │ │ ├── GetStreamStatusRequest.json │ │ ├── SendStreamCaptionRequest.json │ │ ├── StartStreamRequest.json │ │ ├── StopStreamRequest.json │ │ └── ToggleStreamRequest.json │ ├── transitions │ │ ├── SetTBarPositionRequest.json │ │ └── TriggerStudioModeTransitionRequest.json │ └── ui │ │ ├── GetMonitorListRequest.json │ │ ├── GetStudioModeEnabledRequest.json │ │ ├── OpenInputFiltersDialogRequest.json │ │ ├── OpenInputInteractDialogRequest.json │ │ ├── OpenInputPropertiesDialogRequest.json │ │ ├── OpenSourceProjectorRequest.json │ │ ├── OpenVideoMixProjectorRequest.json │ │ └── SetStudioModeEnabledRequest.json │ ├── responses │ ├── RequestBatchResponse.json │ ├── config │ │ ├── CreateProfileResponse.json │ │ ├── CreateSceneCollectionResponse.json │ │ ├── GetPersistentDataResponse.json │ │ ├── GetProfileListResponse.json │ │ ├── GetProfileParameterResponse.json │ │ ├── GetRecordDirectoryResponse.json │ │ ├── GetSceneCollectionListResponse.json │ │ ├── GetStreamServiceSettingsResponse.json │ │ ├── GetVideoSettingsResponse.json │ │ ├── RemoveProfileResponse.json │ │ ├── RemoveSceneCollectionResponse.json │ │ ├── SetCurrentProfileResponse.json │ │ ├── SetCurrentSceneCollectionResponse.json │ │ ├── SetPersistentDataResponse.json │ │ ├── SetProfileParameterResponse.json │ │ ├── SetStreamServiceSettingsResponse.json │ │ └── SetVideoSettingsResponse.json │ ├── general │ │ ├── BroadcastCustomEventResponse.json │ │ ├── CallVendorRequestResponse.json │ │ ├── GetHotkeyListResponse.json │ │ ├── GetStatsResponse.json │ │ ├── GetVersionResponse.json │ │ ├── SleepResponse.json │ │ ├── TriggerHotkeyByKeySequenceResponse.json │ │ └── TriggerHotkeyByNameResponse.json │ ├── inputs │ │ ├── CreateInputResponse.json │ │ ├── GetInputAudioBalanceResponse.json │ │ ├── GetInputAudioMonitorTypeResponse.json │ │ ├── GetInputAudioSyncOffsetResponse.json │ │ ├── GetInputAudioTracksResponse.json │ │ ├── GetInputDefaultSettingsResponse.json │ │ ├── GetInputKindListResponse.json │ │ ├── GetInputListResponse.json │ │ ├── GetInputMuteResponse.json │ │ ├── GetInputPropertiesListPropertyItemsResponse.json │ │ ├── GetInputSettingsResponse.json │ │ ├── GetInputVolumeResponse.json │ │ ├── GetSpecialInputsResponse.json │ │ ├── PressInputPropertiesButtonResponse.json │ │ ├── RemoveInputResponse.json │ │ ├── SetInputAudioBalanceResponse.json │ │ ├── SetInputAudioMonitorTypeResponse.json │ │ ├── SetInputAudioSyncOffsetResponse.json │ │ ├── SetInputAudioTracksResponse.json │ │ ├── SetInputMuteResponse.json │ │ ├── SetInputNameResponse.json │ │ ├── SetInputSettingsResponse.json │ │ ├── SetInputVolumeResponse.json │ │ └── ToggleInputMuteResponse.json │ ├── mediainputs │ │ ├── GetMediaInputStatusResponse.json │ │ ├── OffsetMediaInputCursorResponse.json │ │ ├── SetMediaInputCursorResponse.json │ │ └── TriggerMediaInputActionResponse.json │ ├── outputs │ │ ├── GetLastReplayBufferReplayResponse.json │ │ ├── GetOutputListResponse.json │ │ ├── GetOutputSettingsResponse.json │ │ ├── GetOutputStatusResponse.json │ │ ├── GetReplayBufferStatusResponse.json │ │ ├── GetVirtualCamStatusResponse.json │ │ ├── SaveReplayBufferResponse.json │ │ ├── SetOutputSettingsResponse.json │ │ ├── StartOutputResponse.json │ │ ├── StartReplayBufferResponse.json │ │ ├── StartVirtualCamResponse.json │ │ ├── StopOutputResponse.json │ │ ├── StopReplayBufferResponse.json │ │ ├── StopVirtualCamResponse.json │ │ ├── ToggleOutputResponse.json │ │ ├── ToggleReplayBufferResponse.json │ │ └── ToggleVirtualCamResponse.json │ ├── record │ │ ├── GetRecordStatusResponse.json │ │ ├── PauseRecordResponse.json │ │ ├── ResumeRecordResponse.json │ │ ├── StartRecordResponse.json │ │ ├── StopRecordResponse.json │ │ ├── ToggleRecordPauseResponse.json │ │ └── ToggleRecordResponse.json │ ├── scenes │ │ ├── CreateSceneResponse.json │ │ ├── GetCurrentPreviewSceneResponse.json │ │ ├── GetCurrentProgramSceneResponse.json │ │ ├── GetGroupListResponse.json │ │ ├── GetSceneListResponse.json │ │ ├── GetSceneSceneTransitionOverrideResponse.json │ │ ├── RemoveSceneResponse.json │ │ ├── SetCurrentPreviewSceneResponse.json │ │ ├── SetCurrentProgramSceneResponse.json │ │ ├── SetSceneNameResponse.json │ │ └── SetSceneSceneTransitionOverrideResponse.json │ ├── sources │ │ ├── GetSourceActiveResponse.json │ │ ├── GetSourceScreenshotResponse.json │ │ └── SaveSourceScreenshotResponse.json │ ├── stream │ │ ├── GetStreamStatusResponse.json │ │ ├── SendStreamCaptionResponse.json │ │ ├── StartStreamResponse.json │ │ ├── StopStreamResponse.json │ │ └── ToggleStreamResponse.json │ └── ui │ │ ├── GetMonitorListResponse.json │ │ ├── GetStudioModeEnabledResponse.json │ │ ├── OpenInputFiltersDialogResponse.json │ │ ├── OpenInputInteractDialogResponse.json │ │ ├── OpenInputPropertiesDialogResponse.json │ │ ├── OpenSourceProjectorResponse.json │ │ ├── OpenVideoMixProjectorResponse.json │ │ └── SetStudioModeEnabledResponse.json │ └── simplelogger.properties ├── example ├── build.gradle └── src │ └── main │ ├── java │ └── io │ │ └── obswebsocket │ │ └── community │ │ └── client │ │ └── example │ │ └── Example.java │ └── resources │ └── simplelogger.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── intellij-java-google-style.xml ├── messagegenerator ├── build.gradle ├── lombok.config └── src │ ├── main │ ├── java │ │ └── io │ │ │ └── obswebsocket │ │ │ └── community │ │ │ └── generator │ │ │ ├── EventGenerator.java │ │ │ ├── EventTypeGenerator.java │ │ │ ├── GeneratorBase.java │ │ │ ├── GeneratorMain.java │ │ │ ├── OBSRemoteControllerBaseGenerator.java │ │ │ ├── ProtocolNormalizer.java │ │ │ ├── RequestGenerator.java │ │ │ ├── RequestTypeGenerator.java │ │ │ ├── ResponseGenerator.java │ │ │ └── model │ │ │ └── generated │ │ │ ├── Enum.java │ │ │ ├── EnumIdentifier.java │ │ │ ├── Event.java │ │ │ ├── Protocol.java │ │ │ ├── Request.java │ │ │ └── RequestField.java │ └── resources │ │ ├── additionaltypes.json │ │ └── protocoloverride.json │ └── test │ ├── java │ └── io │ │ └── obswebsocket │ │ └── community │ │ └── generator │ │ ├── AbstractTestBase.java │ │ ├── EventGeneratorTest.java │ │ ├── EventTypeGeneratorTest.java │ │ ├── ExpectedGeneratorTest.java │ │ ├── OBSRemoteControllerBaseGeneratorTest.java │ │ ├── ProtocolNormalizerTest.java │ │ ├── RequestGeneratorTest.java │ │ ├── RequestTypeGeneratorTest.java │ │ └── ResponseGeneratorTest.java │ └── resources │ ├── EventTypes.java │ ├── EventWithParameters.java │ ├── EventWithoutParameters.java │ ├── OBSRemoteControllerBaseGenerator.java │ ├── RequestTypes.java │ ├── RequestWithParameters.java │ ├── RequestWithoutParameters.java │ ├── ResponseWithParameters.java │ └── ResponseWithoutParameters.java ├── obs-resources ├── AnonymizedSceneCollection.json ├── README.md ├── anonymize.py ├── findreplace.py ├── normalize.py └── static │ ├── bird.mp4 │ ├── index.html │ └── playlist │ ├── video1.mp4 │ └── video2.mp4 └── settings.gradle /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf encoding=utf-8 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report a bug to help us improve 4 | title: "SHORT DESCRIPTION" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | # Describe the bug 11 | A clear and concise description of what the bug is. 12 | 13 | # Code Sample 14 | ```java 15 | // give a code sample showing how to reproduce this. 16 | ``` 17 | 18 | # Expected behavior 19 | A clear and concise description of what you expected to happen. 20 | 21 | # Additional context 22 | Add any other context about the problem here. 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/missing-event.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Missing Event 3 | about: Request Implementation of a missing event 4 | title: 'EVENT NAME' 5 | labels: missing event 6 | assignees: '' 7 | 8 | --- 9 | 10 | # Event Name 11 | Please give the name of the event. 12 | 13 | # Documentation 14 | [Event Protocol Documentation](https://github.com/Palakis/obs-websocket/.../protocol.md#anchor) 15 | 16 | ## Event Fields 17 | | Name | Type | 18 | | ------------- | :-------------: | 19 | | `exampleField` | String | 20 | | `exampleField2` | int | 21 | 22 | # Additional Information 23 | If you have any additional information like a link to any documentation or event handler of this event please provide this here. 24 | -------------------------------------------------------------------------------- /.github/images/obs-ws-java.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obs-websocket-community-projects/obs-websocket-java/2ff769d4819935aac44fbf38e003773934ddbb55/.github/images/obs-ws-java.png -------------------------------------------------------------------------------- /.github/workflows/master.yml: -------------------------------------------------------------------------------- 1 | name: Tag git version 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | - name: Git tag 14 | run: | 15 | git tag $(cat VERSION) 16 | git push --tags -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Exclude 'Main' java class 2 | **/Main.java 3 | 4 | # Exclude the generated normalized scene collection that can contain personal filepaths 5 | **/TestSceneCollection.json 6 | 7 | # Filesystem Stuff 8 | **.DS_Store 9 | 10 | # Maven output directory 11 | **/target 12 | 13 | ### Maven Plugins ### 14 | .flattened-pom.xml 15 | 16 | # Gradle 17 | .gradle/ 18 | build/ 19 | 20 | ### Intellij ### 21 | **/.idea 22 | **/*.iml 23 | 24 | ### react ### 25 | .DS_* 26 | *.log 27 | **logs 28 | **/*.backup.* 29 | **/*.back.* 30 | 31 | **node_modules 32 | **bower_components 33 | 34 | *.sublime* 35 | 36 | ## Python ## 37 | **__pycache__ 38 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 2.0.1 -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | allprojects { 2 | repositories { 3 | mavenCentral() 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /client/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.nonNull.exceptionType = IllegalArgumentException 2 | -------------------------------------------------------------------------------- /client/src/integrationTest/resources/simplelogger.properties: -------------------------------------------------------------------------------- 1 | # Turning off Jetty logging. 2 | org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog 3 | org.eclipse.jetty.LEVEL=OFF 4 | # Default levels for the tests 5 | org.slf4j.simpleLogger.defaultLogLevel=off 6 | org.slf4j.simpleLogger.log.io.obswebsocket.community.client=debug 7 | org.slf4j.simpleLogger.log.io.obswebsocket.community.client.listener.lifecycle=debug -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/authenticator/Authenticator.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.authenticator; 2 | 3 | public interface Authenticator { 4 | 5 | String computeAuthentication(String salt, String challenge); 6 | } 7 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/authenticator/NoOpAuthenticator.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.authenticator; 2 | 3 | public class NoOpAuthenticator implements Authenticator { 4 | 5 | @Override 6 | public String computeAuthentication(String salt, String challenge) { 7 | return null; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/listener/event/OBSEventListener.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.listener.event; 2 | 3 | import io.obswebsocket.community.client.message.event.Event; 4 | 5 | public interface OBSEventListener { 6 | 7 | void onEvent(Event event); 8 | 9 | int computeEventSubscription(); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/listener/lifecycle/ReasonThrowable.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.listener.lifecycle; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.ToString; 6 | 7 | @ToString 8 | @Getter 9 | @AllArgsConstructor 10 | public class ReasonThrowable { 11 | 12 | private final String reason; 13 | private final Throwable throwable; 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/listener/lifecycle/controller/ControllerLifecycleListener.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.listener.lifecycle.controller; 2 | 3 | import io.obswebsocket.community.client.listener.lifecycle.ReasonThrowable; 4 | 5 | /** 6 | * A listener that is invoked by the ${@link io.obswebsocket.community.client.OBSRemoteController} on 7 | * each respective event. 8 | */ 9 | public interface ControllerLifecycleListener { 10 | void onError(ReasonThrowable reasonThrowable); 11 | } 12 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/listener/lifecycle/controller/LoggingControllerLifecycleListener.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.listener.lifecycle.controller; 2 | 3 | import io.obswebsocket.community.client.listener.lifecycle.ReasonThrowable; 4 | import lombok.extern.slf4j.Slf4j; 5 | 6 | @Slf4j 7 | public class LoggingControllerLifecycleListener implements ControllerLifecycleListener { 8 | 9 | @Override 10 | public void onError(ReasonThrowable reasonThrowable) { 11 | log.error(reasonThrowable.getReason(), reasonThrowable.getThrowable()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/event/general/ExitStartedEvent.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.event.general; 4 | 5 | import io.obswebsocket.community.client.message.event.Event; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | /** 10 | * OBS has begun the shutdown process. 11 | */ 12 | @Getter 13 | @ToString( 14 | callSuper = true 15 | ) 16 | public class ExitStartedEvent extends Event { 17 | protected ExitStartedEvent() { 18 | super(Intent.General); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/config/GetProfileListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.config; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetProfileListRequest extends Request { 16 | @Builder 17 | private GetProfileListRequest() { 18 | super(RequestType.GetProfileList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/config/GetRecordDirectoryRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.config; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetRecordDirectoryRequest extends Request { 16 | @Builder 17 | private GetRecordDirectoryRequest() { 18 | super(RequestType.GetRecordDirectory, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/config/GetSceneCollectionListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.config; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetSceneCollectionListRequest extends Request { 16 | @Builder 17 | private GetSceneCollectionListRequest() { 18 | super(RequestType.GetSceneCollectionList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/config/GetVideoSettingsRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.config; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetVideoSettingsRequest extends Request { 16 | @Builder 17 | private GetVideoSettingsRequest() { 18 | super(RequestType.GetVideoSettings, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/general/GetHotkeyListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.general; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetHotkeyListRequest extends Request { 16 | @Builder 17 | private GetHotkeyListRequest() { 18 | super(RequestType.GetHotkeyList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/general/GetStatsRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.general; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetStatsRequest extends Request { 16 | @Builder 17 | private GetStatsRequest() { 18 | super(RequestType.GetStats, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/general/GetVersionRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.general; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetVersionRequest extends Request { 16 | @Builder 17 | private GetVersionRequest() { 18 | super(RequestType.GetVersion, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/inputs/GetSpecialInputsRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.inputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetSpecialInputsRequest extends Request { 16 | @Builder 17 | private GetSpecialInputsRequest() { 18 | super(RequestType.GetSpecialInputs, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/GetOutputListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetOutputListRequest extends Request { 16 | @Builder 17 | private GetOutputListRequest() { 18 | super(RequestType.GetOutputList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/GetReplayBufferStatusRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetReplayBufferStatusRequest extends Request { 16 | @Builder 17 | private GetReplayBufferStatusRequest() { 18 | super(RequestType.GetReplayBufferStatus, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/GetVirtualCamStatusRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetVirtualCamStatusRequest extends Request { 16 | @Builder 17 | private GetVirtualCamStatusRequest() { 18 | super(RequestType.GetVirtualCamStatus, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/SaveReplayBufferRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class SaveReplayBufferRequest extends Request { 16 | @Builder 17 | private SaveReplayBufferRequest() { 18 | super(RequestType.SaveReplayBuffer, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/StartReplayBufferRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StartReplayBufferRequest extends Request { 16 | @Builder 17 | private StartReplayBufferRequest() { 18 | super(RequestType.StartReplayBuffer, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/StartVirtualCamRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StartVirtualCamRequest extends Request { 16 | @Builder 17 | private StartVirtualCamRequest() { 18 | super(RequestType.StartVirtualCam, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/StopReplayBufferRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StopReplayBufferRequest extends Request { 16 | @Builder 17 | private StopReplayBufferRequest() { 18 | super(RequestType.StopReplayBuffer, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/StopVirtualCamRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StopVirtualCamRequest extends Request { 16 | @Builder 17 | private StopVirtualCamRequest() { 18 | super(RequestType.StopVirtualCam, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/ToggleReplayBufferRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class ToggleReplayBufferRequest extends Request { 16 | @Builder 17 | private ToggleReplayBufferRequest() { 18 | super(RequestType.ToggleReplayBuffer, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/outputs/ToggleVirtualCamRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.outputs; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class ToggleVirtualCamRequest extends Request { 16 | @Builder 17 | private ToggleVirtualCamRequest() { 18 | super(RequestType.ToggleVirtualCam, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/GetRecordStatusRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetRecordStatusRequest extends Request { 16 | @Builder 17 | private GetRecordStatusRequest() { 18 | super(RequestType.GetRecordStatus, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/PauseRecordRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class PauseRecordRequest extends Request { 16 | @Builder 17 | private PauseRecordRequest() { 18 | super(RequestType.PauseRecord, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/ResumeRecordRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class ResumeRecordRequest extends Request { 16 | @Builder 17 | private ResumeRecordRequest() { 18 | super(RequestType.ResumeRecord, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/StartRecordRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StartRecordRequest extends Request { 16 | @Builder 17 | private StartRecordRequest() { 18 | super(RequestType.StartRecord, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/StopRecordRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StopRecordRequest extends Request { 16 | @Builder 17 | private StopRecordRequest() { 18 | super(RequestType.StopRecord, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/ToggleRecordPauseRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class ToggleRecordPauseRequest extends Request { 16 | @Builder 17 | private ToggleRecordPauseRequest() { 18 | super(RequestType.ToggleRecordPause, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/record/ToggleRecordRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.record; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class ToggleRecordRequest extends Request { 16 | @Builder 17 | private ToggleRecordRequest() { 18 | super(RequestType.ToggleRecord, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/scenes/GetCurrentPreviewSceneRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.scenes; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetCurrentPreviewSceneRequest extends Request { 16 | @Builder 17 | private GetCurrentPreviewSceneRequest() { 18 | super(RequestType.GetCurrentPreviewScene, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/scenes/GetCurrentProgramSceneRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.scenes; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetCurrentProgramSceneRequest extends Request { 16 | @Builder 17 | private GetCurrentProgramSceneRequest() { 18 | super(RequestType.GetCurrentProgramScene, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/scenes/GetGroupListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.scenes; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetGroupListRequest extends Request { 16 | @Builder 17 | private GetGroupListRequest() { 18 | super(RequestType.GetGroupList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/scenes/GetSceneListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.scenes; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetSceneListRequest extends Request { 16 | @Builder 17 | private GetSceneListRequest() { 18 | super(RequestType.GetSceneList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/stream/GetStreamStatusRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.stream; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetStreamStatusRequest extends Request { 16 | @Builder 17 | private GetStreamStatusRequest() { 18 | super(RequestType.GetStreamStatus, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/stream/StartStreamRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.stream; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StartStreamRequest extends Request { 16 | @Builder 17 | private StartStreamRequest() { 18 | super(RequestType.StartStream, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/stream/StopStreamRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.stream; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class StopStreamRequest extends Request { 16 | @Builder 17 | private StopStreamRequest() { 18 | super(RequestType.StopStream, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/stream/ToggleStreamRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.stream; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class ToggleStreamRequest extends Request { 16 | @Builder 17 | private ToggleStreamRequest() { 18 | super(RequestType.ToggleStream, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/ui/GetMonitorListRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.ui; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetMonitorListRequest extends Request { 16 | @Builder 17 | private GetMonitorListRequest() { 18 | super(RequestType.GetMonitorList, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/request/ui/GetStudioModeEnabledRequest.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.ui; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class GetStudioModeEnabledRequest extends Request { 16 | @Builder 17 | private GetStudioModeEnabledRequest() { 18 | super(RequestType.GetStudioModeEnabled, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/CreateProfileResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class CreateProfileResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/CreateSceneCollectionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class CreateSceneCollectionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/RemoveProfileResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class RemoveProfileResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/SetCurrentProfileResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentProfileResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/SetCurrentSceneCollectionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentSceneCollectionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/SetPersistentDataResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetPersistentDataResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/SetProfileParameterResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetProfileParameterResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/SetStreamServiceSettingsResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetStreamServiceSettingsResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/config/SetVideoSettingsResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.config; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetVideoSettingsResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/filters/CreateSourceFilterResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.filters; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class CreateSourceFilterResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/filters/RemoveSourceFilterResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.filters; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class RemoveSourceFilterResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/filters/SetSourceFilterEnabledResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.filters; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSourceFilterEnabledResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/filters/SetSourceFilterIndexResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.filters; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSourceFilterIndexResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/filters/SetSourceFilterNameResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.filters; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSourceFilterNameResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/filters/SetSourceFilterSettingsResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.filters; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSourceFilterSettingsResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/general/BroadcastCustomEventResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.general; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class BroadcastCustomEventResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/general/SleepResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.general; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SleepResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/general/TriggerHotkeyByKeySequenceResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.general; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class TriggerHotkeyByKeySequenceResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/general/TriggerHotkeyByNameResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.general; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class TriggerHotkeyByNameResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/PressInputPropertiesButtonResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class PressInputPropertiesButtonResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/RemoveInputResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class RemoveInputResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputAudioBalanceResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputAudioBalanceResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputAudioMonitorTypeResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputAudioMonitorTypeResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputAudioSyncOffsetResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputAudioSyncOffsetResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputAudioTracksResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputAudioTracksResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputMuteResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputMuteResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputNameResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputNameResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputSettingsResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputSettingsResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/inputs/SetInputVolumeResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.inputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetInputVolumeResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/mediainputs/OffsetMediaInputCursorResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.mediainputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class OffsetMediaInputCursorResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/mediainputs/SetMediaInputCursorResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.mediainputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetMediaInputCursorResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/mediainputs/TriggerMediaInputActionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.mediainputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class TriggerMediaInputActionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/SaveReplayBufferResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SaveReplayBufferResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/SetOutputSettingsResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetOutputSettingsResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/StartOutputResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StartOutputResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/StartReplayBufferResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StartReplayBufferResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/StartVirtualCamResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StartVirtualCamResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/StopOutputResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StopOutputResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/StopReplayBufferResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StopReplayBufferResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/outputs/StopVirtualCamResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.outputs; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StopVirtualCamResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/record/PauseRecordResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.record; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class PauseRecordResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/record/ResumeRecordResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.record; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class ResumeRecordResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/record/StartRecordResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.record; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StartRecordResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/record/ToggleRecordPauseResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.record; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class ToggleRecordPauseResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/record/ToggleRecordResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.record; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class ToggleRecordResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/sceneitems/RemoveSceneItemResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.sceneitems; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class RemoveSceneItemResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/sceneitems/SetSceneItemBlendModeResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.sceneitems; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneItemBlendModeResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/sceneitems/SetSceneItemEnabledResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.sceneitems; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneItemEnabledResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/sceneitems/SetSceneItemIndexResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.sceneitems; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneItemIndexResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/sceneitems/SetSceneItemLockedResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.sceneitems; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneItemLockedResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/sceneitems/SetSceneItemTransformResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.sceneitems; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneItemTransformResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/scenes/CreateSceneResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.scenes; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class CreateSceneResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/scenes/RemoveSceneResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.scenes; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class RemoveSceneResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/scenes/SetCurrentPreviewSceneResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.scenes; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentPreviewSceneResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/scenes/SetCurrentProgramSceneResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.scenes; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentProgramSceneResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/scenes/SetSceneNameResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.scenes; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneNameResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/scenes/SetSceneSceneTransitionOverrideResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.scenes; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetSceneSceneTransitionOverrideResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/stream/SendStreamCaptionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.stream; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SendStreamCaptionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/stream/StartStreamResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.stream; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StartStreamResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/stream/StopStreamResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.stream; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class StopStreamResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/transitions/SetCurrentSceneTransitionDurationResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.transitions; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentSceneTransitionDurationResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/transitions/SetCurrentSceneTransitionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.transitions; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentSceneTransitionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/transitions/SetCurrentSceneTransitionSettingsResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.transitions; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetCurrentSceneTransitionSettingsResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/transitions/SetTBarPositionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.transitions; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetTBarPositionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/transitions/TriggerStudioModeTransitionResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.transitions; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class TriggerStudioModeTransitionResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/ui/OpenInputFiltersDialogResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.ui; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class OpenInputFiltersDialogResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/ui/OpenInputInteractDialogResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.ui; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class OpenInputInteractDialogResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/ui/OpenInputPropertiesDialogResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.ui; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class OpenInputPropertiesDialogResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/ui/OpenSourceProjectorResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.ui; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class OpenSourceProjectorResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/ui/OpenVideoMixProjectorResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.ui; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class OpenVideoMixProjectorResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/message/response/ui/SetStudioModeEnabledResponse.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.ui; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class SetStudioModeEnabledResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Filter.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import com.google.gson.JsonObject; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | @Getter 9 | @Setter 10 | @ToString 11 | public class Filter { 12 | private String filterName; 13 | private Boolean filterEnabled; 14 | private Integer filterIndex; 15 | private String filterKind; 16 | private JsonObject filterSettings; 17 | } 18 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/InputLevels.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @Setter 9 | @ToString(callSuper = true) 10 | public class InputLevels extends Input { 11 | 12 | private Double inputVolumeDb; 13 | private Double inputVolumeMul; 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/KeyModifiers.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.Builder; 4 | 5 | @Builder 6 | public class KeyModifiers { 7 | 8 | private final boolean shift; 9 | private final boolean alt; 10 | private final boolean control; 11 | private final boolean command; 12 | } 13 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/MediaState.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum MediaState { 6 | @SerializedName("none") 7 | NONE, 8 | @SerializedName("playing") 9 | PLAYING, 10 | @SerializedName("opening") 11 | OPENING, 12 | @SerializedName("buffering") 13 | BUFFERING, 14 | @SerializedName("paused") 15 | PAUSED, 16 | @SerializedName("stopped") 17 | STOPPED, 18 | @SerializedName("ended") 19 | ENDED, 20 | @SerializedName("error") 21 | ERROR, 22 | @SerializedName("unknown") 23 | UNKNOWN 24 | } 25 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Monitor.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.Getter; 4 | import lombok.ToString; 5 | 6 | @Getter 7 | @ToString 8 | public class Monitor { 9 | 10 | private Integer monitorIndex; 11 | private String monitorName; 12 | private Integer monitorWidth; 13 | private Integer monitorHeight; 14 | private Integer monitorPositionX; 15 | private Integer monitorPositionY; 16 | } 17 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Projector.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @ToString 9 | public class Projector { 10 | 11 | private String projectorName; 12 | private Type projectorType; 13 | private Integer projectorMonitor; 14 | private String projectorGeometry; 15 | private String sourceName; 16 | 17 | public enum Type { 18 | PREVIEW, 19 | SOURCE, 20 | SCENE, 21 | @SerializedName("STUDIOPROGRAM") 22 | STUDIO_PROGRAM, 23 | MULTIVIEW 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Realm.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum Realm { 6 | @SerializedName("OBS_WEBSOCKET_DATA_REALM_GLOBAL") 7 | GLOBAL, 8 | @SerializedName("OBS_WEBSOCKET_DATA_REALM_PROFILE") 9 | PROFILE 10 | } 11 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Scene.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | @AllArgsConstructor 9 | @Getter 10 | @Setter 11 | @ToString 12 | public class Scene { 13 | 14 | private String sceneName; 15 | private Integer sceneIndex; 16 | } 17 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/SceneItemIdAndIndex.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @Setter 9 | @ToString 10 | public class SceneItemIdAndIndex { 11 | 12 | private Integer sceneItemId; 13 | private Integer sceneItemIndex; 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Source.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @Setter 9 | @ToString 10 | public class Source { 11 | 12 | private String sourceName; 13 | private String sourceType; 14 | private String inputKind; 15 | } 16 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/Transition.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @Setter 9 | @ToString 10 | public class Transition { 11 | private String transitionName; 12 | private String transitionKind; 13 | private Boolean transitionFixed; 14 | } 15 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/model/VideoMixType.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.model; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | public enum VideoMixType { 6 | @SerializedName("OBS_WEBSOCKET_VIDEO_MIX_TYPE_PREVIEW") 7 | Preview, 8 | @SerializedName("OBS_WEBSOCKET_VIDEO_MIX_TYPE_PROGRAM") 9 | Program, 10 | @SerializedName("OBS_WEBSOCKET_VIDEO_MIX_TYPE_MULTIVIEW") 11 | Multiview 12 | } 13 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/translator/GsonMessageTranslator.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.translator; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.GsonBuilder; 5 | import java.lang.reflect.Type; 6 | 7 | public class GsonMessageTranslator implements MessageTranslator { 8 | 9 | private final Gson gson; 10 | 11 | public GsonMessageTranslator() { 12 | this.gson = new GsonBuilder() 13 | .create(); 14 | } 15 | 16 | @Override 17 | public T fromJson(String json, Type clazz) { 18 | return gson.fromJson(json, clazz); 19 | } 20 | 21 | @Override 22 | public String toJson(Object object) { 23 | return gson.toJson(object); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /client/src/main/java/io/obswebsocket/community/client/translator/MessageTranslator.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.translator; 2 | 3 | import java.lang.reflect.Type; 4 | 5 | public interface MessageTranslator { 6 | 7 | T fromJson(String json, Type clazz); 8 | 9 | String toJson(Object object); 10 | } 11 | -------------------------------------------------------------------------------- /client/src/main/resources/simplelogger.properties: -------------------------------------------------------------------------------- 1 | # Turning off Jetty logging. 2 | org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog 3 | org.eclipse.jetty.LEVEL=OFF 4 | # Default levels for the project 5 | org.slf4j.simpleLogger.defaultLogLevel=info 6 | org.slf4j.simpleLogger.log.io.obswebsocket.community.client=debug -------------------------------------------------------------------------------- /client/src/test/java/io/obswebsocket/community/client/message/event/general/GeneralEventsListenerTest.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.message.event.general; 2 | 3 | import io.obswebsocket.community.client.message.event.AbstractEventListenerTest; 4 | import org.junit.jupiter.api.Test; 5 | 6 | public class GeneralEventsListenerTest extends AbstractEventListenerTest { 7 | 8 | @Test 9 | void exitStartedEventTriggered() { 10 | verifyEventListener(new ExitStartedEvent()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/java/io/obswebsocket/community/client/message/event/general/GeneralEventsSerializationTest.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.message.event.general; 2 | 3 | import io.obswebsocket.community.client.message.event.AbstractEventSerializationTest; 4 | import org.junit.jupiter.api.Test; 5 | 6 | class GeneralEventsSerializationTest extends AbstractEventSerializationTest { 7 | 8 | private static final String TYPE = "general"; 9 | 10 | @Test 11 | void exitStartedEvent() { 12 | assertEventType(TYPE, new ExitStartedEvent()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/java/io/obswebsocket/community/client/message/event/general/VendorsEventsListenerTest.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.client.message.event.general; 2 | 3 | import io.obswebsocket.community.client.message.event.AbstractEventListenerTest; 4 | import org.junit.jupiter.api.Test; 5 | 6 | public class VendorsEventsListenerTest extends AbstractEventListenerTest { 7 | 8 | @Test 9 | void vendorEvent() { 10 | verifyEventListener(new VendorEventEvent()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/config/CurrentProfileChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentProfileChanged", 5 | "eventIntent": 2, 6 | "eventData": { 7 | "profileName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/config/CurrentProfileChanging.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentProfileChanging", 5 | "eventIntent": 2, 6 | "eventData": { 7 | "profileName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/config/CurrentSceneCollectionChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentSceneCollectionChanged", 5 | "eventIntent": 2, 6 | "eventData": { 7 | "sceneCollectionName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/config/CurrentSceneCollectionChanging.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentSceneCollectionChanging", 5 | "eventIntent": 2, 6 | "eventData": { 7 | "sceneCollectionName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/config/ProfileListChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "ProfileListChanged", 5 | "eventIntent": 2, 6 | "eventData": { 7 | "profiles": [ 8 | "Profile1", 9 | "Profile2" 10 | ] 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /client/src/test/resources/events/config/SceneCollectionListChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneCollectionListChanged", 5 | "eventIntent": 2, 6 | "eventData": { 7 | "sceneCollections": [ 8 | "Collection1", 9 | "Collection2" 10 | ] 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /client/src/test/resources/events/filters/SourceFilterCreated.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SourceFilterCreated", 5 | "eventIntent": 32, 6 | "eventData": { 7 | "sourceName": "SomeName", 8 | "filterName": "FilterName", 9 | "filterKind": "SomeKind", 10 | "filterIndex": 1, 11 | "filterSettings": { 12 | "some": "settings" 13 | }, 14 | "defaultFilterSettings": { 15 | "some": "defaultsettings" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /client/src/test/resources/events/filters/SourceFilterEnableStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SourceFilterEnableStateChanged", 5 | "eventIntent": 32, 6 | "eventData": { 7 | "sourceName": "SomeName", 8 | "filterName": "FilterName", 9 | "filterEnabled": true 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/filters/SourceFilterListReindexed.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SourceFilterListReindexed", 5 | "eventIntent": 32, 6 | "eventData": { 7 | "sourceName": "SomeName", 8 | "filters": [ 9 | { 10 | "filterName": "SomeName", 11 | "filterEnabled": true, 12 | "filterIndex": 1, 13 | "filterKind": "SomeKind", 14 | "filterSettings": { 15 | "string": "string" 16 | } 17 | } 18 | ] 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /client/src/test/resources/events/filters/SourceFilterNameChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SourceFilterNameChanged", 5 | "eventIntent": 32, 6 | "eventData": { 7 | "sourceName": "SomeName", 8 | "filterName": "FilterName", 9 | "oldFilterName": "OldFilterName" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/filters/SourceFilterRemoved.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SourceFilterRemoved", 5 | "eventIntent": 32, 6 | "eventData": { 7 | "sourceName": "SomeName", 8 | "filterName": "FilterName" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/general/ExitStarted.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "ExitStarted", 5 | "eventIntent": 1 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/events/highvolume/InputActiveStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputActiveStateChanged", 5 | "eventIntent": 131072, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "videoActive": true 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/highvolume/InputShowStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputShowStateChanged", 5 | "eventIntent": 262144, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "videoShowing": true 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/highvolume/InputVolumeMeters.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputVolumeMeters", 5 | "eventIntent": 65536, 6 | "eventData": { 7 | "inputs": [ 8 | { 9 | "inputName": "SomeName", 10 | "inputKind": "SomeKind", 11 | "unversionedInputKind": "SomeOtherKind", 12 | "inputVolumeDb": 123.4, 13 | "inputVolumeMul": 432.1 14 | } 15 | ] 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /client/src/test/resources/events/highvolume/SceneItemTransformChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemTransformChanged", 5 | "eventIntent": 524288, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sceneItemId": 1, 9 | "sceneItemTransform": { 10 | "sourceWidth": 1920.0000 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputAudioBalanceChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputAudioBalanceChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "inputAudioBalance": 123.4 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputAudioMonitorTypeChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputAudioMonitorTypeChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "monitorType": "OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputAudioSyncOffsetChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputAudioSyncOffsetChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "inputAudioSyncOffset": 123 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputAudioTracksChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputAudioTracksChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "inputAudioTracks": { 9 | "1": true, 10 | "2": true, 11 | "3": true, 12 | "4": false, 13 | "5": false, 14 | "6": false 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputCreated.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputCreated", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "inputKind": "SomeKind", 9 | "unversionedInputKind": "SomeOtherKind", 10 | "inputSettings": { 11 | "some": "Settings" 12 | }, 13 | "defaultInputSettings": { 14 | "some": "DefaultSettings" 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputMuteStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputMuteStateChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "inputMuted": true 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputNameChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputNameChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "oldInputName": "SomeOldName" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputRemoved.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputRemoved", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/inputs/InputVolumeChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "InputVolumeChanged", 5 | "eventIntent": 8, 6 | "eventData": { 7 | "inputName": "SomeName", 8 | "inputVolumeMul": 123.4, 9 | "inputVolumeDb": 432.1 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/mediainputs/MediaInputActionTriggered.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "MediaInputActionTriggered", 5 | "eventIntent": 256, 6 | "eventData": { 7 | "inputName": "Input Action Triggered", 8 | "mediaAction": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/mediainputs/MediaInputPlaybackEnded.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "MediaInputPlaybackEnded", 5 | "eventIntent": 256, 6 | "eventData": { 7 | "inputName": "Input Playback Ended" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/mediainputs/MediaInputPlaybackStarted.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "MediaInputPlaybackStarted", 5 | "eventIntent": 256, 6 | "eventData": { 7 | "inputName": "Input Playback Started" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/outputs/RecordStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "RecordStateChanged", 5 | "eventIntent": 64, 6 | "eventData": { 7 | "outputActive": false, 8 | "outputState": "stopped", 9 | "outputPath": "path/to/file.mp4" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/outputs/ReplayBufferSaved.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "ReplayBufferSaved", 5 | "eventIntent": 64, 6 | "eventData": { 7 | "savedReplayPath": "path/to/replay.mp4" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/outputs/ReplayBufferStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "ReplayBufferStateChanged", 5 | "eventIntent": 64, 6 | "eventData": { 7 | "outputActive": true, 8 | "outputState": "started" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/outputs/StreamStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "StreamStateChanged", 5 | "eventIntent": 64, 6 | "eventData": { 7 | "outputActive": true, 8 | "outputState": "streaming" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/outputs/VirtualcamStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "VirtualcamStateChanged", 5 | "eventIntent": 64, 6 | "eventData": { 7 | "outputActive": false, 8 | "outputState": "stopped" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemCreated.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemCreated", 5 | "eventIntent": 128, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sourceName": "SourceName", 9 | "sceneItemId": 1, 10 | "sceneItemIndex": 2 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemEnableStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemEnableStateChanged", 5 | "eventIntent": 128, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sceneItemId": 1, 9 | "sceneItemEnabled": true 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemListReindexed.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemListReindexed", 5 | "eventIntent": 128, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sceneItems": [ 9 | { 10 | "sceneItemId": 1, 11 | "sceneItemIndex": 2 12 | }, 13 | { 14 | "sceneItemId": 3, 15 | "sceneItemIndex": 4 16 | } 17 | ] 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemLockStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemLockStateChanged", 5 | "eventIntent": 128, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sceneItemId": 1, 9 | "sceneItemLocked": true 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemRemoved.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemRemoved", 5 | "eventIntent": 128, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sourceName": "SourceName", 9 | "sceneItemId": 1 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemSelected.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemSelected", 5 | "eventIntent": 128, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sceneItemId": 1 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/sceneitems/SceneItemTransformChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneItemTransformChanged", 5 | "eventIntent": 524288, 6 | "eventData": { 7 | "sceneName": "SceneName", 8 | "sceneItemId": 1, 9 | "sceneItemTransform": { 10 | "alignment": 0 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/events/scenes/CurrentPreviewSceneChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentPreviewSceneChanged", 5 | "eventIntent": 4, 6 | "eventData": { 7 | "sceneName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/scenes/CurrentProgramSceneChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentProgramSceneChanged", 5 | "eventIntent": 4, 6 | "eventData": { 7 | "sceneName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/scenes/SceneCreated.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneCreated", 5 | "eventIntent": 4, 6 | "eventData": { 7 | "sceneName": "SomeName", 8 | "isGroup": true 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/scenes/SceneListChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneListChanged", 5 | "eventIntent": 4, 6 | "eventData": { 7 | "scenes": [ 8 | { 9 | "sceneName": "Scene 1", 10 | "sceneIndex": 0 11 | }, 12 | { 13 | "sceneName": "Scene 2", 14 | "sceneIndex": 1 15 | } 16 | ] 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /client/src/test/resources/events/scenes/SceneNameChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneNameChanged", 5 | "eventIntent": 4, 6 | "eventData": { 7 | "sceneName": "SomeName", 8 | "oldSceneName": "OldName" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/scenes/SceneRemoved.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneRemoved", 5 | "eventIntent": 4, 6 | "eventData": { 7 | "sceneName": "SomeName", 8 | "isGroup": true 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/events/transitions/CurrentSceneTransitionChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentSceneTransitionChanged", 5 | "eventIntent": 16, 6 | "eventData": { 7 | "transitionName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/transitions/CurrentSceneTransitionDurationChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "CurrentSceneTransitionDurationChanged", 5 | "eventIntent": 16, 6 | "eventData": { 7 | "transitionDuration": 123 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/transitions/SceneTransitionEnded.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneTransitionEnded", 5 | "eventIntent": 16, 6 | "eventData": { 7 | "transitionName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/transitions/SceneTransitionStarted.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneTransitionStarted", 5 | "eventIntent": 16, 6 | "eventData": { 7 | "transitionName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/transitions/SceneTransitionVideoEnded.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "SceneTransitionVideoEnded", 5 | "eventIntent": 16, 6 | "eventData": { 7 | "transitionName": "SomeName" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/events/ui/StudioModeStateChanged.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "StudioModeStateChanged", 5 | "eventIntent": 1024, 6 | "eventData": { 7 | "studioModeEnabled": true 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/events/vendors/VendorEvent.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 5, 3 | "d": { 4 | "eventType": "VendorEvent", 5 | "eventIntent": 512, 6 | "eventData": { 7 | "vendorName": "SomeVendor", 8 | "eventType": "SomeType", 9 | "eventData": { 10 | "boolean": true, 11 | "string": "String", 12 | "number": 123, 13 | "object": { 14 | "key": "value" 15 | }, 16 | "array": [ 17 | "A", 18 | "B", 19 | 3 20 | ] 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/RequestBatch.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestId": "{rbid}", 4 | "haltOnFailure": false, 5 | "requests": [ 6 | { 7 | "requestData": { 8 | "sleepMillis": 1000 9 | }, 10 | "requestType": "Sleep", 11 | "requestId": "{rbr1id}" 12 | }, 13 | { 14 | "requestData": { 15 | "sleepMillis": 2000 16 | }, 17 | "requestType": "Sleep", 18 | "requestId": "{rbr2id}" 19 | } 20 | ] 21 | }, 22 | "op": 8 23 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/CreateProfileRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "profileName": "Profile Name" 5 | }, 6 | "requestType": "CreateProfile", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/CreateSceneCollectionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneCollectionName": "Collection Name" 5 | }, 6 | "requestType": "CreateSceneCollection", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetPersistentDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "realm": "OBS_WEBSOCKET_DATA_REALM_GLOBAL", 5 | "slotName": "Slot Name" 6 | }, 7 | "requestType": "GetPersistentData", 8 | "requestId": "{requestId}" 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetProfileListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetProfileList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetProfileParameterRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetProfileParameter", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "parameterCategory": "Category Name", 7 | "parameterName": "Parameter Name" 8 | } 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetRecordDirectoryRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetRecordDirectory", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetSceneCollectionListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSceneCollectionList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetStreamServiceSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStreamServiceSettings", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/GetVideoSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetVideoSettings", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/RemoveProfileRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "profileName": "Profile Name" 5 | }, 6 | "requestType": "RemoveProfile", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/RemoveSceneCollectionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneCollectionName": "Collection Name" 5 | }, 6 | "requestType": "RemoveSceneCollection", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/SetCurrentProfileRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "profileName": "Profile Name" 5 | }, 6 | "requestType": "SetCurrentProfile", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/SetCurrentSceneCollectionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneCollectionName": "Collection Name" 5 | }, 6 | "requestType": "SetCurrentSceneCollection", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/SetPersistentDataRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "realm": "OBS_WEBSOCKET_DATA_REALM_PROFILE", 5 | "slotName": "Slot Name", 6 | "slotValue": "Slot Value" 7 | }, 8 | "requestType": "SetPersistentData", 9 | "requestId": "{requestId}" 10 | }, 11 | "op": 6 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/SetProfileParameterRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetProfileParameter", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "parameterCategory": "Category Name", 7 | "parameterName": "Parameter Name", 8 | "parameterValue": "New Value" 9 | } 10 | }, 11 | "op": 6 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/SetStreamServiceSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetStreamServiceSettings", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "streamServiceType": "rtmp_common", 7 | "streamServiceSettings": { 8 | "field1": "String", 9 | "field2": 2 10 | } 11 | } 12 | }, 13 | "op": 6 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/config/SetVideoSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetVideoSettings", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "fpsNumerator": 1, 7 | "fpsDenominator": 1, 8 | "baseWidth": 1, 9 | "baseHeight": 1, 10 | "outputWidth": 1, 11 | "outputHeight": 1 12 | } 13 | }, 14 | "op": 6 15 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/CreateSourceFilterRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter Name", 5 | "filterKind": "Filter kind", 6 | "filterSettings": { 7 | "randomStringSetting": "randomString", 8 | "randomBooleanSetting": false, 9 | "randomIntegerSetting": 113 10 | }, 11 | "sourceName": "Source name" 12 | }, 13 | "requestType": "CreateSourceFilter", 14 | "requestId": "{requestId}" 15 | }, 16 | "op": 6 17 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/GetSourceFilterDefaultSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterKind": "Filter Kind" 5 | }, 6 | "requestType": "GetSourceFilterDefaultSettings", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/GetSourceFilterListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sourceName": "Source name" 5 | }, 6 | "requestType": "GetSourceFilterList", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/GetSourceFilterRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter Name", 5 | "sourceName": "Source name" 6 | }, 7 | "requestType": "GetSourceFilter", 8 | "requestId": "{requestId}" 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/RemoveSourceFilterRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter name", 5 | "sourceName": "Source name" 6 | }, 7 | "requestType": "RemoveSourceFilter", 8 | "requestId": "{requestId}" 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/SetSourceFilterEnabledRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter name", 5 | "filterEnabled": false, 6 | "sourceName": "Source name" 7 | }, 8 | "requestType": "SetSourceFilterEnabled", 9 | "requestId": "{requestId}" 10 | }, 11 | "op": 6 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/SetSourceFilterIndexRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter Name", 5 | "filterIndex": 3, 6 | "sourceName": "Source Name" 7 | }, 8 | "requestType": "SetSourceFilterIndex", 9 | "requestId": "{requestId}" 10 | }, 11 | "op": 6 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/SetSourceFilterNameRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter Name", 5 | "newFilterName": "New Filter Name", 6 | "sourceName": "Source Name" 7 | }, 8 | "requestType": "SetSourceFilterName", 9 | "requestId": "{requestId}" 10 | }, 11 | "op": 6 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/filters/SetSourceFilterSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "filterName": "Filter name", 5 | "filterSettings": { 6 | "randomStringSetting": "randomString", 7 | "randomBooleanSetting": false, 8 | "randomIntegerSetting": 1 9 | }, 10 | "sourceName": "Source name" 11 | }, 12 | "requestType": "SetSourceFilterSettings", 13 | "requestId": "{requestId}" 14 | }, 15 | "op": 6 16 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/BroadcastCustomEventRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "eventData": { 5 | "customEventType": "customEvent", 6 | "boolean": true 7 | } 8 | }, 9 | "requestType": "BroadcastCustomEvent", 10 | "requestId": "{requestId}" 11 | }, 12 | "op": 6 13 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/CallVendorRequestRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "vendorName": "Vendor", 5 | "requestType": "Vendor Request type", 6 | "requestData": { 7 | "testKey": "Test Value" 8 | } 9 | }, 10 | "requestType": "CallVendorRequest", 11 | "requestId": "{requestId}" 12 | }, 13 | "op": 6 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/GetHotkeyListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetHotkeyList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/GetStatsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStats", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/GetVersionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetVersion", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/SleepRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sleepMillis": 1000, 5 | "sleepFrames": 5 6 | }, 7 | "requestType": "Sleep", 8 | "requestId": "{requestId}" 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/TriggerHotkeyByKeySequenceRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "keyId": "KeyId1", 5 | "keyModifiers": { 6 | "shift": true, 7 | "alt": true, 8 | "control": false, 9 | "command": false 10 | } 11 | }, 12 | "requestType": "TriggerHotkeyByKeySequence", 13 | "requestId": "{requestId}" 14 | }, 15 | "op": 6 16 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/general/TriggerHotkeyByNameRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "hotkeyName": "Hotkey" 5 | }, 6 | "requestType": "TriggerHotkeyByName", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/CreateInputRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "CreateInput", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputKind": "input kind", 8 | "sceneName": "scene", 9 | "inputSettings": { 10 | "randomStringSetting": "randomString", 11 | "randomBooleanSetting": false, 12 | "randomIntegerSetting": 32 13 | }, 14 | "sceneItemEnabled": true, 15 | "inputName": "Mic Input" 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputAudioBalanceRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputAudioBalance", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputAudioMonitorTypeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputAudioMonitorType", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputAudioSyncOffsetRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputAudioSyncOffset", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputAudioTracksRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputAudioTracks", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputDefaultSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputDefaultSettings", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputKind": "input kind" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputKindListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputKindList", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "unversioned": false 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputList", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputKind": "input kind" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputMuteRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputMute", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputPropertiesListPropertyItemsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputPropertiesListPropertyItems", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "propertyName": "Property Name" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputSettings", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Input Name" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetInputVolumeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetInputVolume", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/GetSpecialInputsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "GetSpecialInputs", 5 | "requestId": "{requestId}" 6 | } 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/PressInputPropertiesButtonRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "PressInputPropertiesButton", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "propertyName": "Property Name" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/RemoveInputRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "RemoveInput", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputAudioBalanceRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputAudioBalance", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "inputAudioBalance": 0.5 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputAudioMonitorTypeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputAudioMonitorType", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "monitorType": "OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputAudioSyncOffsetRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputAudioSyncOffset", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "inputAudioSyncOffset": 120 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputAudioTracksRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputAudioTracks", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "inputAudioTracks": { 9 | "1": true, 10 | "2": true, 11 | "3": true, 12 | "4": true, 13 | "5": true, 14 | "6": true 15 | } 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputMuteRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputMute", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "inputMuted": true 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputNameRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputName", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "newInputName": "Mic 1" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputSettings", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputSettings": { 8 | "randomStringSetting": "randomString", 9 | "randomBooleanSetting": false, 10 | "randomIntegerSetting": 32 11 | }, 12 | "inputName": "Mic Input", 13 | "overlay": true 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/SetInputVolumeRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "SetInputVolume", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input", 8 | "inputVolumeDb": 12.0, 9 | "inputVolumeMul": 2.0 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/inputs/ToggleInputMuteRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "op": 6, 3 | "d": { 4 | "requestType": "ToggleInputMute", 5 | "requestId": "{requestId}", 6 | "requestData": { 7 | "inputName": "Mic Input" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/mediainputs/GetMediaInputStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetMediaInputStatus", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/mediainputs/OffsetMediaInputCursorRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OffsetMediaInputCursor", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName", 7 | "mediaCursorOffset": 123 8 | } 9 | }, 10 | "op": 6 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/mediainputs/SetMediaInputCursorRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetMediaInputCursor", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName", 7 | "mediaCursor": 123 8 | } 9 | }, 10 | "op": 6 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/mediainputs/TriggerMediaInputActionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "TriggerMediaInputAction", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName", 7 | "mediaAction": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY" 8 | } 9 | }, 10 | "op": 6 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/GetLastReplayBufferReplayRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetLastReplayBufferReplay", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/GetOutputListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetOutputList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/GetOutputSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetOutputSettings", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "outputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/GetOutputStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetOutputStatus", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "outputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/GetReplayBufferStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetReplayBufferStatus", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/GetVirtualCamStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetVirtualCamStatus", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/SaveReplayBufferRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SaveReplayBuffer", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/SetOutputSettingsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetOutputSettings", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "outputName": "SomeName", 7 | "outputSettings": { 8 | "key": "value" 9 | } 10 | } 11 | }, 12 | "op": 6 13 | } 14 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/StartOutputRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartOutput", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "outputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/StartReplayBufferRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartReplayBuffer", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/StartVirtualCamRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartVirtualCam", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/StopOutputRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopOutput", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "outputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/StopReplayBufferRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopReplayBuffer", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/StopVirtualCamRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopVirtualCam", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/ToggleOutputRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleOutput", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "outputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/ToggleReplayBufferRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleReplayBuffer", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/outputs/ToggleVirtualCamRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleVirtualCam", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/GetRecordStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetRecordStatus", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/PauseRecordRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "PauseRecord", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/ResumeRecordRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ResumeRecord", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/StartRecordRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartRecord", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/StopRecordRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopRecord", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/ToggleRecordPauseRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleRecordPause", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/record/ToggleRecordRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleRecord", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/CreateSceneRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name" 5 | }, 6 | "requestType": "CreateScene", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/GetCurrentPreviewSceneRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetCurrentPreviewScene", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/GetCurrentProgramSceneRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetCurrentProgramScene", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/GetGroupListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetGroupList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/GetSceneListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSceneList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/GetSceneSceneTransitionOverrideRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name" 5 | }, 6 | "requestType": "GetSceneSceneTransitionOverride", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/RemoveSceneRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name" 5 | }, 6 | "requestType": "RemoveScene", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/SetCurrentPreviewSceneRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name" 5 | }, 6 | "requestType": "SetCurrentPreviewScene", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/SetCurrentProgramSceneRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name" 5 | }, 6 | "requestType": "SetCurrentProgramScene", 7 | "requestId": "{requestId}" 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/SetSceneNameRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name", 5 | "newSceneName": "New Scene name" 6 | }, 7 | "requestType": "SetSceneName", 8 | "requestId": "{requestId}" 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/scenes/SetSceneSceneTransitionOverrideRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "sceneName": "Scene name", 5 | "transitionName": "Transition Name", 6 | "transitionDuration": 3 7 | }, 8 | "requestType": "SetSceneSceneTransitionOverride", 9 | "requestId": "{requestId}" 10 | }, 11 | "op": 6 12 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/sources/GetSourceActiveRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSourceActive", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "sourceName": "Source Name" 7 | } 8 | }, 9 | "op": 6 10 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/sources/GetSourceScreenshotRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSourceScreenshot", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "sourceName": "Source Name", 7 | "imageFormat": "png", 8 | "imageWidth": 1920, 9 | "imageHeight": 1080, 10 | "imageCompressionQuality": -1 11 | } 12 | }, 13 | "op": 6 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/sources/SaveSourceScreenshotRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SaveSourceScreenshot", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "sourceName": "Source Name", 7 | "imageFormat": "png", 8 | "imageFilePath": "C:\\Users\\user\\Desktop\\screenshot.png", 9 | "imageWidth": 1920, 10 | "imageHeight": 1080, 11 | "imageCompressionQuality": -1 12 | } 13 | }, 14 | "op": 6 15 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/stream/GetStreamStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStreamStatus", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/stream/SendStreamCaptionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SendStreamCaption", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "captionText": "Caption" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/stream/StartStreamRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartStream", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/stream/StopStreamRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopStream", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/stream/ToggleStreamRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleStream", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/transitions/SetTBarPositionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestData": { 4 | "position": 0.5, 5 | "release": true 6 | }, 7 | "requestType": "SetTBarPosition", 8 | "requestId": "{requestId}" 9 | }, 10 | "op": 6 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/transitions/TriggerStudioModeTransitionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "TriggerStudioModeTransition", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/GetMonitorListRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetMonitorList", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/GetStudioModeEnabledRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStudioModeEnabled", 4 | "requestId": "{requestId}" 5 | }, 6 | "op": 6 7 | } 8 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/OpenInputFiltersDialogRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenInputFiltersDialog", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/OpenInputInteractDialogRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenInputInteractDialog", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/OpenInputPropertiesDialogRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenInputPropertiesDialog", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "inputName": "SomeName" 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/OpenSourceProjectorRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenSourceProjector", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "sourceName": "SomeName", 7 | "monitorIndex": 1, 8 | "projectorGeometry": "geometry" 9 | } 10 | }, 11 | "op": 6 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/OpenVideoMixProjectorRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenVideoMixProjector", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "videoMixType": "OBS_WEBSOCKET_VIDEO_MIX_TYPE_PREVIEW", 7 | "monitorIndex": 1, 8 | "projectorGeometry": "geometry" 9 | } 10 | }, 11 | "op": 6 12 | } 13 | -------------------------------------------------------------------------------- /client/src/test/resources/requests/ui/SetStudioModeEnabledRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetStudioModeEnabled", 4 | "requestId": "{requestId}", 5 | "requestData": { 6 | "studioModeEnabled": true 7 | } 8 | }, 9 | "op": 6 10 | } 11 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/RequestBatchResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestId": "59de683e-9a68-4035-82fa-d747fb9b28fb", 4 | "results": [ 5 | { 6 | "requestId": "8cf8fffb-6928-47f0-885d-fd3dee0cd374", 7 | "requestStatus": { 8 | "code": 100, 9 | "result": true 10 | }, 11 | "requestType": "Sleep" 12 | }, 13 | { 14 | "requestId": "f3330aea-639c-4b6f-93a0-e87b3c949bd1", 15 | "requestStatus": { 16 | "code": 100, 17 | "result": true 18 | }, 19 | "responseData": {"currentProgramSceneName": "Test"}, 20 | "requestType": "GetCurrentProgramScene" 21 | } 22 | ] 23 | }, 24 | "op": 9 25 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/CreateProfileResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "CreateProfile", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/CreateSceneCollectionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "CreateSceneCollection", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetPersistentDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "responseData": { 4 | "slotValue": { 5 | "field": "value" 6 | } 7 | }, 8 | "requestType": "GetPersistentData", 9 | "requestId": "0123-4567-8910", 10 | "requestStatus": { 11 | "result": true, 12 | "code": 100 13 | } 14 | }, 15 | "op": 7 16 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetProfileListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetProfileList", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "profiles": [ 11 | "Profile 1", 12 | "Profile 2" 13 | ], 14 | "currentProfileName": "Profile 1" 15 | } 16 | }, 17 | "op": 7 18 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetProfileParameterResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetProfileParameter", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "parameterValue": "Profile Parameter Value", 11 | "defaultParameterValue": "Default Profile Parameter Value" 12 | } 13 | }, 14 | "op": 7 15 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetRecordDirectoryResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetRecordDirectory", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "recordDirectory": "/output/directory" 11 | } 12 | }, 13 | "op": 7 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetSceneCollectionListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "responseData": { 4 | "sceneCollections": [ 5 | "Collection 1", 6 | "Collection 2" 7 | ], 8 | "currentSceneCollectionName": "Collection 1" 9 | }, 10 | "requestType": "GetSceneCollectionList", 11 | "requestId": "0123-4567-8910", 12 | "requestStatus": { 13 | "result": true, 14 | "code": 100 15 | } 16 | }, 17 | "op": 7 18 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetStreamServiceSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStreamServiceSettings", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "streamServiceType": "rtmp_custom", 11 | "streamServiceSettings": { 12 | "field1": "String", 13 | "field2": 2 14 | } 15 | } 16 | }, 17 | "op": 7 18 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/GetVideoSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetVideoSettings", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "fpsNumerator": 30, 11 | "fpsDenominator": 100, 12 | "baseWidth": 1920, 13 | "baseHeight": 1080, 14 | "outputWidth": 1920, 15 | "outputHeight": 1080 16 | } 17 | }, 18 | "op": 7 19 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/RemoveProfileResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "RemoveProfile", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/RemoveSceneCollectionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "RemoveSceneCollection", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/SetCurrentProfileResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetCurrentProfile", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/SetCurrentSceneCollectionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetCurrentSceneCollection", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/SetPersistentDataResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetPersistentData", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/SetProfileParameterResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetProfileParameter", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/SetStreamServiceSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetStreamServiceSettings", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/config/SetVideoSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetVideoSettings", 4 | "requestId": "0123-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/BroadcastCustomEventResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "BroadcastCustomEvent", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/CallVendorRequestResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "CallVendorRequest", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "vendorName": "Vendor", 11 | "requestType": "Request Type", 12 | "responseData": { 13 | "testKey": "Test Value" 14 | } 15 | } 16 | }, 17 | "op": 7 18 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/GetHotkeyListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetHotkeyList", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "hotkeys": ["hotkey1", "hotkey2"] 11 | } 12 | }, 13 | "op": 7 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/GetStatsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStats", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "cpuUsage": 0.05, 11 | "memoryUsage": 500, 12 | "availableDiskSpace": 1024, 13 | "activeFps": 60, 14 | "averageFrameRenderTime": 6, 15 | "renderSkippedFrames": 0, 16 | "renderTotalFrames": 123456, 17 | "outputSkippedFrames": 42, 18 | "outputTotalFrames": 123450, 19 | "webSocketSessionIncomingMessages": 4, 20 | "webSocketSessionOutgoingMessages": 5 21 | } 22 | }, 23 | "op": 7 24 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/GetVersionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetVersion", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "obsVersion": "28.0.0", 11 | "obsWebSocketVersion": "5.0.0", 12 | "rpcVersion": 1, 13 | "availableRequests": [], 14 | "supportedImageFormats": [], 15 | "platform": "windows", 16 | "platformDescription": "Windows 11 (11.0)" 17 | } 18 | }, 19 | "op": 7 20 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/SleepResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "Sleep", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/TriggerHotkeyByKeySequenceResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "TriggerHotkeyByKeySequence", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/general/TriggerHotkeyByNameResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "TriggerHotkeyByName", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/CreateInputResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "CreateInput", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "sceneItemId": 42 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputAudioBalanceResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputAudioBalance", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputAudioBalance": 0.5 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputAudioMonitorTypeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputAudioMonitorType", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "monitorType": "OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT" 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputAudioSyncOffsetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputAudioSyncOffset", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputAudioSyncOffset": 120 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputAudioTracksResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputAudioTracks", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputAudioTracks": { 11 | "1": true, 12 | "2": true, 13 | "3": true, 14 | "4": true, 15 | "5": true, 16 | "6": true 17 | } 18 | } 19 | }, 20 | "op": 7 21 | } 22 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputDefaultSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputDefaultSettings", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "defaultInputSettings": { 11 | "setting1": "String", 12 | "setting2": true, 13 | "setting3": 123 14 | } 15 | } 16 | }, 17 | "op": 7 18 | } 19 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputKindListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputKindList", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputKinds": [ 11 | "Kind 1", 12 | "Kind 2" 13 | ] 14 | } 15 | }, 16 | "op": 7 17 | } 18 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputList", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputs": [ 11 | { 12 | "inputName": "Input Name", 13 | "inputKind": "Input Kind" 14 | }, 15 | { 16 | "inputName": "Input Name", 17 | "inputKind": "Input Kind", 18 | "unversionedInputKind": "Unversioned Input Kind" 19 | } 20 | ] 21 | } 22 | }, 23 | "op": 7 24 | } 25 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputMuteResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputMute", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputMuted": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputPropertiesListPropertyItemsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputPropertiesListPropertyItems", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "propertyItems": [ 11 | { 12 | "itemName": "Item1", 13 | "itemValue": "Value1", 14 | "itemEnabled": true 15 | }, 16 | { 17 | "itemName": "Item2", 18 | "itemValue": "Value2", 19 | "itemEnabled": true 20 | } 21 | ] 22 | } 23 | }, 24 | "op": 7 25 | } 26 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputSettings", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputSettings": { 11 | "setting1": "String", 12 | "setting2": true, 13 | "setting3": 123 14 | }, 15 | "inputKind": "Input Kind" 16 | } 17 | }, 18 | "op": 7 19 | } 20 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetInputVolumeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetInputVolume", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputVolumeMul": 2.0, 11 | "inputVolumeDb": 12.0 12 | } 13 | }, 14 | "op": 7 15 | } 16 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/GetSpecialInputsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSpecialInputs", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "desktop1": "Desktop 1", 11 | "desktop2": "Desktop 2", 12 | "mic1": "Mic 1", 13 | "mic2": "Mic 2", 14 | "mic3": "Mic 3", 15 | "mic4": "Mic 4" 16 | } 17 | }, 18 | "op": 7 19 | } 20 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/PressInputPropertiesButtonResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "PressInputPropertiesButton", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/RemoveInputResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "RemoveInput", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputAudioBalanceResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputAudioBalance", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputAudioMonitorTypeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputAudioMonitorType", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputAudioSyncOffsetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputAudioSyncOffset", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputAudioTracksResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputAudioTracks", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputMuteResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputMute", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputNameResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputName", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputSettings", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/SetInputVolumeResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetInputVolume", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/inputs/ToggleInputMuteResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleInputMute", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "inputMuted": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/mediainputs/GetMediaInputStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetMediaInputStatus", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "mediaState": "buffering", 11 | "mediaDuration": 123, 12 | "mediaCursor": 321 13 | } 14 | }, 15 | "op": 7 16 | } 17 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/mediainputs/OffsetMediaInputCursorResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OffsetMediaInputCursor", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/mediainputs/SetMediaInputCursorResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetMediaInputCursor", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/mediainputs/TriggerMediaInputActionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "TriggerMediaInputAction", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/GetLastReplayBufferReplayResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetLastReplayBufferReplay", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "savedReplayPath": "SomePath" 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/GetOutputListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetOutputList", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputs": [ 11 | { 12 | "outputName": "OutputName", 13 | "outputKind": "OutputKind", 14 | "outputWidth": 123, 15 | "outputHeight": 321, 16 | "outputActive": true, 17 | "outputFlags": { 18 | "OBS_OUTPUT_AUDIO": true 19 | } 20 | } 21 | ] 22 | } 23 | }, 24 | "op": 7 25 | } 26 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/GetOutputSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetOutputSettings", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputSettings": { 11 | "key": "value" 12 | } 13 | } 14 | }, 15 | "op": 7 16 | } 17 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/GetOutputStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetOutputStatus", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true, 11 | "outputReconnecting": true, 12 | "outputTimecode": "TimeCode", 13 | "outputDuration": 1, 14 | "outputCongestion": 2, 15 | "outputBytes": 3, 16 | "outputSkippedFrames": 4, 17 | "outputTotalFrames": 5 18 | } 19 | }, 20 | "op": 7 21 | } 22 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/GetReplayBufferStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetReplayBufferStatus", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/GetVirtualCamStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetVirtualCamStatus", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/SaveReplayBufferResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SaveReplayBuffer", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/SetOutputSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetOutputSettings", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/StartOutputResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartOutput", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/StartReplayBufferResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartReplayBuffer", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/StartVirtualCamResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartVirtualCam", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/StopOutputResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopOutput", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/StopReplayBufferResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopReplayBuffer", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/StopVirtualCamResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopVirtualCam", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/ToggleOutputResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleOutput", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/ToggleReplayBufferResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleReplayBuffer", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/outputs/ToggleVirtualCamResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleVirtualCam", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/GetRecordStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetRecordStatus", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true, 11 | "outputPaused": true, 12 | "outputTimecode": "00:12:21.608", 13 | "outputDuration": 321, 14 | "outputBytes": 132 15 | } 16 | }, 17 | "op": 7 18 | } 19 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/PauseRecordResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "PauseRecord", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/ResumeRecordResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ResumeRecord", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/StartRecordResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartRecord", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/StopRecordResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopRecord", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputPath": "SomePath" 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/ToggleRecordPauseResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleRecordPause", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/record/ToggleRecordResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleRecord", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/CreateSceneResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "CreateScene", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/GetCurrentPreviewSceneResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetCurrentPreviewScene", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "currentPreviewSceneName": "Program Scene" 11 | } 12 | }, 13 | "op": 7 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/GetCurrentProgramSceneResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetCurrentProgramScene", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "currentProgramSceneName": "Program Scene" 11 | } 12 | }, 13 | "op": 7 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/GetGroupListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetGroupList", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "groups": ["group1", "group2"] 11 | } 12 | }, 13 | "op": 7 14 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/GetSceneListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSceneList", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "currentProgramSceneName": "Program Scene", 11 | "currentPreviewSceneName": "Preview Scene", 12 | "scenes": [ 13 | { 14 | "sceneName": "Scene Name", 15 | "sceneIndex": 1 16 | } 17 | ] 18 | } 19 | }, 20 | "op": 7 21 | } 22 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/GetSceneSceneTransitionOverrideResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSceneSceneTransitionOverride", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "transitionName": "Transition Name", 11 | "transitionDuration": 500 12 | } 13 | }, 14 | "op": 7 15 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/RemoveSceneResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "RemoveScene", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/SetCurrentPreviewSceneResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetCurrentPreviewScene", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/SetCurrentProgramSceneResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetCurrentProgramScene", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/SetSceneNameResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetSceneName", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/scenes/SetSceneSceneTransitionOverrideResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetSceneSceneTransitionOverride", 4 | "requestId": "1234-4567-8910", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } -------------------------------------------------------------------------------- /client/src/test/resources/responses/sources/GetSourceActiveResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSourceActive", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "videoActive": true, 11 | "videoShowing": true 12 | } 13 | }, 14 | "op": 7 15 | } 16 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/sources/GetSourceScreenshotResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetSourceScreenshot", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "imageData": "base64:abcdef0123456789" 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/sources/SaveSourceScreenshotResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SaveSourceScreenshot", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "imageData": "base64:abcdef0123456789" 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/stream/GetStreamStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStreamStatus", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true, 11 | "outputReconnecting": true, 12 | "outputTimecode": "TimeCode", 13 | "outputDuration": 1, 14 | "outputCongestion": 2, 15 | "outputBytes": 3, 16 | "outputSkippedFrames": 4, 17 | "outputTotalFrames": 5 18 | } 19 | }, 20 | "op": 7 21 | } 22 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/stream/SendStreamCaptionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SendStreamCaption", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/stream/StartStreamResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StartStream", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/stream/StopStreamResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "StopStream", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/stream/ToggleStreamResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "ToggleStream", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "outputActive": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/GetStudioModeEnabledResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "GetStudioModeEnabled", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | }, 9 | "responseData": { 10 | "studioModeEnabled": true 11 | } 12 | }, 13 | "op": 7 14 | } 15 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/OpenInputFiltersDialogResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenInputFiltersDialog", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/OpenInputInteractDialogResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenInputInteractDialog", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/OpenInputPropertiesDialogResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenInputPropertiesDialog", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/OpenSourceProjectorResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenSourceProjector", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/OpenVideoMixProjectorResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "OpenVideoMixProjector", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/responses/ui/SetStudioModeEnabledResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "d": { 3 | "requestType": "SetStudioModeEnabled", 4 | "requestId": "{requestId}", 5 | "requestStatus": { 6 | "result": true, 7 | "code": 100 8 | } 9 | }, 10 | "op": 7 11 | } 12 | -------------------------------------------------------------------------------- /client/src/test/resources/simplelogger.properties: -------------------------------------------------------------------------------- 1 | # Turning off Jetty logging. 2 | org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog 3 | org.eclipse.jetty.LEVEL=OFF 4 | # Default levels for the project 5 | org.slf4j.simpleLogger.defaultLogLevel=info 6 | org.slf4j.simpleLogger.log.io.obswebsocket.community.client=debug -------------------------------------------------------------------------------- /example/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | } 4 | 5 | group = 'io.obs-websocket.community' 6 | version = rootProject.file('VERSION').text.trim() 7 | 8 | dependencies { 9 | implementation project(':client') 10 | implementation libs.sl4j.simple 11 | } 12 | -------------------------------------------------------------------------------- /example/src/main/resources/simplelogger.properties: -------------------------------------------------------------------------------- 1 | # Turning off Jetty logging. 2 | org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog 3 | org.eclipse.jetty.LEVEL=OFF 4 | # Default levels for the project 5 | org.slf4j.simpleLogger.defaultLogLevel=info 6 | org.slf4j.simpleLogger.log.io.obswebsocket.community.client=debug -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obs-websocket-community-projects/obs-websocket-java/2ff769d4819935aac44fbf38e003773934ddbb55/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /messagegenerator/lombok.config: -------------------------------------------------------------------------------- 1 | lombok.nonNull.exceptionType = IllegalArgumentException 2 | config.stopbubbling = true 3 | -------------------------------------------------------------------------------- /messagegenerator/src/main/java/io/obswebsocket/community/generator/model/generated/Enum.java: -------------------------------------------------------------------------------- 1 | package io.obswebsocket.community.generator.model.generated; 2 | 3 | import com.google.gson.annotations.Expose; 4 | import com.google.gson.annotations.SerializedName; 5 | import java.util.List; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString 11 | public class Enum { 12 | 13 | @SerializedName("enumType") 14 | @Expose 15 | public String enumType; 16 | @SerializedName("enumIdentifiers") 17 | @Expose 18 | public List enumIdentifiers = null; 19 | } 20 | -------------------------------------------------------------------------------- /messagegenerator/src/main/resources/protocoloverride.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /messagegenerator/src/test/resources/EventWithoutParameters.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.event.category; 4 | 5 | import io.obswebsocket.community.client.message.event.Event; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | /** 10 | * Description 11 | */ 12 | @Getter 13 | @ToString( 14 | callSuper = true 15 | ) 16 | public class TypeEvent extends Event { 17 | protected TypeEvent() { 18 | super(Intent.subscription); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /messagegenerator/src/test/resources/RequestWithoutParameters.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.request.category; 4 | 5 | import io.obswebsocket.community.client.message.request.Request; 6 | import io.obswebsocket.community.client.message.request.RequestType; 7 | import lombok.Builder; 8 | import lombok.Getter; 9 | import lombok.ToString; 10 | 11 | @Getter 12 | @ToString( 13 | callSuper = true 14 | ) 15 | public class TypeRequest extends Request { 16 | @Builder 17 | private TypeRequest() { 18 | super(RequestType.Type, null); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /messagegenerator/src/test/resources/ResponseWithoutParameters.java: -------------------------------------------------------------------------------- 1 | // @formatter:off 2 | // This class is generated, do not edit! 3 | package io.obswebsocket.community.client.message.response.category; 4 | 5 | import io.obswebsocket.community.client.message.response.RequestResponse; 6 | import lombok.Getter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString( 11 | callSuper = true 12 | ) 13 | public class TypeResponse extends RequestResponse { 14 | } 15 | -------------------------------------------------------------------------------- /obs-resources/static/bird.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obs-websocket-community-projects/obs-websocket-java/2ff769d4819935aac44fbf38e003773934ddbb55/obs-resources/static/bird.mp4 -------------------------------------------------------------------------------- /obs-resources/static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 |

OBS Browser Source

14 |

15 | 16 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /obs-resources/static/playlist/video1.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obs-websocket-community-projects/obs-websocket-java/2ff769d4819935aac44fbf38e003773934ddbb55/obs-resources/static/playlist/video1.mp4 -------------------------------------------------------------------------------- /obs-resources/static/playlist/video2.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/obs-websocket-community-projects/obs-websocket-java/2ff769d4819935aac44fbf38e003773934ddbb55/obs-resources/static/playlist/video2.mp4 --------------------------------------------------------------------------------