@@ -680,6 +680,12 @@ export interface OBSRequestTypes {
680
680
* Object of settings to apply
681
681
*/
682
682
inputSettings : JsonObject ;
683
+ /**
684
+ * True == apply the settings on top of existing ones, False == reset the input to its defaults, then apply settings.
685
+ *
686
+ * @defaultValue true
687
+ */
688
+ overlay ?: boolean ;
683
689
} ;
684
690
GetInputMute : {
685
691
/**
@@ -783,6 +789,188 @@ export interface OBSRequestTypes {
783
789
*/
784
790
propertyName : string ;
785
791
} ;
792
+ GetSceneItemList : {
793
+ /**
794
+ * Name of the scene to get the items of
795
+ */
796
+ sceneName : string ;
797
+ } ;
798
+ GetGroupItemList : {
799
+ /**
800
+ * Name of the group to get the items of
801
+ */
802
+ sceneName : string ;
803
+ } ;
804
+ GetSceneItemId : {
805
+ /**
806
+ * Name of the scene or group to search in
807
+ */
808
+ sceneName : string ;
809
+ /**
810
+ * Name of the source to find
811
+ */
812
+ sourceName : string ;
813
+ } ;
814
+ CreateSceneItem : {
815
+ /**
816
+ * Name of the scene to create the new item in
817
+ */
818
+ sceneName : string ;
819
+ /**
820
+ * Name of the source to add to the scene
821
+ */
822
+ sourceName : string ;
823
+ /**
824
+ * Enable state to apply to the scene item on creation
825
+ *
826
+ * @defaultValue True
827
+ */
828
+ sceneItemEnabled ?: boolean ;
829
+ } ;
830
+ RemoveSceneItem : {
831
+ /**
832
+ * Name of the scene the item is in
833
+ */
834
+ sceneName : string ;
835
+ /**
836
+ * Numeric ID of the scene item
837
+ *
838
+ * @restrictions >= 0
839
+ */
840
+ sceneItemId : number ;
841
+ } ;
842
+ DuplicateSceneItem : {
843
+ /**
844
+ * Name of the scene the item is in
845
+ */
846
+ sceneName : string ;
847
+ /**
848
+ * Numeric ID of the scene item
849
+ *
850
+ * @restrictions >= 0
851
+ */
852
+ sceneItemId : number ;
853
+ /**
854
+ * Name of the scene to create the duplicated item in
855
+ *
856
+ * @defaultValue `sceneName` is assumed
857
+ */
858
+ destinationSceneName ?: string ;
859
+ } ;
860
+ GetSceneItemTransform : {
861
+ /**
862
+ * Name of the scene the item is in
863
+ */
864
+ sceneName : string ;
865
+ /**
866
+ * Numeric ID of the scene item
867
+ *
868
+ * @restrictions >= 0
869
+ */
870
+ sceneItemId : number ;
871
+ } ;
872
+ SetSceneItemTransform : {
873
+ /**
874
+ * Name of the scene the item is in
875
+ */
876
+ sceneName : string ;
877
+ /**
878
+ * Numeric ID of the scene item
879
+ *
880
+ * @restrictions >= 0
881
+ */
882
+ sceneItemId : number ;
883
+ /**
884
+ * Object containing scene item transform info to update
885
+ */
886
+ sceneItemTransform : JsonObject ;
887
+ } ;
888
+ GetSceneItemEnabled : {
889
+ /**
890
+ * Name of the scene the item is in
891
+ */
892
+ sceneName : string ;
893
+ /**
894
+ * Numeric ID of the scene item
895
+ *
896
+ * @restrictions >= 0
897
+ */
898
+ sceneItemId : number ;
899
+ } ;
900
+ SetSceneItemEnabled : {
901
+ /**
902
+ * Name of the scene the item is in
903
+ */
904
+ sceneName : string ;
905
+ /**
906
+ * Numeric ID of the scene item
907
+ *
908
+ * @restrictions >= 0
909
+ */
910
+ sceneItemId : number ;
911
+ /**
912
+ * New enable state of the scene item
913
+ */
914
+ sceneItemEnabled : boolean ;
915
+ } ;
916
+ GetSceneItemLocked : {
917
+ /**
918
+ * Name of the scene the item is in
919
+ */
920
+ sceneName : string ;
921
+ /**
922
+ * Numeric ID of the scene item
923
+ *
924
+ * @restrictions >= 0
925
+ */
926
+ sceneItemId : number ;
927
+ } ;
928
+ SetSceneItemLocked : {
929
+ /**
930
+ * Name of the scene the item is in
931
+ */
932
+ sceneName : string ;
933
+ /**
934
+ * Numeric ID of the scene item
935
+ *
936
+ * @restrictions >= 0
937
+ */
938
+ sceneItemId : number ;
939
+ /**
940
+ * New lock state of the scene item
941
+ */
942
+ sceneItemLocked : boolean ;
943
+ } ;
944
+ GetSceneItemIndex : {
945
+ /**
946
+ * Name of the scene the item is in
947
+ */
948
+ sceneName : string ;
949
+ /**
950
+ * Numeric ID of the scene item
951
+ *
952
+ * @restrictions >= 0
953
+ */
954
+ sceneItemId : number ;
955
+ } ;
956
+ SetSceneItemIndex : {
957
+ /**
958
+ * Name of the scene the item is in
959
+ */
960
+ sceneName : string ;
961
+ /**
962
+ * Numeric ID of the scene item
963
+ *
964
+ * @restrictions >= 0
965
+ */
966
+ sceneItemId : number ;
967
+ /**
968
+ * New index position of the scene item
969
+ *
970
+ * @restrictions >= 0
971
+ */
972
+ sceneItemIndex : number ;
973
+ } ;
786
974
GetSceneList : never ;
787
975
GetCurrentProgramScene : never ;
788
976
SetCurrentProgramScene : {
@@ -892,6 +1080,10 @@ export interface OBSRequestTypes {
892
1080
*/
893
1081
imageCompressionQuality ?: number ;
894
1082
} ;
1083
+ GetStreamStatus : never ;
1084
+ ToggleStream : never ;
1085
+ StartStream : never ;
1086
+ StopStream : never ;
895
1087
}
896
1088
897
1089
export interface OBSResponseTypes {
@@ -1149,11 +1341,66 @@ export interface OBSResponseTypes {
1149
1341
propertyItems : JsonArray ;
1150
1342
} ;
1151
1343
PressInputPropertiesButton : undefined ;
1152
- GetSceneList : {
1344
+ GetSceneItemList : {
1153
1345
/**
1154
- * Array of scenes in OBS
1346
+ * Array of scene items in the scene
1155
1347
*/
1156
- scenes : JsonArray ;
1348
+ sceneItems : JsonArray ;
1349
+ } ;
1350
+ GetGroupItemList : {
1351
+ /**
1352
+ * Array of scene items in the group
1353
+ */
1354
+ sceneItems : JsonArray ;
1355
+ } ;
1356
+ GetSceneItemId : {
1357
+ /**
1358
+ * Numeric ID of the scene item
1359
+ */
1360
+ sceneItemId : number ;
1361
+ } ;
1362
+ CreateSceneItem : {
1363
+ /**
1364
+ * Numeric ID of the scene item
1365
+ */
1366
+ sceneItemId : number ;
1367
+ } ;
1368
+ RemoveSceneItem : undefined ;
1369
+ DuplicateSceneItem : {
1370
+ /**
1371
+ * Numeric ID of the duplicated scene item
1372
+ */
1373
+ sceneItemId : number ;
1374
+ } ;
1375
+ GetSceneItemTransform : {
1376
+ /**
1377
+ * Object containing scene item transform info
1378
+ */
1379
+ sceneItemTransform : JsonObject ;
1380
+ } ;
1381
+ SetSceneItemTransform : undefined ;
1382
+ GetSceneItemEnabled : {
1383
+ /**
1384
+ * Whether the scene item is enabled. `true` for enabled, `false` for disabled
1385
+ */
1386
+ sceneItemEnabled : boolean ;
1387
+ } ;
1388
+ SetSceneItemEnabled : undefined ;
1389
+ GetSceneItemLocked : {
1390
+ /**
1391
+ * Whether the scene item is locked. `true` for locked, `false` for unlocked
1392
+ */
1393
+ sceneItemLocked : boolean ;
1394
+ } ;
1395
+ SetSceneItemLocked : undefined ;
1396
+ GetSceneItemIndex : {
1397
+ /**
1398
+ * Index position of the scene item
1399
+ */
1400
+ sceneItemIndex : number ;
1401
+ } ;
1402
+ SetSceneItemIndex : undefined ;
1403
+ GetSceneList : {
1157
1404
/**
1158
1405
* Current program scene
1159
1406
*/
@@ -1162,6 +1409,10 @@ export interface OBSResponseTypes {
1162
1409
* Current preview scene. `null` if not in studio mode
1163
1410
*/
1164
1411
currentPreviewSceneName : string ;
1412
+ /**
1413
+ * Array of scenes in OBS
1414
+ */
1415
+ scenes : JsonArray ;
1165
1416
} ;
1166
1417
GetCurrentProgramScene : {
1167
1418
/**
@@ -1202,4 +1453,42 @@ export interface OBSResponseTypes {
1202
1453
*/
1203
1454
imageData : string ;
1204
1455
} ;
1456
+ GetStreamStatus : {
1457
+ /**
1458
+ * Whether the output is active
1459
+ */
1460
+ outputActive : boolean ;
1461
+ /**
1462
+ * Whether the output is currently reconnecting
1463
+ */
1464
+ outputReconnecting : boolean ;
1465
+ /**
1466
+ * Current formatted timecode string for the output
1467
+ */
1468
+ outputTimecode : string ;
1469
+ /**
1470
+ * Current duration in milliseconds for the output
1471
+ */
1472
+ outputDuration : number ;
1473
+ /**
1474
+ * Number of bytes sent by the output
1475
+ */
1476
+ outputBytes : number ;
1477
+ /**
1478
+ * Number of frames skipped by the output's process
1479
+ */
1480
+ outputSkippedFrames : number ;
1481
+ /**
1482
+ * Total number of frames delivered by the output's process
1483
+ */
1484
+ outputTotalFrames : number ;
1485
+ } ;
1486
+ ToggleStream : {
1487
+ /**
1488
+ * New state of the stream output
1489
+ */
1490
+ outputActive : boolean ;
1491
+ } ;
1492
+ StartStream : undefined ;
1493
+ StopStream : undefined ;
1205
1494
}
0 commit comments