Skip to content

Commit 4fd8e3f

Browse files
authored
Merge branch 'master' into feat/transition-data
2 parents 9d187dd + 3b873ce commit 4fd8e3f

8 files changed

+65
-69
lines changed

docs/generated/protocol.json

+32-32
Original file line numberDiff line numberDiff line change
@@ -461,72 +461,72 @@
461461
{
462462
"description": "Unknown state.",
463463
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_UNKNOWN",
464-
"rpcVersion": 1,
465-
"deprecated": true,
464+
"rpcVersion": "1",
465+
"deprecated": false,
466466
"initialVersion": "5.0.0",
467467
"enumValue": "OBS_WEBSOCKET_OUTPUT_UNKNOWN"
468468
},
469469
{
470470
"description": "The output is starting.",
471471
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STARTING",
472-
"rpcVersion": 1,
473-
"deprecated": true,
472+
"rpcVersion": "1",
473+
"deprecated": false,
474474
"initialVersion": "5.0.0",
475475
"enumValue": "OBS_WEBSOCKET_OUTPUT_STARTING"
476476
},
477477
{
478478
"description": "The input has started.",
479479
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STARTED",
480-
"rpcVersion": 1,
481-
"deprecated": true,
480+
"rpcVersion": "1",
481+
"deprecated": false,
482482
"initialVersion": "5.0.0",
483483
"enumValue": "OBS_WEBSOCKET_OUTPUT_STARTED"
484484
},
485485
{
486486
"description": "The output is stopping.",
487487
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STOPPING",
488-
"rpcVersion": 1,
489-
"deprecated": true,
488+
"rpcVersion": "1",
489+
"deprecated": false,
490490
"initialVersion": "5.0.0",
491491
"enumValue": "OBS_WEBSOCKET_OUTPUT_STOPPING"
492492
},
493493
{
494494
"description": "The output has stopped.",
495495
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STOPPED",
496-
"rpcVersion": 1,
497-
"deprecated": true,
496+
"rpcVersion": "1",
497+
"deprecated": false,
498498
"initialVersion": "5.0.0",
499499
"enumValue": "OBS_WEBSOCKET_OUTPUT_STOPPED"
500500
},
501501
{
502502
"description": "The output has disconnected and is reconnecting.",
503503
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_RECONNECTING",
504-
"rpcVersion": 1,
505-
"deprecated": true,
504+
"rpcVersion": "1",
505+
"deprecated": false,
506506
"initialVersion": "5.0.0",
507507
"enumValue": "OBS_WEBSOCKET_OUTPUT_RECONNECTING"
508508
},
509509
{
510510
"description": "The output has reconnected successfully.",
511511
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_RECONNECTED",
512-
"rpcVersion": 1,
513-
"deprecated": true,
512+
"rpcVersion": "1",
513+
"deprecated": false,
514514
"initialVersion": "5.1.0",
515515
"enumValue": "OBS_WEBSOCKET_OUTPUT_RECONNECTED"
516516
},
517517
{
518518
"description": "The output is now paused.",
519519
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_PAUSED",
520-
"rpcVersion": 1,
521-
"deprecated": true,
520+
"rpcVersion": "1",
521+
"deprecated": false,
522522
"initialVersion": "5.1.0",
523523
"enumValue": "OBS_WEBSOCKET_OUTPUT_PAUSED"
524524
},
525525
{
526526
"description": "The output has been resumed (unpaused).",
527527
"enumIdentifier": "OBS_WEBSOCKET_OUTPUT_RESUMED",
528-
"rpcVersion": 1,
529-
"deprecated": true,
528+
"rpcVersion": "1",
529+
"deprecated": false,
530530
"initialVersion": "5.0.0",
531531
"enumValue": "OBS_WEBSOCKET_OUTPUT_RESUMED"
532532
}
@@ -538,56 +538,56 @@
538538
{
539539
"description": "No action.",
540540
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE",
541-
"rpcVersion": 1,
542-
"deprecated": true,
541+
"rpcVersion": "1",
542+
"deprecated": false,
543543
"initialVersion": "5.0.0",
544544
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE"
545545
},
546546
{
547547
"description": "Play the media input.",
548548
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY",
549-
"rpcVersion": 1,
550-
"deprecated": true,
549+
"rpcVersion": "1",
550+
"deprecated": false,
551551
"initialVersion": "5.0.0",
552552
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY"
553553
},
554554
{
555555
"description": "Pause the media input.",
556556
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE",
557-
"rpcVersion": 1,
558-
"deprecated": true,
557+
"rpcVersion": "1",
558+
"deprecated": false,
559559
"initialVersion": "5.0.0",
560560
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE"
561561
},
562562
{
563563
"description": "Stop the media input.",
564564
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP",
565-
"rpcVersion": 1,
566-
"deprecated": true,
565+
"rpcVersion": "1",
566+
"deprecated": false,
567567
"initialVersion": "5.0.0",
568568
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP"
569569
},
570570
{
571571
"description": "Restart the media input.",
572572
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART",
573-
"rpcVersion": 1,
574-
"deprecated": true,
573+
"rpcVersion": "1",
574+
"deprecated": false,
575575
"initialVersion": "5.0.0",
576576
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART"
577577
},
578578
{
579579
"description": "Go to the next playlist item.",
580580
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT",
581-
"rpcVersion": 1,
582-
"deprecated": true,
581+
"rpcVersion": "1",
582+
"deprecated": false,
583583
"initialVersion": "5.0.0",
584584
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT"
585585
},
586586
{
587587
"description": "Go to the previous playlist item.",
588588
"enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS",
589-
"rpcVersion": 1,
590-
"deprecated": true,
589+
"rpcVersion": "1",
590+
"deprecated": false,
591591
"initialVersion": "5.0.0",
592592
"enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS"
593593
}

docs/generated/protocol.md

-16
Original file line numberDiff line numberDiff line change
@@ -1336,7 +1336,6 @@ No action.
13361336

13371337
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE`
13381338
- Latest Supported RPC Version: `1`
1339-
- **⚠️ Deprecated. ⚠️**
13401339
- Added in v5.0.0
13411340

13421341
---
@@ -1347,7 +1346,6 @@ Play the media input.
13471346

13481347
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY`
13491348
- Latest Supported RPC Version: `1`
1350-
- **⚠️ Deprecated. ⚠️**
13511349
- Added in v5.0.0
13521350

13531351
---
@@ -1358,7 +1356,6 @@ Pause the media input.
13581356

13591357
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE`
13601358
- Latest Supported RPC Version: `1`
1361-
- **⚠️ Deprecated. ⚠️**
13621359
- Added in v5.0.0
13631360

13641361
---
@@ -1369,7 +1366,6 @@ Stop the media input.
13691366

13701367
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP`
13711368
- Latest Supported RPC Version: `1`
1372-
- **⚠️ Deprecated. ⚠️**
13731369
- Added in v5.0.0
13741370

13751371
---
@@ -1380,7 +1376,6 @@ Restart the media input.
13801376

13811377
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART`
13821378
- Latest Supported RPC Version: `1`
1383-
- **⚠️ Deprecated. ⚠️**
13841379
- Added in v5.0.0
13851380

13861381
---
@@ -1391,7 +1386,6 @@ Go to the next playlist item.
13911386

13921387
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT`
13931388
- Latest Supported RPC Version: `1`
1394-
- **⚠️ Deprecated. ⚠️**
13951389
- Added in v5.0.0
13961390

13971391
---
@@ -1402,7 +1396,6 @@ Go to the previous playlist item.
14021396

14031397
- Identifier Value: `OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS`
14041398
- Latest Supported RPC Version: `1`
1405-
- **⚠️ Deprecated. ⚠️**
14061399
- Added in v5.0.0
14071400

14081401
## ObsOutputState
@@ -1413,7 +1406,6 @@ Unknown state.
14131406

14141407
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_UNKNOWN`
14151408
- Latest Supported RPC Version: `1`
1416-
- **⚠️ Deprecated. ⚠️**
14171409
- Added in v5.0.0
14181410

14191411
---
@@ -1424,7 +1416,6 @@ The output is starting.
14241416

14251417
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_STARTING`
14261418
- Latest Supported RPC Version: `1`
1427-
- **⚠️ Deprecated. ⚠️**
14281419
- Added in v5.0.0
14291420

14301421
---
@@ -1435,7 +1426,6 @@ The input has started.
14351426

14361427
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_STARTED`
14371428
- Latest Supported RPC Version: `1`
1438-
- **⚠️ Deprecated. ⚠️**
14391429
- Added in v5.0.0
14401430

14411431
---
@@ -1446,7 +1436,6 @@ The output is stopping.
14461436

14471437
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_STOPPING`
14481438
- Latest Supported RPC Version: `1`
1449-
- **⚠️ Deprecated. ⚠️**
14501439
- Added in v5.0.0
14511440

14521441
---
@@ -1457,7 +1446,6 @@ The output has stopped.
14571446

14581447
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_STOPPED`
14591448
- Latest Supported RPC Version: `1`
1460-
- **⚠️ Deprecated. ⚠️**
14611449
- Added in v5.0.0
14621450

14631451
---
@@ -1468,7 +1456,6 @@ The output has disconnected and is reconnecting.
14681456

14691457
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_RECONNECTING`
14701458
- Latest Supported RPC Version: `1`
1471-
- **⚠️ Deprecated. ⚠️**
14721459
- Added in v5.0.0
14731460

14741461
---
@@ -1479,7 +1466,6 @@ The output has reconnected successfully.
14791466

14801467
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_RECONNECTED`
14811468
- Latest Supported RPC Version: `1`
1482-
- **⚠️ Deprecated. ⚠️**
14831469
- Added in v5.1.0
14841470

14851471
---
@@ -1490,7 +1476,6 @@ The output is now paused.
14901476

14911477
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_PAUSED`
14921478
- Latest Supported RPC Version: `1`
1493-
- **⚠️ Deprecated. ⚠️**
14941479
- Added in v5.1.0
14951480

14961481
---
@@ -1501,7 +1486,6 @@ The output has been resumed (unpaused).
15011486

15021487
- Identifier Value: `OBS_WEBSOCKET_OUTPUT_RESUMED`
15031488
- Latest Supported RPC Version: `1`
1504-
- **⚠️ Deprecated. ⚠️**
15051489
- Added in v5.0.0
15061490

15071491
# Events

src/Config.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,16 @@ with this program. If not, see <https://www.gnu.org/licenses/>
4949

5050
void Config::Load(json config)
5151
{
52+
// Only load from plugin config directory if there hasn't been a migration
5253
if (config.is_null()) {
5354
std::string configFilePath = Utils::Obs::StringHelper::GetModuleConfigPath(CONFIG_FILE_NAME);
5455
Utils::Json::GetJsonFileContent(configFilePath, config); // Fetch the existing config, which may not exist
5556
}
5657

57-
// Should never happen, but just in case
58-
if (!config.is_object())
59-
return;
58+
if (!config.is_object()) {
59+
blog(LOG_INFO, "[Config::Load] Existing configuration not found, using defaults.");
60+
config = json::object();
61+
}
6062

6163
if (config.contains(PARAM_FIRSTLOAD) && config[PARAM_FIRSTLOAD].is_boolean())
6264
FirstLoad = config[PARAM_FIRSTLOAD];

src/requesthandler/RequestHandler_General.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ RequestResult RequestHandler::TriggerHotkeyByName(const Request &request)
266266
return RequestResult::Error(RequestStatus::ResourceNotFound, "No hotkeys were found by that name.");
267267

268268
obs_hotkey_trigger_routed_callback(obs_hotkey_get_id(hotkey), true);
269+
obs_hotkey_trigger_routed_callback(obs_hotkey_get_id(hotkey), false);
269270

270271
return RequestResult::Success();
271272
}

src/requesthandler/RequestHandler_SceneItems.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,13 @@ RequestResult RequestHandler::SetSceneItemTransform(const Request &request)
502502
cropChanged = true;
503503
}
504504

505+
if (r.Contains("cropToBounds")) {
506+
if (!r.ValidateOptionalBoolean("cropToBounds", statusCode, comment))
507+
return RequestResult::Error(statusCode, comment);
508+
sceneItemTransform.crop_to_bounds = r.RequestData["cropToBounds"];
509+
transformChanged = true;
510+
}
511+
505512
if (!transformChanged && !cropChanged)
506513
return RequestResult::Error(RequestStatus::CannotAct, "You have not provided any valid transform changes.");
507514

src/requesthandler/RequestHandler_Sources.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ with this program. If not, see <https://www.gnu.org/licenses/>
2828
QImage TakeSourceScreenshot(obs_source_t *source, bool &success, uint32_t requestedWidth = 0, uint32_t requestedHeight = 0)
2929
{
3030
// Get info about the requested source
31-
const uint32_t sourceWidth = obs_source_get_base_width(source);
32-
const uint32_t sourceHeight = obs_source_get_base_height(source);
31+
const uint32_t sourceWidth = obs_source_get_width(source);
32+
const uint32_t sourceHeight = obs_source_get_height(source);
3333
const double sourceAspectRatio = ((double)sourceWidth / (double)sourceHeight);
3434

3535
uint32_t imgWidth = sourceWidth;

0 commit comments

Comments
 (0)