From 071b466ef88d786342eb7b632156694ce7adfea7 Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Sun, 8 Dec 2024 17:35:40 -0600 Subject: [PATCH 1/6] Fixed the issue with the `id` prop --- .../obs/effects/transform-obs-source.ts | 28 +++++++++++++++++-- .../integrations/builtin/obs/obs-remote.ts | 7 +++-- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts index dc74ec7c2..0cae42eac 100644 --- a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts +++ b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts @@ -13,6 +13,7 @@ export const TransformSourceEffectType: EffectType<{ alignment: number; startTransform: Record; endTransform: Record; + isShitFucked: boolean; }> = { definition: { id: "firebot:obs-transform-source", @@ -22,6 +23,13 @@ export const TransformSourceEffectType: EffectType<{ categories: ["common"] }, optionsTemplate: ` + +
+

+ Error: Due to a previous bug with duplicating Preset Effect Lists, you will need to set the Scene Item again, this shouldn't be necessary again in the future. +

+
+
@@ -101,10 +109,12 @@ export const TransformSourceEffectType: EffectType<{
@@ -129,12 +139,12 @@ export const TransformSourceEffectType: EffectType<{
@@ -177,6 +187,17 @@ export const TransformSourceEffectType: EffectType<{ [10]: "Bottom Right" }); + // If legacy property sceneItem.id exists, we need to fix it + if (!!$scope.effect.sceneItem?.id) { + if (typeof ($scope.effect.sceneItem.id) !== "number") { + $scope.effect.isShitFucked = true; + delete $scope.effect.sceneItem; + } else { + $scope.effect.sceneItem.itemId = $scope.effect.sceneItem.id; + delete $scope.effect.sceneItem.id; + } + } + $scope.selectScene = (sceneName: string) => { $scope.effect.sceneItem = undefined; $scope.getSources(sceneName); @@ -184,6 +205,7 @@ export const TransformSourceEffectType: EffectType<{ $scope.selectSceneItem = (sceneItem: OBSSceneItem) => { $scope.effect.sceneItem = sceneItem; + $scope.effect.isShitFucked = false; }; $scope.getScenes = () => { @@ -259,7 +281,7 @@ export const TransformSourceEffectType: EffectType<{ await transformSceneItem( effect.sceneItem.groupName ?? effect.sceneName, - effect.sceneItem.id, + effect.sceneItem.itemId, Number(effect.duration) * 1000, parsedStart, parsedEnd, diff --git a/src/backend/integrations/builtin/obs/obs-remote.ts b/src/backend/integrations/builtin/obs/obs-remote.ts index 187a1549f..4ce5c2e0a 100644 --- a/src/backend/integrations/builtin/obs/obs-remote.ts +++ b/src/backend/integrations/builtin/obs/obs-remote.ts @@ -798,7 +798,8 @@ export type OBSSource = { }; export type OBSSceneItem = { - id: number; + id?: number; // this is for legacy support, swapped to itemId to avoid breaking on copy preset effect list + itemId: number; name: string; groupName?: string; }; @@ -890,7 +891,7 @@ export async function getAllSceneItemsInGroup(groupName: string): Promise ({ - id: item.sceneItemId as number, + itemId: item.sceneItemId as number, name: item.sourceName as string, groupName })); @@ -907,7 +908,7 @@ export async function getAllSceneItemsInScene(sceneName: string): Promise Date: Sun, 8 Dec 2024 17:41:56 -0600 Subject: [PATCH 2/6] Added nullish check so legacy ids will still function, but will prefer itemId --- .../integrations/builtin/obs/effects/transform-obs-source.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts index 0cae42eac..9f848fcbf 100644 --- a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts +++ b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts @@ -281,7 +281,7 @@ export const TransformSourceEffectType: EffectType<{ await transformSceneItem( effect.sceneItem.groupName ?? effect.sceneName, - effect.sceneItem.itemId, + effect.sceneItem.id ?? effect.sceneItem.itemId, Number(effect.duration) * 1000, parsedStart, parsedEnd, From 4050a977c0c54e1ebb64a2c69550bb096a6a630c Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Sun, 8 Dec 2024 17:49:55 -0600 Subject: [PATCH 3/6] =?UTF-8?q?FINE=20I'll=20change=20the=20variable=20nam?= =?UTF-8?q?e=20=F0=9F=98=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../builtin/obs/effects/transform-obs-source.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts index 9f848fcbf..da75035d4 100644 --- a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts +++ b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts @@ -13,7 +13,7 @@ export const TransformSourceEffectType: EffectType<{ alignment: number; startTransform: Record; endTransform: Record; - isShitFucked: boolean; + isUsingInvalidItemId: boolean; }> = { definition: { id: "firebot:obs-transform-source", @@ -23,9 +23,9 @@ export const TransformSourceEffectType: EffectType<{ categories: ["common"] }, optionsTemplate: ` - +
-

+

Error: Due to a previous bug with duplicating Preset Effect Lists, you will need to set the Scene Item again, this shouldn't be necessary again in the future.

@@ -190,7 +190,7 @@ export const TransformSourceEffectType: EffectType<{ // If legacy property sceneItem.id exists, we need to fix it if (!!$scope.effect.sceneItem?.id) { if (typeof ($scope.effect.sceneItem.id) !== "number") { - $scope.effect.isShitFucked = true; + $scope.effect.isUsingInvalidItemId = true; delete $scope.effect.sceneItem; } else { $scope.effect.sceneItem.itemId = $scope.effect.sceneItem.id; @@ -205,7 +205,7 @@ export const TransformSourceEffectType: EffectType<{ $scope.selectSceneItem = (sceneItem: OBSSceneItem) => { $scope.effect.sceneItem = sceneItem; - $scope.effect.isShitFucked = false; + $scope.effect.isUsingInvalidItemId = false; }; $scope.getScenes = () => { From e3a498cdc4f94f41cb3bc009587273cbf10eaed7 Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Sun, 8 Dec 2024 17:52:43 -0600 Subject: [PATCH 4/6] Simplified error to not save on effect --- .../builtin/obs/effects/transform-obs-source.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts index da75035d4..f5d01b2a1 100644 --- a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts +++ b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts @@ -13,7 +13,6 @@ export const TransformSourceEffectType: EffectType<{ alignment: number; startTransform: Record; endTransform: Record; - isUsingInvalidItemId: boolean; }> = { definition: { id: "firebot:obs-transform-source", @@ -23,7 +22,7 @@ export const TransformSourceEffectType: EffectType<{ categories: ["common"] }, optionsTemplate: ` - +

Error: Due to a previous bug with duplicating Preset Effect Lists, you will need to set the Scene Item again, this shouldn't be necessary again in the future. @@ -172,6 +171,7 @@ export const TransformSourceEffectType: EffectType<{ `, optionsController: ($scope: any, backendCommunicator: any) => { $scope.isObsConfigured = false; + $scope.isUsingInvalidItemId = false; $scope.scenes = []; $scope.sceneItems = []; @@ -190,7 +190,7 @@ export const TransformSourceEffectType: EffectType<{ // If legacy property sceneItem.id exists, we need to fix it if (!!$scope.effect.sceneItem?.id) { if (typeof ($scope.effect.sceneItem.id) !== "number") { - $scope.effect.isUsingInvalidItemId = true; + $scope.isUsingInvalidItemId = true; delete $scope.effect.sceneItem; } else { $scope.effect.sceneItem.itemId = $scope.effect.sceneItem.id; From cdc389becc76f6ed105ce2540d66f1e20c8e8dcb Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Sun, 8 Dec 2024 17:54:39 -0600 Subject: [PATCH 5/6] Forgot to update one instance --- .../integrations/builtin/obs/effects/transform-obs-source.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts index f5d01b2a1..873437604 100644 --- a/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts +++ b/src/backend/integrations/builtin/obs/effects/transform-obs-source.ts @@ -205,7 +205,7 @@ export const TransformSourceEffectType: EffectType<{ $scope.selectSceneItem = (sceneItem: OBSSceneItem) => { $scope.effect.sceneItem = sceneItem; - $scope.effect.isUsingInvalidItemId = false; + $scope.isUsingInvalidItemId = false; }; $scope.getScenes = () => { From fe542fc89ac1595096389bb7aa879dd725c5dfdd Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Sun, 8 Dec 2024 17:58:59 -0600 Subject: [PATCH 6/6] Updated copy to match --- src/backend/integrations/builtin/obs/obs-remote.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/integrations/builtin/obs/obs-remote.ts b/src/backend/integrations/builtin/obs/obs-remote.ts index 4ce5c2e0a..85b33e762 100644 --- a/src/backend/integrations/builtin/obs/obs-remote.ts +++ b/src/backend/integrations/builtin/obs/obs-remote.ts @@ -798,7 +798,7 @@ export type OBSSource = { }; export type OBSSceneItem = { - id?: number; // this is for legacy support, swapped to itemId to avoid breaking on copy preset effect list + id?: number; // this is for legacy support, swapped to itemId to avoid breaking on duplicating Preset Effect Lists itemId: number; name: string; groupName?: string;