@arcanewizards/timecode-toolbox 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37847,6 +37847,10 @@ Data Directory: ${system.dataDirectory}`
37847
37847
  },
37848
37848
  inputs: {
37849
37849
  title: "INPUTS",
37850
+ unnamed: "Unnamed Input",
37851
+ enable: "Enable Input",
37852
+ disable: "Disable Input",
37853
+ edit: "Edit Input",
37850
37854
  noChildren: "No inputs yet. Please add one using the buttons below.",
37851
37855
  addButton: (protocol) => `Add ${protocol}`,
37852
37856
  addDialog: (protocol) => `Add ${protocol} Input`,
@@ -37870,6 +37874,8 @@ Data Directory: ${system.dataDirectory}`
37870
37874
  delay: (delayMs) => `Delay: ${MS_FORMAT.format(delayMs)}`,
37871
37875
  generators: {
37872
37876
  title: "GENERATORS",
37877
+ unnamed: "Unnamed Generator",
37878
+ edit: "Edit Generator",
37873
37879
  noChildren: "No generators yet. Please add one using the buttons below.",
37874
37880
  type: {
37875
37881
  clock: "Clock"
@@ -37881,6 +37887,11 @@ Data Directory: ${system.dataDirectory}`
37881
37887
  },
37882
37888
  outputs: {
37883
37889
  title: "OUTPUTS",
37890
+ unnamed: "Unnamed Output",
37891
+ enable: "Enable Output",
37892
+ disable: "Disable Output",
37893
+ link: "Link Output",
37894
+ edit: "Edit Output",
37884
37895
  noChildren: "No outputs yet. Please add one using the buttons below.",
37885
37896
  addButton: (protocol) => `Add ${protocol}`,
37886
37897
  addDialog: (protocol) => `Add ${protocol} Output`,
@@ -38378,12 +38389,14 @@ Data Directory: ${system.dataDirectory}`
38378
38389
  return t4;
38379
38390
  };
38380
38391
  var TimecodeDisplay = (t0) => {
38381
- const $ = (0, import_compiler_runtime7.c)(71);
38392
+ const $ = (0, import_compiler_runtime7.c)(72);
38382
38393
  const {
38383
38394
  id,
38384
38395
  timecode: t1,
38385
38396
  config,
38386
- headerComponents
38397
+ headerComponents,
38398
+ disabled,
38399
+ rootState
38387
38400
  } = t0;
38388
38401
  const {
38389
38402
  state,
@@ -38526,7 +38539,7 @@ Data Directory: ${system.dataDirectory}`
38526
38539
  let t11;
38527
38540
  if ($[26] !== headerComponents) {
38528
38541
  t11 = headerComponents && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38529
- className: "flex flex-wrap gap-0.25",
38542
+ className: "flex gap-0.25",
38530
38543
  children: headerComponents
38531
38544
  });
38532
38545
  $[26] = headerComponents;
@@ -38534,72 +38547,54 @@ Data Directory: ${system.dataDirectory}`
38534
38547
  } else {
38535
38548
  t11 = $[27];
38536
38549
  }
38537
- const t12 = state?.state === "stopped";
38538
- let t13;
38539
- if ($[28] !== hooks?.pause || $[29] !== hooks?.play || $[30] !== t12) {
38540
- t13 = cn("relative min-h-timecode-min-height grow", cnd(t12, "opacity-50"), cnd(hooks?.play && hooks?.pause, `
38541
- cursor-pointer
38542
- hover:opacity-100
38543
- `));
38544
- $[28] = hooks?.pause;
38545
- $[29] = hooks?.play;
38546
- $[30] = t12;
38547
- $[31] = t13;
38548
- } else {
38549
- t13 = $[31];
38550
- }
38551
- let t14;
38552
- if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
38553
- t14 = cn("font-mono text-timecode-adaptive");
38554
- $[32] = t14;
38555
- } else {
38556
- t14 = $[32];
38557
- }
38558
- let t15;
38559
- if ($[33] !== state.effectiveStartTimeMillis || $[34] !== state.positionMillis || $[35] !== state.speed || $[36] !== state.state) {
38560
- t15 = state.state === "none" ? "--:--:--:---" : state.state === "stopped" ? displayMillis(state.positionMillis) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ActiveTimecodeText, {
38561
- effectiveStartTimeMillis: state.effectiveStartTimeMillis,
38562
- speed: state.speed
38563
- });
38564
- $[33] = state.effectiveStartTimeMillis;
38565
- $[34] = state.positionMillis;
38566
- $[35] = state.speed;
38567
- $[36] = state.state;
38568
- $[37] = t15;
38569
- } else {
38570
- t15 = $[37];
38571
- }
38572
- let t16;
38573
- if ($[38] !== t15) {
38574
- t16 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38575
- className: "absolute inset-0 flex items-center justify-center",
38550
+ let t12;
38551
+ if ($[28] !== disabled || $[29] !== hooks?.pause || $[30] !== hooks?.play || $[31] !== state.effectiveStartTimeMillis || $[32] !== state.positionMillis || $[33] !== state.speed || $[34] !== state.state) {
38552
+ t12 = disabled ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SizeAwareDiv, {
38553
+ className: "\n pointer-events-none absolute inset-0 flex items-center\n justify-center\n ",
38554
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon2, {
38555
+ icon: "pause",
38556
+ className: "text-timecode-adaptive"
38557
+ })
38558
+ }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38559
+ className: cn("absolute inset-0 flex items-center justify-center", cnd(state?.state === "stopped", "opacity-50"), cnd(hooks?.play && hooks?.pause, `
38560
+ cursor-pointer
38561
+ hover:opacity-100
38562
+ `)),
38576
38563
  children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", {
38577
- className: t14,
38578
- children: t15
38564
+ className: cn("font-mono text-timecode-adaptive"),
38565
+ children: state.state === "none" ? "--:--:--:---" : state.state === "stopped" ? displayMillis(state.positionMillis) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ActiveTimecodeText, {
38566
+ effectiveStartTimeMillis: state.effectiveStartTimeMillis,
38567
+ speed: state.speed
38568
+ })
38579
38569
  })
38580
38570
  });
38581
- $[38] = t15;
38582
- $[39] = t16;
38571
+ $[28] = disabled;
38572
+ $[29] = hooks?.pause;
38573
+ $[30] = hooks?.play;
38574
+ $[31] = state.effectiveStartTimeMillis;
38575
+ $[32] = state.positionMillis;
38576
+ $[33] = state.speed;
38577
+ $[34] = state.state;
38578
+ $[35] = t12;
38583
38579
  } else {
38584
- t16 = $[39];
38580
+ t12 = $[35];
38585
38581
  }
38586
- let t17;
38587
- if ($[40] !== t13 || $[41] !== t16 || $[42] !== toggle) {
38588
- t17 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SizeAwareDiv, {
38589
- className: t13,
38582
+ let t13;
38583
+ if ($[36] !== t12 || $[37] !== toggle) {
38584
+ t13 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SizeAwareDiv, {
38585
+ className: "relative min-h-timecode-min-height grow",
38590
38586
  onClick: toggle,
38591
- children: t16
38587
+ children: t12
38592
38588
  });
38593
- $[40] = t13;
38594
- $[41] = t16;
38595
- $[42] = toggle;
38596
- $[43] = t17;
38589
+ $[36] = t12;
38590
+ $[37] = toggle;
38591
+ $[38] = t13;
38597
38592
  } else {
38598
- t17 = $[43];
38593
+ t13 = $[38];
38599
38594
  }
38600
- let t18;
38601
- if ($[44] !== back5seconds || $[45] !== beginning || $[46] !== forward5seconds || $[47] !== hooks || $[48] !== pause || $[49] !== play || $[50] !== state.state) {
38602
- t18 = hooks?.pause || hooks?.play ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38595
+ let t14;
38596
+ if ($[39] !== back5seconds || $[40] !== beginning || $[41] !== forward5seconds || $[42] !== hooks || $[43] !== pause || $[44] !== play || $[45] !== state.state) {
38597
+ t14 = hooks?.pause || hooks?.play ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38603
38598
  className: "flex justify-center gap-px",
38604
38599
  children: [hooks.beginning && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ControlButton, {
38605
38600
  onClick: beginning,
@@ -38638,47 +38633,47 @@ Data Directory: ${system.dataDirectory}`
38638
38633
  className: "text-timecode-usage-foreground!"
38639
38634
  })]
38640
38635
  }) : null;
38641
- $[44] = back5seconds;
38642
- $[45] = beginning;
38643
- $[46] = forward5seconds;
38644
- $[47] = hooks;
38645
- $[48] = pause;
38646
- $[49] = play;
38647
- $[50] = state.state;
38648
- $[51] = t18;
38636
+ $[39] = back5seconds;
38637
+ $[40] = beginning;
38638
+ $[41] = forward5seconds;
38639
+ $[42] = hooks;
38640
+ $[43] = pause;
38641
+ $[44] = play;
38642
+ $[45] = state.state;
38643
+ $[46] = t14;
38649
38644
  } else {
38650
- t18 = $[51];
38645
+ t14 = $[46];
38651
38646
  }
38652
- let t19;
38653
- if ($[52] !== metadata || $[53] !== state) {
38654
- t19 = metadata?.totalTime && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Timeline2, {
38647
+ let t15;
38648
+ if ($[47] !== metadata || $[48] !== state) {
38649
+ t15 = metadata?.totalTime && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Timeline2, {
38655
38650
  state,
38656
38651
  totalTime: metadata.totalTime
38657
38652
  });
38658
- $[52] = metadata;
38659
- $[53] = state;
38660
- $[54] = t19;
38653
+ $[47] = metadata;
38654
+ $[48] = state;
38655
+ $[49] = t15;
38661
38656
  } else {
38662
- t19 = $[54];
38657
+ t15 = $[49];
38663
38658
  }
38664
- let t20;
38665
- if ($[55] !== t10 || $[56] !== t11 || $[57] !== t17 || $[58] !== t18 || $[59] !== t19) {
38666
- t20 = /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38659
+ let t16;
38660
+ if ($[50] !== t10 || $[51] !== t11 || $[52] !== t13 || $[53] !== t14 || $[54] !== t15) {
38661
+ t16 = /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38667
38662
  className: t10,
38668
- children: [t11, t17, t18, t19]
38663
+ children: [t11, t13, t14, t15]
38669
38664
  });
38670
- $[55] = t10;
38671
- $[56] = t11;
38672
- $[57] = t17;
38673
- $[58] = t18;
38674
- $[59] = t19;
38675
- $[60] = t20;
38665
+ $[50] = t10;
38666
+ $[51] = t11;
38667
+ $[52] = t13;
38668
+ $[53] = t14;
38669
+ $[54] = t15;
38670
+ $[55] = t16;
38676
38671
  } else {
38677
- t20 = $[60];
38672
+ t16 = $[55];
38678
38673
  }
38679
- let t21;
38680
- if ($[61] !== config || $[62] !== state.accuracyMillis || $[63] !== state.smpteMode) {
38681
- t21 = (state.smpteMode !== null || state.accuracyMillis !== null || config.delayMs !== null) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38674
+ let t17;
38675
+ if ($[56] !== config || $[57] !== state.accuracyMillis || $[58] !== state.smpteMode) {
38676
+ t17 = (state.smpteMode !== null || state.accuracyMillis !== null || config.delayMs !== null) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38682
38677
  className: "flex gap-px",
38683
38678
  children: [config.delayMs !== null && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38684
38679
  className: "grow basis-0 truncate bg-sigil-bg-light p-0.5",
@@ -38691,16 +38686,16 @@ Data Directory: ${system.dataDirectory}`
38691
38686
  children: STRINGS.accuracy(state.accuracyMillis)
38692
38687
  })]
38693
38688
  });
38694
- $[61] = config;
38695
- $[62] = state.accuracyMillis;
38696
- $[63] = state.smpteMode;
38697
- $[64] = t21;
38689
+ $[56] = config;
38690
+ $[57] = state.accuracyMillis;
38691
+ $[58] = state.smpteMode;
38692
+ $[59] = t17;
38698
38693
  } else {
38699
- t21 = $[64];
38694
+ t17 = $[59];
38700
38695
  }
38701
- let t22;
38702
- if ($[65] !== metadata) {
38703
- t22 = metadata?.artist || metadata?.title ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TooltipWrapper, {
38696
+ let t18;
38697
+ if ($[60] !== metadata) {
38698
+ t18 = metadata?.artist || metadata?.title ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TooltipWrapper, {
38704
38699
  tooltip: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, {
38705
38700
  children: [metadata.title && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38706
38701
  children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", {
@@ -38725,25 +38720,77 @@ Data Directory: ${system.dataDirectory}`
38725
38720
  })]
38726
38721
  })
38727
38722
  }) : null;
38728
- $[65] = metadata;
38729
- $[66] = t22;
38723
+ $[60] = metadata;
38724
+ $[61] = t18;
38730
38725
  } else {
38731
- t22 = $[66];
38726
+ t18 = $[61];
38732
38727
  }
38733
- let t23;
38734
- if ($[67] !== t20 || $[68] !== t21 || $[69] !== t22) {
38735
- t23 = /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38728
+ let t19;
38729
+ if ($[62] !== rootState.errors) {
38730
+ t19 = rootState.errors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38731
+ className: "flex gap-px",
38732
+ children: rootState.errors.map(_temp)
38733
+ });
38734
+ $[62] = rootState.errors;
38735
+ $[63] = t19;
38736
+ } else {
38737
+ t19 = $[63];
38738
+ }
38739
+ let t20;
38740
+ if ($[64] !== rootState.warnings) {
38741
+ t20 = rootState.warnings.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38742
+ className: "flex gap-px",
38743
+ children: rootState.warnings.map(_temp2)
38744
+ });
38745
+ $[64] = rootState.warnings;
38746
+ $[65] = t20;
38747
+ } else {
38748
+ t20 = $[65];
38749
+ }
38750
+ let t21;
38751
+ if ($[66] !== t16 || $[67] !== t17 || $[68] !== t18 || $[69] !== t19 || $[70] !== t20) {
38752
+ t21 = /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38736
38753
  className: "flex grow flex-col gap-px",
38737
- children: [t20, t21, t22]
38754
+ children: [t16, t17, t18, t19, t20]
38738
38755
  });
38739
- $[67] = t20;
38740
- $[68] = t21;
38741
- $[69] = t22;
38742
- $[70] = t23;
38756
+ $[66] = t16;
38757
+ $[67] = t17;
38758
+ $[68] = t18;
38759
+ $[69] = t19;
38760
+ $[70] = t20;
38761
+ $[71] = t21;
38743
38762
  } else {
38744
- t23 = $[70];
38763
+ t21 = $[71];
38745
38764
  }
38746
- return t23;
38765
+ return t21;
38766
+ };
38767
+ var getLinkedSourceInfo = (link, config) => {
38768
+ if (!link) {
38769
+ return void 0;
38770
+ }
38771
+ let info = void 0;
38772
+ if (link[0] === "input") {
38773
+ const input = config.inputs?.[link[1]];
38774
+ if (input) {
38775
+ info = {
38776
+ color: input.color,
38777
+ type: STRINGS.protocols[input.definition.type].short,
38778
+ name: input.name ? [input.name] : [],
38779
+ namePlaceholder: STRINGS.inputs.unnamed
38780
+ };
38781
+ }
38782
+ } else if (link[0] === "generator") {
38783
+ const generator = config.generators?.[link[1]];
38784
+ if (generator) {
38785
+ info = {
38786
+ color: generator.color,
38787
+ type: STRINGS.generators.type[generator.definition.type],
38788
+ name: generator.name ? [generator.name] : [],
38789
+ namePlaceholder: STRINGS.generators.unnamed
38790
+ };
38791
+ }
38792
+ }
38793
+ return info;
38747
38794
  };
38748
38795
  var EMPTY_TIMECODE = {
38749
38796
  name: null,
@@ -38763,8 +38810,10 @@ Data Directory: ${system.dataDirectory}`
38763
38810
  id,
38764
38811
  type,
38765
38812
  name,
38813
+ link,
38766
38814
  color,
38767
38815
  timecode,
38816
+ rootState,
38768
38817
  namePlaceholder,
38769
38818
  buttons,
38770
38819
  assignToOutput
@@ -38784,8 +38833,8 @@ Data Directory: ${system.dataDirectory}`
38784
38833
  });
38785
38834
  }
38786
38835
  }, [id, openNewWidow]);
38787
- name = timecode?.name ? [...name, timecode.name] : name;
38788
- if (isTimecodeGroup(timecode) && Object.values(timecode.timecodes).length) {
38836
+ name = timecode !== "disabled" && timecode?.name ? [...name, timecode.name] : name;
38837
+ if (timecode !== "disabled" && isTimecodeGroup(timecode) && Object.values(timecode.timecodes).length) {
38789
38838
  return Object.entries(timecode.timecodes).map(([key, child]) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TimecodeTreeDisplay, {
38790
38839
  config,
38791
38840
  id: extendId(id, key),
@@ -38793,6 +38842,7 @@ Data Directory: ${system.dataDirectory}`
38793
38842
  name,
38794
38843
  color: timecode.color ?? color,
38795
38844
  timecode: child,
38845
+ rootState,
38796
38846
  namePlaceholder,
38797
38847
  buttons,
38798
38848
  assignToOutput
@@ -38803,18 +38853,47 @@ Data Directory: ${system.dataDirectory}`
38803
38853
  style: color && cssSigilColorUsageVariables("timecode-usage", sigilColorUsage(color)),
38804
38854
  children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TimecodeDisplay, {
38805
38855
  id,
38806
- timecode: isTimecodeInstance(timecode) ? timecode : EMPTY_TIMECODE,
38856
+ timecode: timecode !== "disabled" && isTimecodeInstance(timecode) ? timecode : EMPTY_TIMECODE,
38857
+ rootState,
38858
+ disabled: timecode === "disabled",
38807
38859
  config,
38808
38860
  headerComponents: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, {
38809
- children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38810
- className: "flex grow items-start gap-0.25",
38811
- children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38812
- className: " m-0.25 rounded-md border border-sigil-bg-light bg-timecode-usage-foreground px-1 py-0.25 text-sigil-control text-timecode-usage-text ",
38813
- children: type
38814
- }), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38815
- className: cn("grow basis-0 truncate p-0.5", cnd(name.length, "font-bold", "italic opacity-50")),
38816
- children: name.length ? name.join(" / ") : namePlaceholder
38817
- })]
38861
+ children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38862
+ className: "flex grow basis-0 items-start gap-0.25",
38863
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38864
+ className: "grow",
38865
+ children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38866
+ className: "flex items-center gap-0.25",
38867
+ children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38868
+ className: " m-0.25 rounded-md border border-sigil-bg-light bg-timecode-usage-foreground px-1 py-0.25 text-sigil-control text-timecode-usage-text ",
38869
+ children: type
38870
+ }), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38871
+ className: cn("w-0 grow truncate p-0.5", cnd(name.length, "font-bold", "italic opacity-50")),
38872
+ children: name.length ? name.join(" / ") : namePlaceholder
38873
+ })]
38874
+ }), link && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38875
+ className: " flex items-center gap-0.25 text-timecode-usage-foreground ",
38876
+ style: cssSigilColorUsageVariables(
38877
+ "timecode-usage",
38878
+ // Override timecode color with the user hint preferences
38879
+ // when no color is specified
38880
+ // as that will be what's used by the linked input/generator
38881
+ sigilColorUsage(link.color ?? "hint")
38882
+ ),
38883
+ children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", {
38884
+ className: " m-0.25 flex items-center gap-0.25 rounded-md border border-sigil-bg-light bg-timecode-usage-foreground px-1 py-0.25 text-sigil-control text-timecode-usage-text ",
38885
+ children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon2, {
38886
+ icon: "link",
38887
+ className: "text-[120%]"
38888
+ }), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", {
38889
+ children: link.type
38890
+ })]
38891
+ }), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
38892
+ className: cn("w-0 grow truncate p-0.5", cnd(link.name.length, "font-bold", "italic opacity-50")),
38893
+ children: link.name.length ? link.name.join(" / ") : link.namePlaceholder
38894
+ })]
38895
+ })]
38896
+ })
38818
38897
  }), /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ControlButtonGroup, {
38819
38898
  className: "rounded-md bg-sigil-bg-light",
38820
38899
  children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ControlButton, {
@@ -38836,7 +38915,7 @@ Data Directory: ${system.dataDirectory}`
38836
38915
  });
38837
38916
  };
38838
38917
  var FullscreenTimecodeDisplay = (t0) => {
38839
- const $ = (0, import_compiler_runtime7.c)(38);
38918
+ const $ = (0, import_compiler_runtime7.c)(64);
38840
38919
  const {
38841
38920
  id
38842
38921
  } = t0;
@@ -38858,7 +38937,7 @@ Data Directory: ${system.dataDirectory}`
38858
38937
  t1 = t22;
38859
38938
  } else {
38860
38939
  const c = config.outputs[id[1]];
38861
- if (!c) {
38940
+ if (!c || !c.enabled) {
38862
38941
  t1 = null;
38863
38942
  break bb0;
38864
38943
  }
@@ -38875,146 +38954,255 @@ Data Directory: ${system.dataDirectory}`
38875
38954
  }
38876
38955
  const timecode = t1;
38877
38956
  let t2;
38878
- bb1: if (isInputInstanceId(id)) {
38879
- const c_0 = config.inputs[id[1]];
38880
- if (!c_0) {
38881
- t2 = null;
38882
- break bb1;
38957
+ bb1: {
38958
+ if (isOutputInstanceId(id)) {
38959
+ const c_0 = config.outputs[id[1]];
38960
+ if (c_0?.link) {
38961
+ let t32;
38962
+ if ($[6] !== c_0.link || $[7] !== config) {
38963
+ t32 = getLinkedSourceInfo(c_0.link, config);
38964
+ $[6] = c_0.link;
38965
+ $[7] = config;
38966
+ $[8] = t32;
38967
+ } else {
38968
+ t32 = $[8];
38969
+ }
38970
+ t2 = t32;
38971
+ break bb1;
38972
+ }
38883
38973
  }
38884
- const t32 = c_0.delayMs ?? null;
38885
- let t4;
38886
- if ($[6] !== t32) {
38887
- t4 = {
38888
- delayMs: t32
38974
+ t2 = void 0;
38975
+ }
38976
+ const linkedSourceInfo = t2;
38977
+ let t3;
38978
+ bb2: if (isInputInstanceId(id)) {
38979
+ const c_1 = config.inputs[id[1]];
38980
+ if (!c_1) {
38981
+ t3 = null;
38982
+ break bb2;
38983
+ }
38984
+ const t42 = c_1.delayMs ?? null;
38985
+ let t52;
38986
+ if ($[9] !== t42) {
38987
+ t52 = {
38988
+ delayMs: t42
38889
38989
  };
38890
- $[6] = t32;
38891
- $[7] = t4;
38990
+ $[9] = t42;
38991
+ $[10] = t52;
38892
38992
  } else {
38893
- t4 = $[7];
38993
+ t52 = $[10];
38894
38994
  }
38895
- const t5 = STRINGS.protocols[c_0.definition.type];
38896
- let t6;
38897
- if ($[8] !== c_0.name) {
38898
- t6 = c_0.name ? [c_0.name] : [];
38899
- $[8] = c_0.name;
38900
- $[9] = t6;
38995
+ const t62 = STRINGS.protocols[c_1.definition.type];
38996
+ let t7;
38997
+ if ($[11] !== c_1.name) {
38998
+ t7 = c_1.name ? [c_1.name] : [];
38999
+ $[11] = c_1.name;
39000
+ $[12] = t7;
38901
39001
  } else {
38902
- t6 = $[9];
39002
+ t7 = $[12];
38903
39003
  }
38904
- let t7;
38905
- if ($[10] !== c_0.color || $[11] !== t4 || $[12] !== t5.short || $[13] !== t6) {
38906
- t7 = {
38907
- config: t4,
38908
- type: t5.short,
38909
- name: t6,
38910
- color: c_0.color,
38911
- namePlaceholder: `Unnamed Input`
39004
+ const t8 = !c_1.enabled;
39005
+ let t9;
39006
+ if ($[13] !== c_1.color || $[14] !== t52 || $[15] !== t62.short || $[16] !== t7 || $[17] !== t8) {
39007
+ t9 = {
39008
+ config: t52,
39009
+ type: t62.short,
39010
+ name: t7,
39011
+ color: c_1.color,
39012
+ namePlaceholder: STRINGS.inputs.unnamed,
39013
+ disabled: t8
38912
39014
  };
38913
- $[10] = c_0.color;
38914
- $[11] = t4;
38915
- $[12] = t5.short;
38916
- $[13] = t6;
38917
- $[14] = t7;
39015
+ $[13] = c_1.color;
39016
+ $[14] = t52;
39017
+ $[15] = t62.short;
39018
+ $[16] = t7;
39019
+ $[17] = t8;
39020
+ $[18] = t9;
38918
39021
  } else {
38919
- t7 = $[14];
39022
+ t9 = $[18];
38920
39023
  }
38921
- t2 = t7;
39024
+ t3 = t9;
38922
39025
  } else {
38923
39026
  if (isGeneratorInstanceId(id)) {
38924
- const c_1 = config.generators[id[1]];
38925
- if (!c_1) {
38926
- t2 = null;
38927
- break bb1;
39027
+ const c_2 = config.generators[id[1]];
39028
+ if (!c_2) {
39029
+ t3 = null;
39030
+ break bb2;
39031
+ }
39032
+ const t42 = c_2.delayMs ?? null;
39033
+ let t52;
39034
+ if ($[19] !== t42) {
39035
+ t52 = {
39036
+ delayMs: t42
39037
+ };
39038
+ $[19] = t42;
39039
+ $[20] = t52;
39040
+ } else {
39041
+ t52 = $[20];
38928
39042
  }
38929
- const t32 = c_1.delayMs ?? null;
38930
- let t4;
38931
- if ($[15] !== t32) {
38932
- t4 = {
38933
- delayMs: t32
39043
+ const t62 = STRINGS.generators.type[c_2.definition.type];
39044
+ let t7;
39045
+ if ($[21] !== c_2.name) {
39046
+ t7 = c_2.name ? [c_2.name] : [];
39047
+ $[21] = c_2.name;
39048
+ $[22] = t7;
39049
+ } else {
39050
+ t7 = $[22];
39051
+ }
39052
+ let t8;
39053
+ if ($[23] !== c_2.color || $[24] !== t52 || $[25] !== t62 || $[26] !== t7) {
39054
+ t8 = {
39055
+ config: t52,
39056
+ type: t62,
39057
+ name: t7,
39058
+ color: c_2.color,
39059
+ namePlaceholder: STRINGS.generators.unnamed,
39060
+ disabled: false
38934
39061
  };
38935
- $[15] = t32;
38936
- $[16] = t4;
39062
+ $[23] = c_2.color;
39063
+ $[24] = t52;
39064
+ $[25] = t62;
39065
+ $[26] = t7;
39066
+ $[27] = t8;
38937
39067
  } else {
38938
- t4 = $[16];
38939
- }
38940
- const t5 = STRINGS.generators.type[c_1.definition.type];
38941
- let t6;
38942
- if ($[17] !== c_1.name) {
38943
- t6 = c_1.name ? [c_1.name] : [];
38944
- $[17] = c_1.name;
38945
- $[18] = t6;
39068
+ t8 = $[27];
39069
+ }
39070
+ t3 = t8;
39071
+ } else {
39072
+ const c_3 = config.outputs[id[1]];
39073
+ if (!c_3) {
39074
+ t3 = null;
39075
+ break bb2;
39076
+ }
39077
+ const t42 = c_3.delayMs ?? null;
39078
+ let t52;
39079
+ if ($[28] !== t42) {
39080
+ t52 = {
39081
+ delayMs: t42
39082
+ };
39083
+ $[28] = t42;
39084
+ $[29] = t52;
38946
39085
  } else {
38947
- t6 = $[18];
39086
+ t52 = $[29];
38948
39087
  }
39088
+ const t62 = STRINGS.protocols[c_3.definition.type];
38949
39089
  let t7;
38950
- if ($[19] !== c_1.color || $[20] !== t4 || $[21] !== t5 || $[22] !== t6) {
38951
- t7 = {
38952
- config: t4,
38953
- type: t5,
38954
- name: t6,
38955
- color: c_1.color,
38956
- namePlaceholder: `Unnamed Generator`
39090
+ if ($[30] !== c_3.name) {
39091
+ t7 = c_3.name ? [c_3.name] : [];
39092
+ $[30] = c_3.name;
39093
+ $[31] = t7;
39094
+ } else {
39095
+ t7 = $[31];
39096
+ }
39097
+ const t8 = !c_3.enabled;
39098
+ let t9;
39099
+ if ($[32] !== c_3.color || $[33] !== t52 || $[34] !== t62.short || $[35] !== t7 || $[36] !== t8) {
39100
+ t9 = {
39101
+ config: t52,
39102
+ type: t62.short,
39103
+ name: t7,
39104
+ color: c_3.color,
39105
+ namePlaceholder: STRINGS.outputs.unnamed,
39106
+ disabled: t8
38957
39107
  };
38958
- $[19] = c_1.color;
38959
- $[20] = t4;
38960
- $[21] = t5;
38961
- $[22] = t6;
38962
- $[23] = t7;
39108
+ $[32] = c_3.color;
39109
+ $[33] = t52;
39110
+ $[34] = t62.short;
39111
+ $[35] = t7;
39112
+ $[36] = t8;
39113
+ $[37] = t9;
38963
39114
  } else {
38964
- t7 = $[23];
39115
+ t9 = $[37];
38965
39116
  }
38966
- t2 = t7;
39117
+ t3 = t9;
39118
+ }
39119
+ }
39120
+ const instanceConfig = t3;
39121
+ let t4;
39122
+ if (isInputInstanceId(id)) {
39123
+ let t52;
39124
+ if ($[38] !== applicationState.inputs || $[39] !== id[1]) {
39125
+ t52 = applicationState.inputs?.[id[1]]?.errors ?? [];
39126
+ $[38] = applicationState.inputs;
39127
+ $[39] = id[1];
39128
+ $[40] = t52;
38967
39129
  } else {
38968
- const c_2 = config.outputs[id[1]];
38969
- if (!c_2) {
38970
- t2 = null;
38971
- break bb1;
38972
- }
38973
- const t32 = c_2.delayMs ?? null;
38974
- let t4;
38975
- if ($[24] !== t32) {
38976
- t4 = {
38977
- delayMs: t32
39130
+ t52 = $[40];
39131
+ }
39132
+ let t62;
39133
+ if ($[41] !== applicationState.inputs || $[42] !== id[1]) {
39134
+ t62 = applicationState.inputs?.[id[1]]?.warnings ?? [];
39135
+ $[41] = applicationState.inputs;
39136
+ $[42] = id[1];
39137
+ $[43] = t62;
39138
+ } else {
39139
+ t62 = $[43];
39140
+ }
39141
+ let t7;
39142
+ if ($[44] !== t52 || $[45] !== t62) {
39143
+ t7 = {
39144
+ errors: t52,
39145
+ warnings: t62
39146
+ };
39147
+ $[44] = t52;
39148
+ $[45] = t62;
39149
+ $[46] = t7;
39150
+ } else {
39151
+ t7 = $[46];
39152
+ }
39153
+ t4 = t7;
39154
+ } else {
39155
+ if (isGeneratorInstanceId(id)) {
39156
+ let t52;
39157
+ if ($[47] === Symbol.for("react.memo_cache_sentinel")) {
39158
+ t52 = {
39159
+ errors: [],
39160
+ warnings: []
38978
39161
  };
38979
- $[24] = t32;
38980
- $[25] = t4;
39162
+ $[47] = t52;
39163
+ } else {
39164
+ t52 = $[47];
39165
+ }
39166
+ t4 = t52;
39167
+ } else {
39168
+ let t52;
39169
+ if ($[48] !== applicationState.outputs || $[49] !== id[1]) {
39170
+ t52 = applicationState.outputs?.[id[1]]?.errors ?? [];
39171
+ $[48] = applicationState.outputs;
39172
+ $[49] = id[1];
39173
+ $[50] = t52;
38981
39174
  } else {
38982
- t4 = $[25];
38983
- }
38984
- const t5 = STRINGS.protocols[c_2.definition.type];
38985
- let t6;
38986
- if ($[26] !== c_2.name) {
38987
- t6 = c_2.name ? [c_2.name] : [];
38988
- $[26] = c_2.name;
38989
- $[27] = t6;
39175
+ t52 = $[50];
39176
+ }
39177
+ let t62;
39178
+ if ($[51] !== applicationState.outputs || $[52] !== id[1]) {
39179
+ t62 = applicationState.outputs?.[id[1]]?.warnings ?? [];
39180
+ $[51] = applicationState.outputs;
39181
+ $[52] = id[1];
39182
+ $[53] = t62;
38990
39183
  } else {
38991
- t6 = $[27];
39184
+ t62 = $[53];
38992
39185
  }
38993
39186
  let t7;
38994
- if ($[28] !== c_2.color || $[29] !== t4 || $[30] !== t5.short || $[31] !== t6) {
39187
+ if ($[54] !== t52 || $[55] !== t62) {
38995
39188
  t7 = {
38996
- config: t4,
38997
- type: t5.short,
38998
- name: t6,
38999
- color: c_2.color,
39000
- namePlaceholder: `Unnamed Output`
39189
+ errors: t52,
39190
+ warnings: t62
39001
39191
  };
39002
- $[28] = c_2.color;
39003
- $[29] = t4;
39004
- $[30] = t5.short;
39005
- $[31] = t6;
39006
- $[32] = t7;
39192
+ $[54] = t52;
39193
+ $[55] = t62;
39194
+ $[56] = t7;
39007
39195
  } else {
39008
- t7 = $[32];
39196
+ t7 = $[56];
39009
39197
  }
39010
- t2 = t7;
39198
+ t4 = t7;
39011
39199
  }
39012
39200
  }
39013
- const instanceConfig = t2;
39201
+ const rootState = t4;
39014
39202
  if (!instanceConfig) {
39015
- let t32;
39016
- if ($[33] === Symbol.for("react.memo_cache_sentinel")) {
39017
- t32 = /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(SizeAwareDiv, {
39203
+ let t52;
39204
+ if ($[57] === Symbol.for("react.memo_cache_sentinel")) {
39205
+ t52 = /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(SizeAwareDiv, {
39018
39206
  className: "\n flex grow flex-col items-center justify-center gap-1 bg-sigil-bg-light\n p-1 text-sigil-foreground-muted\n ",
39019
39207
  children: [/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon2, {
39020
39208
  icon: "question_mark",
@@ -39024,33 +39212,50 @@ Data Directory: ${system.dataDirectory}`
39024
39212
  children: STRINGS.errors.unknownTimecodeID
39025
39213
  })]
39026
39214
  });
39027
- $[33] = t32;
39215
+ $[57] = t52;
39028
39216
  } else {
39029
- t32 = $[33];
39217
+ t52 = $[57];
39030
39218
  }
39031
- return t32;
39219
+ return t52;
39032
39220
  }
39033
- let t3;
39034
- if ($[34] !== id || $[35] !== instanceConfig || $[36] !== timecode) {
39035
- t3 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
39221
+ const t5 = instanceConfig.disabled ? "disabled" : timecode;
39222
+ let t6;
39223
+ if ($[58] !== id || $[59] !== instanceConfig || $[60] !== linkedSourceInfo || $[61] !== rootState || $[62] !== t5) {
39224
+ t6 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
39036
39225
  className: "\n flex h-0 grow flex-col gap-px overflow-y-auto bg-sigil-border\n scrollbar-sigil\n ",
39037
39226
  children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(TimecodeTreeDisplay, {
39038
39227
  id,
39039
- timecode,
39228
+ timecode: t5,
39229
+ rootState,
39040
39230
  assignToOutput: null,
39041
39231
  buttons: null,
39232
+ link: linkedSourceInfo,
39042
39233
  ...instanceConfig
39043
39234
  })
39044
39235
  });
39045
- $[34] = id;
39046
- $[35] = instanceConfig;
39047
- $[36] = timecode;
39048
- $[37] = t3;
39236
+ $[58] = id;
39237
+ $[59] = instanceConfig;
39238
+ $[60] = linkedSourceInfo;
39239
+ $[61] = rootState;
39240
+ $[62] = t5;
39241
+ $[63] = t6;
39049
39242
  } else {
39050
- t3 = $[37];
39243
+ t6 = $[63];
39051
39244
  }
39052
- return t3;
39245
+ return t6;
39053
39246
  };
39247
+ function _temp(error, index2) {
39248
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
39249
+ className: "\n grow truncate bg-sigil-usage-red-background p-0.5\n text-sigil-usage-red-text\n ",
39250
+ children: error
39251
+ }, index2);
39252
+ }
39253
+ function _temp2(warning, index_0) {
39254
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {
39255
+ className: "\n grow truncate bg-sigil-usage-orange-background p-0.5\n text-sigil-usage-orange-text\n ",
39256
+ children: warning
39257
+ }, index_0);
39258
+ }
39054
39259
 
39055
39260
  // ../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js
39056
39261
  var byteToHex = [];
@@ -39317,7 +39522,7 @@ Data Directory: ${system.dataDirectory}`
39317
39522
  })
39318
39523
  }), /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlSelect, {
39319
39524
  value: data.target.interface ?? null,
39320
- options: !interfaces ? [] : Object.values(interfaces).map(_temp),
39525
+ options: !interfaces ? [] : Object.values(interfaces).map(_temp3),
39321
39526
  placeholder: "No Interface Selected",
39322
39527
  onChange: (value) => {
39323
39528
  updateSettings((current_0) => ({
@@ -39428,7 +39633,7 @@ Data Directory: ${system.dataDirectory}`
39428
39633
  const t14 = data.mode;
39429
39634
  let t15;
39430
39635
  if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
39431
- t15 = Object.entries(STRINGS.smtpeModeOptions).map(_temp2);
39636
+ t15 = Object.entries(STRINGS.smtpeModeOptions).map(_temp22);
39432
39637
  $[29] = t15;
39433
39638
  } else {
39434
39639
  t15 = $[29];
@@ -39643,7 +39848,7 @@ Data Directory: ${system.dataDirectory}`
39643
39848
  });
39644
39849
  };
39645
39850
  var OutputDisplay = (t0) => {
39646
- const $ = (0, import_compiler_runtime9.c)(57);
39851
+ const $ = (0, import_compiler_runtime9.c)(71);
39647
39852
  const {
39648
39853
  uuid,
39649
39854
  config,
@@ -39653,6 +39858,7 @@ Data Directory: ${system.dataDirectory}`
39653
39858
  } = t0;
39654
39859
  const applicationState = useApplicationState();
39655
39860
  const {
39861
+ config: allConfig,
39656
39862
  updateConfig
39657
39863
  } = (0, import_react33.useContext)(ConfigContext);
39658
39864
  let t1;
@@ -39717,8 +39923,20 @@ Data Directory: ${system.dataDirectory}`
39717
39923
  t3 = t5;
39718
39924
  const timecode = t3;
39719
39925
  let t6;
39720
- if ($[13] !== updateConfig || $[14] !== uuid) {
39721
- t6 = () => {
39926
+ let t7;
39927
+ if ($[13] !== allConfig || $[14] !== config.link) {
39928
+ t7 = getLinkedSourceInfo(config.link, allConfig);
39929
+ $[13] = allConfig;
39930
+ $[14] = config.link;
39931
+ $[15] = t7;
39932
+ } else {
39933
+ t7 = $[15];
39934
+ }
39935
+ t6 = t7;
39936
+ const link = t6;
39937
+ let t8;
39938
+ if ($[16] !== updateConfig || $[17] !== uuid) {
39939
+ t8 = () => {
39722
39940
  updateConfig((current_1) => {
39723
39941
  const existing = current_1.outputs?.[uuid];
39724
39942
  if (!existing) {
@@ -39736,90 +39954,123 @@ Data Directory: ${system.dataDirectory}`
39736
39954
  };
39737
39955
  });
39738
39956
  };
39739
- $[13] = updateConfig;
39740
- $[14] = uuid;
39741
- $[15] = t6;
39957
+ $[16] = updateConfig;
39958
+ $[17] = uuid;
39959
+ $[18] = t8;
39742
39960
  } else {
39743
- t6 = $[15];
39961
+ t8 = $[18];
39744
39962
  }
39745
- const toggleEnabled = t6;
39746
- let t7;
39747
- if ($[16] !== config.color) {
39748
- t7 = config.color && cssSigilColorUsageVariables("timecode-usage", sigilColorUsage(config.color));
39749
- $[16] = config.color;
39750
- $[17] = t7;
39963
+ const toggleEnabled = t8;
39964
+ let t9;
39965
+ let t10;
39966
+ if ($[19] !== applicationState.outputs || $[20] !== uuid) {
39967
+ t10 = applicationState.outputs[uuid]?.errors ?? [];
39968
+ $[19] = applicationState.outputs;
39969
+ $[20] = uuid;
39970
+ $[21] = t10;
39751
39971
  } else {
39752
- t7 = $[17];
39972
+ t10 = $[21];
39753
39973
  }
39754
- let t8;
39755
- if ($[18] !== uuid) {
39756
- t8 = ["output", uuid];
39757
- $[18] = uuid;
39758
- $[19] = t8;
39974
+ let t11;
39975
+ if ($[22] !== applicationState.outputs || $[23] !== uuid) {
39976
+ t11 = applicationState.outputs[uuid]?.warnings ?? [];
39977
+ $[22] = applicationState.outputs;
39978
+ $[23] = uuid;
39979
+ $[24] = t11;
39759
39980
  } else {
39760
- t8 = $[19];
39981
+ t11 = $[24];
39761
39982
  }
39762
- const t9 = config.delayMs ?? null;
39763
- let t10;
39764
- if ($[20] !== t9) {
39765
- t10 = {
39766
- delayMs: t9
39983
+ let t12;
39984
+ if ($[25] !== t10 || $[26] !== t11) {
39985
+ t12 = {
39986
+ errors: t10,
39987
+ warnings: t11
39767
39988
  };
39768
- $[20] = t9;
39769
- $[21] = t10;
39989
+ $[25] = t10;
39990
+ $[26] = t11;
39991
+ $[27] = t12;
39770
39992
  } else {
39771
- t10 = $[21];
39993
+ t12 = $[27];
39772
39994
  }
39773
- const t11 = STRINGS.protocols[config.definition.type];
39774
- let t12;
39775
- if ($[22] !== config.name) {
39776
- t12 = config.name ? [config.name] : [];
39777
- $[22] = config.name;
39778
- $[23] = t12;
39995
+ t9 = t12;
39996
+ const rootState = t9;
39997
+ let t13;
39998
+ if ($[28] !== config.color) {
39999
+ t13 = config.color && cssSigilColorUsageVariables("timecode-usage", sigilColorUsage(config.color));
40000
+ $[28] = config.color;
40001
+ $[29] = t13;
40002
+ } else {
40003
+ t13 = $[29];
40004
+ }
40005
+ let t14;
40006
+ if ($[30] !== uuid) {
40007
+ t14 = ["output", uuid];
40008
+ $[30] = uuid;
40009
+ $[31] = t14;
39779
40010
  } else {
39780
- t12 = $[23];
40011
+ t14 = $[31];
39781
40012
  }
39782
- const t13 = config.enabled ? timecode : null;
39783
- const t14 = config.enabled ? "Stop Input" : "Start Input";
39784
- const t15 = config.enabled ? "stop" : "play_arrow";
40013
+ const t15 = config.delayMs ?? null;
39785
40014
  let t16;
39786
- if ($[24] !== t14 || $[25] !== t15 || $[26] !== toggleEnabled) {
39787
- t16 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlButton, {
40015
+ if ($[32] !== t15) {
40016
+ t16 = {
40017
+ delayMs: t15
40018
+ };
40019
+ $[32] = t15;
40020
+ $[33] = t16;
40021
+ } else {
40022
+ t16 = $[33];
40023
+ }
40024
+ const t17 = STRINGS.protocols[config.definition.type];
40025
+ let t18;
40026
+ if ($[34] !== config.name) {
40027
+ t18 = config.name ? [config.name] : [];
40028
+ $[34] = config.name;
40029
+ $[35] = t18;
40030
+ } else {
40031
+ t18 = $[35];
40032
+ }
40033
+ const t19 = config.enabled ? timecode : "disabled";
40034
+ const t20 = config.enabled ? STRINGS.outputs.disable : STRINGS.outputs.enable;
40035
+ const t21 = config.enabled ? "pause" : "play_arrow";
40036
+ let t22;
40037
+ if ($[36] !== t20 || $[37] !== t21 || $[38] !== toggleEnabled) {
40038
+ t22 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlButton, {
39788
40039
  variant: "large",
39789
- title: t14,
40040
+ title: t20,
39790
40041
  onClick: toggleEnabled,
39791
- icon: t15
40042
+ icon: t21
39792
40043
  });
39793
- $[24] = t14;
39794
- $[25] = t15;
39795
- $[26] = toggleEnabled;
39796
- $[27] = t16;
40044
+ $[36] = t20;
40045
+ $[37] = t21;
40046
+ $[38] = toggleEnabled;
40047
+ $[39] = t22;
39797
40048
  } else {
39798
- t16 = $[27];
40049
+ t22 = $[39];
39799
40050
  }
39800
- const t17 = assignToOutput === uuid;
39801
- const t18 = config.link ? "link" : "link_off";
39802
- let t19;
39803
- if ($[28] !== linkCallback || $[29] !== t17 || $[30] !== t18) {
39804
- t19 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlButton, {
40051
+ const t23 = assignToOutput === uuid;
40052
+ const t24 = config.link ? "link" : "link_off";
40053
+ let t25;
40054
+ if ($[40] !== linkCallback || $[41] !== t23 || $[42] !== t24) {
40055
+ t25 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlButton, {
39805
40056
  variant: "large",
39806
- title: "Link Output",
39807
- active: t17,
40057
+ title: STRINGS.outputs.link,
40058
+ active: t23,
39808
40059
  onClick: linkCallback,
39809
- icon: t18
40060
+ icon: t24
39810
40061
  });
39811
- $[28] = linkCallback;
39812
- $[29] = t17;
39813
- $[30] = t18;
39814
- $[31] = t19;
40062
+ $[40] = linkCallback;
40063
+ $[41] = t23;
40064
+ $[42] = t24;
40065
+ $[43] = t25;
39815
40066
  } else {
39816
- t19 = $[31];
40067
+ t25 = $[43];
39817
40068
  }
39818
- let t20;
39819
- if ($[32] !== config.definition.type || $[33] !== setDialogMode || $[34] !== uuid) {
39820
- t20 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlButton, {
40069
+ let t26;
40070
+ if ($[44] !== config.definition.type || $[45] !== setDialogMode || $[46] !== uuid) {
40071
+ t26 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ControlButton, {
39821
40072
  variant: "large",
39822
- title: "Edit Output",
40073
+ title: STRINGS.outputs.edit,
39823
40074
  onClick: () => setDialogMode({
39824
40075
  section: {
39825
40076
  type: "outputs",
@@ -39832,52 +40083,56 @@ Data Directory: ${system.dataDirectory}`
39832
40083
  }),
39833
40084
  icon: "edit"
39834
40085
  });
39835
- $[32] = config.definition.type;
39836
- $[33] = setDialogMode;
39837
- $[34] = uuid;
39838
- $[35] = t20;
40086
+ $[44] = config.definition.type;
40087
+ $[45] = setDialogMode;
40088
+ $[46] = uuid;
40089
+ $[47] = t26;
39839
40090
  } else {
39840
- t20 = $[35];
40091
+ t26 = $[47];
39841
40092
  }
39842
- let t21;
39843
- if ($[36] !== t16 || $[37] !== t19 || $[38] !== t20) {
39844
- t21 = /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, {
39845
- children: [t16, t19, t20]
40093
+ let t27;
40094
+ if ($[48] !== t22 || $[49] !== t25 || $[50] !== t26) {
40095
+ t27 = /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, {
40096
+ children: [t22, t25, t26]
39846
40097
  });
39847
- $[36] = t16;
39848
- $[37] = t19;
39849
- $[38] = t20;
39850
- $[39] = t21;
40098
+ $[48] = t22;
40099
+ $[49] = t25;
40100
+ $[50] = t26;
40101
+ $[51] = t27;
39851
40102
  } else {
39852
- t21 = $[39];
40103
+ t27 = $[51];
39853
40104
  }
39854
- let t22;
39855
- if ($[40] !== config.color || $[41] !== t10 || $[42] !== t11.short || $[43] !== t12 || $[44] !== t13 || $[45] !== t21 || $[46] !== t8) {
39856
- t22 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TimecodeTreeDisplay, {
39857
- id: t8,
39858
- config: t10,
40105
+ let t28;
40106
+ if ($[52] !== config.color || $[53] !== link || $[54] !== rootState || $[55] !== t14 || $[56] !== t16 || $[57] !== t17.short || $[58] !== t18 || $[59] !== t19 || $[60] !== t27) {
40107
+ t28 = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TimecodeTreeDisplay, {
40108
+ id: t14,
40109
+ config: t16,
39859
40110
  assignToOutput: null,
39860
- type: t11.short,
39861
- name: t12,
40111
+ type: t17.short,
40112
+ name: t18,
39862
40113
  color: config.color,
39863
- timecode: t13,
39864
- namePlaceholder: `Unnamed Output`,
39865
- buttons: t21
39866
- });
39867
- $[40] = config.color;
39868
- $[41] = t10;
39869
- $[42] = t11.short;
39870
- $[43] = t12;
39871
- $[44] = t13;
39872
- $[45] = t21;
39873
- $[46] = t8;
39874
- $[47] = t22;
40114
+ timecode: t19,
40115
+ rootState,
40116
+ namePlaceholder: STRINGS.outputs.unnamed,
40117
+ link,
40118
+ buttons: t27
40119
+ });
40120
+ $[52] = config.color;
40121
+ $[53] = link;
40122
+ $[54] = rootState;
40123
+ $[55] = t14;
40124
+ $[56] = t16;
40125
+ $[57] = t17.short;
40126
+ $[58] = t18;
40127
+ $[59] = t19;
40128
+ $[60] = t27;
40129
+ $[61] = t28;
39875
40130
  } else {
39876
- t22 = $[47];
40131
+ t28 = $[61];
39877
40132
  }
39878
- let t23;
39879
- if ($[48] !== assignToOutput || $[49] !== clearLink || $[50] !== config.link || $[51] !== uuid) {
39880
- t23 = assignToOutput === uuid && config.link && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SizeAwareDiv, {
40133
+ let t29;
40134
+ if ($[62] !== assignToOutput || $[63] !== clearLink || $[64] !== config.link || $[65] !== uuid) {
40135
+ t29 = assignToOutput === uuid && config.link && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SizeAwareDiv, {
39881
40136
  className: "absolute inset-0",
39882
40137
  onClick: clearLink,
39883
40138
  children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TooltipWrapper, {
@@ -39893,29 +40148,29 @@ Data Directory: ${system.dataDirectory}`
39893
40148
  })
39894
40149
  })
39895
40150
  });
39896
- $[48] = assignToOutput;
39897
- $[49] = clearLink;
39898
- $[50] = config.link;
39899
- $[51] = uuid;
39900
- $[52] = t23;
40151
+ $[62] = assignToOutput;
40152
+ $[63] = clearLink;
40153
+ $[64] = config.link;
40154
+ $[65] = uuid;
40155
+ $[66] = t29;
39901
40156
  } else {
39902
- t23 = $[52];
40157
+ t29 = $[66];
39903
40158
  }
39904
- let t24;
39905
- if ($[53] !== t22 || $[54] !== t23 || $[55] !== t7) {
39906
- t24 = /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", {
40159
+ let t30;
40160
+ if ($[67] !== t13 || $[68] !== t28 || $[69] !== t29) {
40161
+ t30 = /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", {
39907
40162
  className: "relative flex flex-col",
39908
- style: t7,
39909
- children: [t22, t23]
40163
+ style: t13,
40164
+ children: [t28, t29]
39910
40165
  });
39911
- $[53] = t22;
39912
- $[54] = t23;
39913
- $[55] = t7;
39914
- $[56] = t24;
40166
+ $[67] = t13;
40167
+ $[68] = t28;
40168
+ $[69] = t29;
40169
+ $[70] = t30;
39915
40170
  } else {
39916
- t24 = $[56];
40171
+ t30 = $[70];
39917
40172
  }
39918
- return t24;
40173
+ return t30;
39919
40174
  };
39920
40175
  var OutputsSection = (t0) => {
39921
40176
  const $ = (0, import_compiler_runtime9.c)(11);
@@ -39997,13 +40252,13 @@ Data Directory: ${system.dataDirectory}`
39997
40252
  }
39998
40253
  return t4;
39999
40254
  };
40000
- function _temp(iface) {
40255
+ function _temp3(iface) {
40001
40256
  return {
40002
40257
  label: `${iface.name} (${iface.address})`,
40003
40258
  value: iface.name
40004
40259
  };
40005
40260
  }
40006
- function _temp2(t0) {
40261
+ function _temp22(t0) {
40007
40262
  const [mode, label] = t0;
40008
40263
  return {
40009
40264
  label,
@@ -40224,7 +40479,7 @@ Data Directory: ${system.dataDirectory}`
40224
40479
  });
40225
40480
  };
40226
40481
  var GeneratorDisplay = (t0) => {
40227
- const $ = (0, import_compiler_runtime10.c)(19);
40482
+ const $ = (0, import_compiler_runtime10.c)(20);
40228
40483
  const {
40229
40484
  uuid,
40230
40485
  config,
@@ -40236,40 +40491,53 @@ Data Directory: ${system.dataDirectory}`
40236
40491
  } = useApplicationState();
40237
40492
  const state = generators[uuid];
40238
40493
  let t1;
40239
- if ($[0] !== uuid) {
40240
- t1 = ["generator", uuid];
40241
- $[0] = uuid;
40242
- $[1] = t1;
40494
+ let t2;
40495
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
40496
+ t2 = {
40497
+ errors: [],
40498
+ warnings: []
40499
+ };
40500
+ $[0] = t2;
40243
40501
  } else {
40244
- t1 = $[1];
40502
+ t2 = $[0];
40245
40503
  }
40246
- const t2 = config.delayMs ?? null;
40504
+ t1 = t2;
40505
+ const rootState = t1;
40247
40506
  let t3;
40248
- if ($[2] !== t2) {
40249
- t3 = {
40250
- delayMs: t2
40251
- };
40252
- $[2] = t2;
40253
- $[3] = t3;
40507
+ if ($[1] !== uuid) {
40508
+ t3 = ["generator", uuid];
40509
+ $[1] = uuid;
40510
+ $[2] = t3;
40254
40511
  } else {
40255
- t3 = $[3];
40512
+ t3 = $[2];
40256
40513
  }
40257
- const t4 = STRINGS.generators.type[config.definition.type];
40514
+ const t4 = config.delayMs ?? null;
40258
40515
  let t5;
40259
- if ($[4] !== config.name) {
40260
- t5 = config.name ? [config.name] : [];
40261
- $[4] = config.name;
40262
- $[5] = t5;
40516
+ if ($[3] !== t4) {
40517
+ t5 = {
40518
+ delayMs: t4
40519
+ };
40520
+ $[3] = t4;
40521
+ $[4] = t5;
40263
40522
  } else {
40264
- t5 = $[5];
40523
+ t5 = $[4];
40265
40524
  }
40266
- const t6 = state?.timecode ?? null;
40525
+ const t6 = STRINGS.generators.type[config.definition.type];
40267
40526
  let t7;
40268
- if ($[6] !== config.definition.type || $[7] !== setDialogMode || $[8] !== uuid) {
40269
- t7 = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, {
40527
+ if ($[5] !== config.name) {
40528
+ t7 = config.name ? [config.name] : [];
40529
+ $[5] = config.name;
40530
+ $[6] = t7;
40531
+ } else {
40532
+ t7 = $[6];
40533
+ }
40534
+ const t8 = state?.timecode ?? null;
40535
+ let t9;
40536
+ if ($[7] !== config.definition.type || $[8] !== setDialogMode || $[9] !== uuid) {
40537
+ t9 = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_jsx_runtime46.Fragment, {
40270
40538
  children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ControlButton, {
40271
40539
  variant: "large",
40272
- title: "Edit Generator",
40540
+ title: STRINGS.generators.edit,
40273
40541
  onClick: () => setDialogMode({
40274
40542
  section: {
40275
40543
  type: "generators",
@@ -40283,39 +40551,40 @@ Data Directory: ${system.dataDirectory}`
40283
40551
  icon: "edit"
40284
40552
  })
40285
40553
  });
40286
- $[6] = config.definition.type;
40287
- $[7] = setDialogMode;
40288
- $[8] = uuid;
40289
- $[9] = t7;
40554
+ $[7] = config.definition.type;
40555
+ $[8] = setDialogMode;
40556
+ $[9] = uuid;
40557
+ $[10] = t9;
40290
40558
  } else {
40291
- t7 = $[9];
40559
+ t9 = $[10];
40292
40560
  }
40293
- let t8;
40294
- if ($[10] !== assignToOutput || $[11] !== config.color || $[12] !== t1 || $[13] !== t3 || $[14] !== t4 || $[15] !== t5 || $[16] !== t6 || $[17] !== t7) {
40295
- t8 = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TimecodeTreeDisplay, {
40296
- id: t1,
40297
- config: t3,
40298
- type: t4,
40299
- name: t5,
40561
+ let t10;
40562
+ if ($[11] !== assignToOutput || $[12] !== config.color || $[13] !== t3 || $[14] !== t5 || $[15] !== t6 || $[16] !== t7 || $[17] !== t8 || $[18] !== t9) {
40563
+ t10 = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TimecodeTreeDisplay, {
40564
+ id: t3,
40565
+ config: t5,
40566
+ type: t6,
40567
+ name: t7,
40300
40568
  color: config.color,
40301
- timecode: t6,
40302
- namePlaceholder: `Unnamed Generator`,
40303
- buttons: t7,
40569
+ timecode: t8,
40570
+ rootState,
40571
+ namePlaceholder: STRINGS.generators.unnamed,
40572
+ buttons: t9,
40304
40573
  assignToOutput
40305
40574
  });
40306
- $[10] = assignToOutput;
40307
- $[11] = config.color;
40308
- $[12] = t1;
40575
+ $[11] = assignToOutput;
40576
+ $[12] = config.color;
40309
40577
  $[13] = t3;
40310
- $[14] = t4;
40311
- $[15] = t5;
40312
- $[16] = t6;
40313
- $[17] = t7;
40314
- $[18] = t8;
40578
+ $[14] = t5;
40579
+ $[15] = t6;
40580
+ $[16] = t7;
40581
+ $[17] = t8;
40582
+ $[18] = t9;
40583
+ $[19] = t10;
40315
40584
  } else {
40316
- t8 = $[18];
40585
+ t10 = $[19];
40317
40586
  }
40318
- return t8;
40587
+ return t10;
40319
40588
  };
40320
40589
  var GeneratorsSection = (t0) => {
40321
40590
  const $ = (0, import_compiler_runtime10.c)(10);
@@ -40478,7 +40747,7 @@ Data Directory: ${system.dataDirectory}`
40478
40747
  const t7 = data.iface ?? null;
40479
40748
  let t8;
40480
40749
  if ($[9] !== interfaces) {
40481
- t8 = !interfaces ? [] : Object.values(interfaces).map(_temp3);
40750
+ t8 = !interfaces ? [] : Object.values(interfaces).map(_temp4);
40482
40751
  $[9] = interfaces;
40483
40752
  $[10] = t8;
40484
40753
  } else {
@@ -40665,7 +40934,7 @@ Data Directory: ${system.dataDirectory}`
40665
40934
  const t7 = data.iface ?? null;
40666
40935
  let t8;
40667
40936
  if ($[9] !== interfaces) {
40668
- t8 = !interfaces ? [] : Object.values(interfaces).map(_temp22);
40937
+ t8 = !interfaces ? [] : Object.values(interfaces).map(_temp23);
40669
40938
  $[9] = interfaces;
40670
40939
  $[10] = t8;
40671
40940
  } else {
@@ -40891,7 +41160,7 @@ Data Directory: ${system.dataDirectory}`
40891
41160
  });
40892
41161
  };
40893
41162
  var InputDisplay = (t0) => {
40894
- const $ = (0, import_compiler_runtime11.c)(29);
41163
+ const $ = (0, import_compiler_runtime11.c)(37);
40895
41164
  const {
40896
41165
  uuid,
40897
41166
  config,
@@ -40932,57 +41201,90 @@ Data Directory: ${system.dataDirectory}`
40932
41201
  t1 = $[2];
40933
41202
  }
40934
41203
  const toggleEnabled = t1;
41204
+ state?.errors;
41205
+ state?.warnings;
40935
41206
  let t2;
40936
- if ($[3] !== uuid) {
40937
- t2 = ["input", uuid];
40938
- $[3] = uuid;
40939
- $[4] = t2;
41207
+ let t3;
41208
+ if ($[3] !== state?.errors) {
41209
+ t3 = state?.errors ?? [];
41210
+ $[3] = state?.errors;
41211
+ $[4] = t3;
40940
41212
  } else {
40941
- t2 = $[4];
41213
+ t3 = $[4];
40942
41214
  }
40943
- const t3 = config.delayMs ?? null;
40944
41215
  let t4;
40945
- if ($[5] !== t3) {
40946
- t4 = {
40947
- delayMs: t3
40948
- };
40949
- $[5] = t3;
41216
+ if ($[5] !== state?.warnings) {
41217
+ t4 = state?.warnings ?? [];
41218
+ $[5] = state?.warnings;
40950
41219
  $[6] = t4;
40951
41220
  } else {
40952
41221
  t4 = $[6];
40953
41222
  }
40954
- const t5 = STRINGS.protocols[config.definition.type];
41223
+ let t5;
41224
+ if ($[7] !== t3 || $[8] !== t4) {
41225
+ t5 = {
41226
+ errors: t3,
41227
+ warnings: t4
41228
+ };
41229
+ $[7] = t3;
41230
+ $[8] = t4;
41231
+ $[9] = t5;
41232
+ } else {
41233
+ t5 = $[9];
41234
+ }
41235
+ t2 = t5;
41236
+ const rootState = t2;
40955
41237
  let t6;
40956
- if ($[7] !== config.name) {
40957
- t6 = config.name ? [config.name] : [];
40958
- $[7] = config.name;
40959
- $[8] = t6;
41238
+ if ($[10] !== uuid) {
41239
+ t6 = ["input", uuid];
41240
+ $[10] = uuid;
41241
+ $[11] = t6;
40960
41242
  } else {
40961
- t6 = $[8];
41243
+ t6 = $[11];
41244
+ }
41245
+ const t7 = config.delayMs ?? null;
41246
+ let t8;
41247
+ if ($[12] !== t7) {
41248
+ t8 = {
41249
+ delayMs: t7
41250
+ };
41251
+ $[12] = t7;
41252
+ $[13] = t8;
41253
+ } else {
41254
+ t8 = $[13];
40962
41255
  }
40963
- const t7 = state?.timecode ?? null;
40964
- const t8 = config.enabled ? "Stop Input" : "Start Input";
40965
- const t9 = config.enabled ? "stop" : "play_arrow";
41256
+ const t9 = STRINGS.protocols[config.definition.type];
40966
41257
  let t10;
40967
- if ($[9] !== t8 || $[10] !== t9 || $[11] !== toggleEnabled) {
40968
- t10 = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ControlButton, {
41258
+ if ($[14] !== config.name) {
41259
+ t10 = config.name ? [config.name] : [];
41260
+ $[14] = config.name;
41261
+ $[15] = t10;
41262
+ } else {
41263
+ t10 = $[15];
41264
+ }
41265
+ const t11 = config.enabled ? state?.timecode ?? null : "disabled";
41266
+ const t12 = config.enabled ? STRINGS.inputs.disable : STRINGS.inputs.enable;
41267
+ const t13 = config.enabled ? "pause" : "play_arrow";
41268
+ let t14;
41269
+ if ($[16] !== t12 || $[17] !== t13 || $[18] !== toggleEnabled) {
41270
+ t14 = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ControlButton, {
40969
41271
  variant: "large",
40970
- title: t8,
41272
+ title: t12,
40971
41273
  onClick: toggleEnabled,
40972
- icon: t9
41274
+ icon: t13
40973
41275
  });
40974
- $[9] = t8;
40975
- $[10] = t9;
40976
- $[11] = toggleEnabled;
40977
- $[12] = t10;
41276
+ $[16] = t12;
41277
+ $[17] = t13;
41278
+ $[18] = toggleEnabled;
41279
+ $[19] = t14;
40978
41280
  } else {
40979
- t10 = $[12];
41281
+ t14 = $[19];
40980
41282
  }
40981
- let t11;
40982
- if ($[13] !== config.definition.type || $[14] !== setDialogMode || $[15] !== uuid) {
40983
- t11 = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ControlButton, {
41283
+ let t15;
41284
+ if ($[20] !== config.definition.type || $[21] !== setDialogMode || $[22] !== uuid) {
41285
+ t15 = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ControlButton, {
40984
41286
  variant: "large",
40985
- title: "Edit Input",
41287
+ title: STRINGS.inputs.edit,
40986
41288
  onClick: () => setDialogMode({
40987
41289
  section: {
40988
41290
  type: "inputs",
@@ -40995,50 +41297,52 @@ Data Directory: ${system.dataDirectory}`
40995
41297
  }),
40996
41298
  icon: "edit"
40997
41299
  });
40998
- $[13] = config.definition.type;
40999
- $[14] = setDialogMode;
41000
- $[15] = uuid;
41001
- $[16] = t11;
41300
+ $[20] = config.definition.type;
41301
+ $[21] = setDialogMode;
41302
+ $[22] = uuid;
41303
+ $[23] = t15;
41002
41304
  } else {
41003
- t11 = $[16];
41305
+ t15 = $[23];
41004
41306
  }
41005
- let t12;
41006
- if ($[17] !== t10 || $[18] !== t11) {
41007
- t12 = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, {
41008
- children: [t10, t11]
41307
+ let t16;
41308
+ if ($[24] !== t14 || $[25] !== t15) {
41309
+ t16 = /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, {
41310
+ children: [t14, t15]
41009
41311
  });
41010
- $[17] = t10;
41011
- $[18] = t11;
41012
- $[19] = t12;
41312
+ $[24] = t14;
41313
+ $[25] = t15;
41314
+ $[26] = t16;
41013
41315
  } else {
41014
- t12 = $[19];
41316
+ t16 = $[26];
41015
41317
  }
41016
- let t13;
41017
- if ($[20] !== assignToOutput || $[21] !== config.color || $[22] !== t12 || $[23] !== t2 || $[24] !== t4 || $[25] !== t5.short || $[26] !== t6 || $[27] !== t7) {
41018
- t13 = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TimecodeTreeDisplay, {
41019
- id: t2,
41020
- config: t4,
41021
- type: t5.short,
41022
- name: t6,
41318
+ let t17;
41319
+ if ($[27] !== assignToOutput || $[28] !== config.color || $[29] !== rootState || $[30] !== t10 || $[31] !== t11 || $[32] !== t16 || $[33] !== t6 || $[34] !== t8 || $[35] !== t9.short) {
41320
+ t17 = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TimecodeTreeDisplay, {
41321
+ id: t6,
41322
+ config: t8,
41323
+ type: t9.short,
41324
+ name: t10,
41023
41325
  color: config.color,
41024
- timecode: t7,
41025
- namePlaceholder: `Unnamed Input`,
41026
- buttons: t12,
41326
+ timecode: t11,
41327
+ rootState,
41328
+ namePlaceholder: STRINGS.inputs.unnamed,
41329
+ buttons: t16,
41027
41330
  assignToOutput
41028
41331
  });
41029
- $[20] = assignToOutput;
41030
- $[21] = config.color;
41031
- $[22] = t12;
41032
- $[23] = t2;
41033
- $[24] = t4;
41034
- $[25] = t5.short;
41035
- $[26] = t6;
41036
- $[27] = t7;
41037
- $[28] = t13;
41332
+ $[27] = assignToOutput;
41333
+ $[28] = config.color;
41334
+ $[29] = rootState;
41335
+ $[30] = t10;
41336
+ $[31] = t11;
41337
+ $[32] = t16;
41338
+ $[33] = t6;
41339
+ $[34] = t8;
41340
+ $[35] = t9.short;
41341
+ $[36] = t17;
41038
41342
  } else {
41039
- t13 = $[28];
41343
+ t17 = $[36];
41040
41344
  }
41041
- return t13;
41345
+ return t17;
41042
41346
  };
41043
41347
  var InputsSection = (t0) => {
41044
41348
  const $ = (0, import_compiler_runtime11.c)(10);
@@ -41117,13 +41421,13 @@ Data Directory: ${system.dataDirectory}`
41117
41421
  }
41118
41422
  return t4;
41119
41423
  };
41120
- function _temp3(iface) {
41424
+ function _temp4(iface) {
41121
41425
  return {
41122
41426
  label: `${iface.name} (${iface.address})`,
41123
41427
  value: iface.name
41124
41428
  };
41125
41429
  }
41126
- function _temp22(iface) {
41430
+ function _temp23(iface) {
41127
41431
  return {
41128
41432
  label: `${iface.name} (${iface.address})`,
41129
41433
  value: iface.name
@@ -42342,7 +42646,7 @@ Data Directory: ${system.dataDirectory}`
42342
42646
  } = t0;
42343
42647
  let t1;
42344
42648
  if ($[0] !== license) {
42345
- t1 = license.split("\n\n").map(_temp4);
42649
+ t1 = license.split("\n\n").map(_temp5);
42346
42650
  $[0] = license;
42347
42651
  $[1] = t1;
42348
42652
  } else {
@@ -42466,7 +42770,7 @@ Data Directory: ${system.dataDirectory}`
42466
42770
  if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
42467
42771
  t2 = {
42468
42772
  debug: {
42469
- child: _temp23,
42773
+ child: _temp24,
42470
42774
  icon: "bug_report",
42471
42775
  title: STRINGS.debugger
42472
42776
  }
@@ -42536,13 +42840,13 @@ Data Directory: ${system.dataDirectory}`
42536
42840
  }
42537
42841
  return t7;
42538
42842
  };
42539
- function _temp4(paragraph, index2) {
42843
+ function _temp5(paragraph, index2) {
42540
42844
  return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", {
42541
42845
  className: "m-0",
42542
42846
  children: paragraph.replace(/\n/g, " ").trim()
42543
42847
  }, index2);
42544
42848
  }
42545
- function _temp23() {
42849
+ function _temp24() {
42546
42850
  return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Debugger, {
42547
42851
  title: STRINGS.debugger,
42548
42852
  className: "size-full"
@@ -44398,12 +44702,12 @@ Data Directory: ${system.dataDirectory}`
44398
44702
  title: STRINGS.license
44399
44703
  },
44400
44704
  settings: {
44401
- child: _temp5,
44705
+ child: _temp6,
44402
44706
  icon: "settings",
44403
44707
  title: STRINGS.settings.title
44404
44708
  },
44405
44709
  debug: {
44406
- child: _temp24,
44710
+ child: _temp25,
44407
44711
  icon: "bug_report",
44408
44712
  title: STRINGS.debugger
44409
44713
  }
@@ -44504,12 +44808,12 @@ Data Directory: ${system.dataDirectory}`
44504
44808
  }
44505
44809
  return t20;
44506
44810
  };
44507
- function _temp5(setWindowMode_0) {
44811
+ function _temp6(setWindowMode_0) {
44508
44812
  return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Settings, {
44509
44813
  setWindowMode: setWindowMode_0
44510
44814
  });
44511
44815
  }
44512
- function _temp24() {
44816
+ function _temp25() {
44513
44817
  return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Debugger, {
44514
44818
  title: STRINGS.debugger,
44515
44819
  className: "size-full"