noobs 0.0.84 → 0.0.89
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.
- package/README.md +2 -3
- package/dist/bin/obs-nvenc-test.exe +0 -0
- package/dist/bin/obs-qsv-test.exe +0 -0
- package/dist/data/obs-plugins/image-source/locale/af-ZA.ini +29 -0
- package/dist/data/obs-plugins/image-source/locale/ar-SA.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/az-AZ.ini +29 -0
- package/dist/data/obs-plugins/image-source/locale/ba-RU.ini +9 -0
- package/dist/data/obs-plugins/image-source/locale/be-BY.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/bg-BG.ini +22 -0
- package/dist/data/obs-plugins/image-source/locale/bn-BD.ini +32 -0
- package/dist/data/obs-plugins/image-source/locale/ca-ES.ini +37 -0
- package/dist/data/obs-plugins/image-source/locale/cs-CZ.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/da-DK.ini +36 -0
- package/dist/data/obs-plugins/image-source/locale/de-DE.ini +36 -0
- package/dist/data/obs-plugins/image-source/locale/el-GR.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/en-GB.ini +4 -0
- package/dist/data/obs-plugins/image-source/locale/en-US.ini +40 -0
- package/dist/data/obs-plugins/image-source/locale/es-ES.ini +37 -0
- package/dist/data/obs-plugins/image-source/locale/et-EE.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/eu-ES.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/fa-IR.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/fi-FI.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/fil-PH.ini +33 -0
- package/dist/data/obs-plugins/image-source/locale/fr-FR.ini +36 -0
- package/dist/data/obs-plugins/image-source/locale/gd-GB.ini +32 -0
- package/dist/data/obs-plugins/image-source/locale/gl-ES.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/he-IL.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/hi-IN.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/hr-HR.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/hu-HU.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/hy-AM.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/id-ID.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/it-IT.ini +36 -0
- package/dist/data/obs-plugins/image-source/locale/ja-JP.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/ka-GE.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/kaa.ini +21 -0
- package/dist/data/obs-plugins/image-source/locale/kab-KAB.ini +31 -0
- package/dist/data/obs-plugins/image-source/locale/kmr-TR.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/ko-KR.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/lo-LA.ini +2 -0
- package/dist/data/obs-plugins/image-source/locale/lt-LT.ini +32 -0
- package/dist/data/obs-plugins/image-source/locale/mn-MN.ini +19 -0
- package/dist/data/obs-plugins/image-source/locale/ms-MY.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/nb-NO.ini +35 -0
- package/dist/data/obs-plugins/image-source/locale/nl-NL.ini +36 -0
- package/dist/data/obs-plugins/image-source/locale/nn-NO.ini +6 -0
- package/dist/data/obs-plugins/image-source/locale/oc-FR.ini +2 -0
- package/dist/data/obs-plugins/image-source/locale/pa-IN.ini +1 -0
- package/dist/data/obs-plugins/image-source/locale/pl-PL.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/pt-BR.ini +36 -0
- package/dist/data/obs-plugins/image-source/locale/pt-PT.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/ro-RO.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/ru-RU.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/si-LK.ini +16 -0
- package/dist/data/obs-plugins/image-source/locale/sk-SK.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/sl-SI.ini +34 -0
- package/dist/data/obs-plugins/image-source/locale/sq-AL.ini +1 -0
- package/dist/data/obs-plugins/image-source/locale/sr-CS.ini +31 -0
- package/dist/data/obs-plugins/image-source/locale/sr-SP.ini +31 -0
- package/dist/data/obs-plugins/image-source/locale/sv-SE.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/ta-IN.ini +15 -0
- package/dist/data/obs-plugins/image-source/locale/th-TH.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/tl-PH.ini +31 -0
- package/dist/data/obs-plugins/image-source/locale/tr-TR.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/tt-RU.ini +13 -0
- package/dist/data/obs-plugins/image-source/locale/ug-CN.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/uk-UA.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/ur-PK.ini +1 -0
- package/dist/data/obs-plugins/image-source/locale/vi-VN.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/zh-CN.ini +38 -0
- package/dist/data/obs-plugins/image-source/locale/zh-TW.ini +38 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/af-ZA.ini +73 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ar-SA.ini +101 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ba-RU.ini +12 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/be-BY.ini +101 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/bg-BG.ini +67 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/bn-BD.ini +48 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ca-ES.ini +101 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/cs-CZ.ini +98 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/da-DK.ini +83 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/de-DE.ini +97 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/el-GR.ini +85 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/en-GB.ini +10 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/en-US.ini +127 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/es-ES.ini +96 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/et-EE.ini +73 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/eu-ES.ini +89 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/fa-IR.ini +102 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/fi-FI.ini +96 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/fil-PH.ini +77 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/fr-FR.ini +94 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/gd-GB.ini +48 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/gl-ES.ini +97 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/he-IL.ini +100 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/hi-IN.ini +101 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/hr-HR.ini +51 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/hu-HU.ini +100 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/hy-AM.ini +95 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/id-ID.ini +88 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/is-IS.ini +2 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/it-IT.ini +96 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ja-JP.ini +88 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ka-GE.ini +102 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/kaa.ini +42 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/kab-KAB.ini +34 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/kmr-TR.ini +89 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ko-KR.ini +96 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ms-MY.ini +93 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/nb-NO.ini +71 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/nl-NL.ini +85 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/nn-NO.ini +21 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/oc-FR.ini +1 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/pl-PL.ini +96 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/pt-BR.ini +95 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/pt-PT.ini +97 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ro-RO.ini +92 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ru-RU.ini +102 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/si-LK.ini +53 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/sk-SK.ini +86 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/sl-SI.ini +99 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/sr-CS.ini +34 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/sr-SP.ini +52 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/sv-SE.ini +101 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/szl-PL.ini +23 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ta-IN.ini +20 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/th-TH.ini +98 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/tl-PH.ini +26 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/tr-TR.ini +98 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/tt-RU.ini +32 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ug-CN.ini +96 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/uk-UA.ini +98 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/ur-PK.ini +1 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/vi-VN.ini +91 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/zh-CN.ini +101 -0
- package/dist/data/obs-plugins/obs-ffmpeg/locale/zh-TW.ini +98 -0
- package/dist/data/obs-plugins/obs-x264/locale/af-ZA.ini +8 -0
- package/dist/data/obs-plugins/obs-x264/locale/ar-SA.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/az-AZ.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/ba-RU.ini +4 -0
- package/dist/data/obs-plugins/obs-x264/locale/be-BY.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/bg-BG.ini +7 -0
- package/dist/data/obs-plugins/obs-x264/locale/bn-BD.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/ca-ES.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/cs-CZ.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/da-DK.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/de-DE.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/el-GR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/en-GB.ini +1 -0
- package/dist/data/obs-plugins/obs-x264/locale/en-US.ini +14 -0
- package/dist/data/obs-plugins/obs-x264/locale/es-ES.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/et-EE.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/eu-ES.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/fa-IR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/fi-FI.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/fil-PH.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/fr-FR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/gd-GB.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/gl-ES.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/he-IL.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/hi-IN.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/hr-HR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/hu-HU.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/hy-AM.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/id-ID.ini +11 -0
- package/dist/data/obs-plugins/obs-x264/locale/it-IT.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/ja-JP.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/ka-GE.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/kaa.ini +5 -0
- package/dist/data/obs-plugins/obs-x264/locale/kab-KAB.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/kmr-TR.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/ko-KR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/lv-LV.ini +4 -0
- package/dist/data/obs-plugins/obs-x264/locale/mn-MN.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/ms-MY.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/nb-NO.ini +9 -0
- package/dist/data/obs-plugins/obs-x264/locale/nl-NL.ini +11 -0
- package/dist/data/obs-plugins/obs-x264/locale/nn-NO.ini +1 -0
- package/dist/data/obs-plugins/obs-x264/locale/oc-FR.ini +1 -0
- package/dist/data/obs-plugins/obs-x264/locale/pl-PL.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/pt-BR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/pt-PT.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/ro-RO.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/ru-RU.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/si-LK.ini +8 -0
- package/dist/data/obs-plugins/obs-x264/locale/sk-SK.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/sl-SI.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/sq-AL.ini +3 -0
- package/dist/data/obs-plugins/obs-x264/locale/sr-CS.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/sr-SP.ini +10 -0
- package/dist/data/obs-plugins/obs-x264/locale/sv-SE.ini +12 -0
- package/dist/data/obs-plugins/obs-x264/locale/szl-PL.ini +9 -0
- package/dist/data/obs-plugins/obs-x264/locale/ta-IN.ini +4 -0
- package/dist/data/obs-plugins/obs-x264/locale/th-TH.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/tl-PH.ini +9 -0
- package/dist/data/obs-plugins/obs-x264/locale/tr-TR.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/tt-RU.ini +4 -0
- package/dist/data/obs-plugins/obs-x264/locale/ug-CN.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/uk-UA.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/ur-PK.ini +1 -0
- package/dist/data/obs-plugins/obs-x264/locale/vi-VN.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/zh-CN.ini +13 -0
- package/dist/data/obs-plugins/obs-x264/locale/zh-TW.ini +13 -0
- package/dist/data/obs-plugins/win-capture/compatibility.json +664 -0
- package/dist/data/obs-plugins/win-capture/get-graphics-offsets32.exe +0 -0
- package/dist/data/obs-plugins/win-capture/get-graphics-offsets64.exe +0 -0
- package/dist/data/obs-plugins/win-capture/graphics-hook32.dll +0 -0
- package/dist/data/obs-plugins/win-capture/graphics-hook64.dll +0 -0
- package/dist/data/obs-plugins/win-capture/inject-helper32.exe +0 -0
- package/dist/data/obs-plugins/win-capture/inject-helper64.exe +0 -0
- package/dist/data/obs-plugins/win-capture/locale/af-ZA.ini +30 -0
- package/dist/data/obs-plugins/win-capture/locale/ar-SA.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/az-AZ.ini +13 -0
- package/dist/data/obs-plugins/win-capture/locale/ba-RU.ini +2 -0
- package/dist/data/obs-plugins/win-capture/locale/be-BY.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/bg-BG.ini +33 -0
- package/dist/data/obs-plugins/win-capture/locale/bn-BD.ini +36 -0
- package/dist/data/obs-plugins/win-capture/locale/ca-ES.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/cs-CZ.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/da-DK.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/de-DE.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/el-GR.ini +48 -0
- package/dist/data/obs-plugins/win-capture/locale/en-GB.ini +3 -0
- package/dist/data/obs-plugins/win-capture/locale/en-US.ini +60 -0
- package/dist/data/obs-plugins/win-capture/locale/es-ES.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/et-EE.ini +44 -0
- package/dist/data/obs-plugins/win-capture/locale/eu-ES.ini +38 -0
- package/dist/data/obs-plugins/win-capture/locale/fa-IR.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/fi-FI.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/fil-PH.ini +36 -0
- package/dist/data/obs-plugins/win-capture/locale/fr-FR.ini +52 -0
- package/dist/data/obs-plugins/win-capture/locale/gd-GB.ini +36 -0
- package/dist/data/obs-plugins/win-capture/locale/gl-ES.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/he-IL.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/hi-IN.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/hr-HR.ini +40 -0
- package/dist/data/obs-plugins/win-capture/locale/hu-HU.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/hy-AM.ini +42 -0
- package/dist/data/obs-plugins/win-capture/locale/id-ID.ini +52 -0
- package/dist/data/obs-plugins/win-capture/locale/is-IS.ini +2 -0
- package/dist/data/obs-plugins/win-capture/locale/it-IT.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/ja-JP.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/ka-GE.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/kaa.ini +19 -0
- package/dist/data/obs-plugins/win-capture/locale/kab-KAB.ini +27 -0
- package/dist/data/obs-plugins/win-capture/locale/kmr-TR.ini +42 -0
- package/dist/data/obs-plugins/win-capture/locale/ko-KR.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/lo-LA.ini +6 -0
- package/dist/data/obs-plugins/win-capture/locale/lt-LT.ini +36 -0
- package/dist/data/obs-plugins/win-capture/locale/mn-MN.ini +21 -0
- package/dist/data/obs-plugins/win-capture/locale/ms-MY.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/nb-NO.ini +39 -0
- package/dist/data/obs-plugins/win-capture/locale/nl-NL.ini +50 -0
- package/dist/data/obs-plugins/win-capture/locale/nn-NO.ini +4 -0
- package/dist/data/obs-plugins/win-capture/locale/pl-PL.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/pt-BR.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/pt-PT.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/ro-RO.ini +41 -0
- package/dist/data/obs-plugins/win-capture/locale/ru-RU.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/si-LK.ini +24 -0
- package/dist/data/obs-plugins/win-capture/locale/sk-SK.ini +53 -0
- package/dist/data/obs-plugins/win-capture/locale/sl-SI.ini +52 -0
- package/dist/data/obs-plugins/win-capture/locale/sq-AL.ini +16 -0
- package/dist/data/obs-plugins/win-capture/locale/sr-CS.ini +28 -0
- package/dist/data/obs-plugins/win-capture/locale/sr-SP.ini +38 -0
- package/dist/data/obs-plugins/win-capture/locale/sv-SE.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/ta-IN.ini +17 -0
- package/dist/data/obs-plugins/win-capture/locale/th-TH.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/tl-PH.ini +23 -0
- package/dist/data/obs-plugins/win-capture/locale/tr-TR.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/tt-RU.ini +14 -0
- package/dist/data/obs-plugins/win-capture/locale/ug-CN.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/uk-UA.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/vi-VN.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/zh-CN.ini +54 -0
- package/dist/data/obs-plugins/win-capture/locale/zh-TW.ini +54 -0
- package/dist/data/obs-plugins/win-capture/obs-vulkan32.json +17 -0
- package/dist/data/obs-plugins/win-capture/obs-vulkan64.json +17 -0
- package/dist/data/obs-plugins/win-capture/package.json +11 -0
- package/dist/data/obs-plugins/win-capture/schema/compatibility-schema-v1.json +99 -0
- package/dist/data/obs-plugins/win-capture/schema/package-schema.json +47 -0
- package/dist/data/obs-plugins/win-wasapi/locale/af-ZA.ini +8 -0
- package/dist/data/obs-plugins/win-wasapi/locale/an-ES.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ar-SA.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ba-RU.ini +2 -0
- package/dist/data/obs-plugins/win-wasapi/locale/be-BY.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/bg-BG.ini +3 -0
- package/dist/data/obs-plugins/win-wasapi/locale/bn-BD.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ca-ES.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/cs-CZ.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/da-DK.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/de-DE.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/el-GR.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/en-GB.ini +1 -0
- package/dist/data/obs-plugins/win-wasapi/locale/en-US.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/es-ES.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/et-EE.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/eu-ES.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/fa-IR.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/fi-FI.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/fil-PH.ini +9 -0
- package/dist/data/obs-plugins/win-wasapi/locale/fr-FR.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/gd-GB.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/gl-ES.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/he-IL.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/hi-IN.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/hr-HR.ini +6 -0
- package/dist/data/obs-plugins/win-wasapi/locale/hu-HU.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/hy-AM.ini +10 -0
- package/dist/data/obs-plugins/win-wasapi/locale/id-ID.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/is-IS.ini +1 -0
- package/dist/data/obs-plugins/win-wasapi/locale/it-IT.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ja-JP.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ka-GE.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/kaa.ini +3 -0
- package/dist/data/obs-plugins/win-wasapi/locale/kab-KAB.ini +4 -0
- package/dist/data/obs-plugins/win-wasapi/locale/kmr-TR.ini +10 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ko-KR.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/lt-LT.ini +2 -0
- package/dist/data/obs-plugins/win-wasapi/locale/mn-MN.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ms-MY.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/nb-NO.ini +7 -0
- package/dist/data/obs-plugins/win-wasapi/locale/nl-NL.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/nn-NO.ini +2 -0
- package/dist/data/obs-plugins/win-wasapi/locale/pl-PL.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/pt-BR.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/pt-PT.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ro-RO.ini +10 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ru-RU.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/si-LK.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/sk-SK.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/sl-SI.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/sq-AL.ini +1 -0
- package/dist/data/obs-plugins/win-wasapi/locale/sr-CS.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/sr-SP.ini +10 -0
- package/dist/data/obs-plugins/win-wasapi/locale/sv-SE.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/szl-PL.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ta-IN.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/th-TH.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/tl-PH.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/tr-TR.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/tt-RU.ini +5 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ug-CN.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/uk-UA.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/ur-PK.ini +1 -0
- package/dist/data/obs-plugins/win-wasapi/locale/vi-VN.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/zh-CN.ini +11 -0
- package/dist/data/obs-plugins/win-wasapi/locale/zh-TW.ini +11 -0
- package/dist/noobs.node +0 -0
- package/dist/{plugins → obs-plugins}/win-capture.dll +0 -0
- package/index.d.ts +12 -2
- package/package.json +3 -2
- package/src/main.cpp +27 -10
- package/src/obs_interface.cpp +102 -64
- package/src/obs_interface.h +10 -6
- /package/dist/{effects → data/effects}/area.effect +0 -0
- /package/dist/{effects → data/effects}/bicubic_scale.effect +0 -0
- /package/dist/{effects → data/effects}/bilinear_lowres_scale.effect +0 -0
- /package/dist/{effects → data/effects}/color.effect +0 -0
- /package/dist/{effects → data/effects}/default.effect +0 -0
- /package/dist/{effects → data/effects}/default_rect.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_base.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_blend.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_blend_2x.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_discard.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_discard_2x.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_linear.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_linear_2x.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_yadif.effect +0 -0
- /package/dist/{effects → data/effects}/deinterlace_yadif_2x.effect +0 -0
- /package/dist/{effects → data/effects}/format_conversion.effect +0 -0
- /package/dist/{effects → data/effects}/lanczos_scale.effect +0 -0
- /package/dist/{effects → data/effects}/opaque.effect +0 -0
- /package/dist/{effects → data/effects}/premultiplied_alpha.effect +0 -0
- /package/dist/{effects → data/effects}/repeat.effect +0 -0
- /package/dist/{effects → data/effects}/solid.effect +0 -0
- /package/dist/{plugins → obs-plugins}/image-source.dll +0 -0
- /package/dist/{plugins → obs-plugins}/obs-ffmpeg.dll +0 -0
- /package/dist/{plugins → obs-plugins}/obs-x264.dll +0 -0
- /package/dist/{plugins → obs-plugins}/win-wasapi.dll +0 -0
package/src/obs_interface.cpp
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
#include <iostream>
|
|
2
1
|
#include <windows.h>
|
|
3
2
|
#include <obs.h>
|
|
4
3
|
#include "utils.h"
|
|
5
|
-
#include <chrono>
|
|
6
4
|
#include "obs_interface.h"
|
|
7
5
|
#include <vector>
|
|
8
|
-
#include <thread>
|
|
9
|
-
#include <iostream>
|
|
10
|
-
#include <map>
|
|
11
6
|
#include <string>
|
|
12
7
|
#include <graphics/matrix4.h>
|
|
13
8
|
#include <graphics/vec4.h>
|
|
@@ -83,11 +78,12 @@ void ObsInterface::list_output_types()
|
|
|
83
78
|
}
|
|
84
79
|
}
|
|
85
80
|
|
|
86
|
-
void ObsInterface::load_module(const char* module) {
|
|
81
|
+
void ObsInterface::load_module(const char* module, const char* data) {
|
|
87
82
|
blog(LOG_INFO, "Loading module: %s", module);
|
|
83
|
+
blog(LOG_INFO, "Data path: %s", data);
|
|
88
84
|
|
|
89
85
|
obs_module_t *ptr = NULL;
|
|
90
|
-
int success = obs_open_module(&ptr, module,
|
|
86
|
+
int success = obs_open_module(&ptr, module, data);
|
|
91
87
|
|
|
92
88
|
if (success != MODULE_SUCCESS) {
|
|
93
89
|
blog(LOG_ERROR, "Failed to open module: %s", module);
|
|
@@ -147,7 +143,7 @@ void ObsInterface::reset_audio() {
|
|
|
147
143
|
}
|
|
148
144
|
}
|
|
149
145
|
|
|
150
|
-
void ObsInterface::init_obs(const std::string&
|
|
146
|
+
void ObsInterface::init_obs(const std::string& distPath) {
|
|
151
147
|
blog(LOG_INFO, "Enter init_obs");
|
|
152
148
|
auto success = obs_startup("en-US", NULL, NULL);
|
|
153
149
|
|
|
@@ -161,33 +157,41 @@ void ObsInterface::init_obs(const std::string& pluginPath, const std::string& da
|
|
|
161
157
|
throw std::runtime_error("OBS initialization failed");
|
|
162
158
|
}
|
|
163
159
|
|
|
164
|
-
std::string
|
|
160
|
+
std::string basePath = distPath;
|
|
165
161
|
|
|
166
|
-
if (
|
|
167
|
-
// Add a trailing slash if not present
|
|
168
|
-
|
|
162
|
+
if (basePath.back() != '/' && basePath.back() != '\\') {
|
|
163
|
+
// Add a trailing slash if not present.
|
|
164
|
+
basePath += '/';
|
|
169
165
|
}
|
|
170
166
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
167
|
+
std::string effectsPath = basePath + "data/effects/";
|
|
168
|
+
std::string pluginPath = basePath + "obs-plugins/";
|
|
169
|
+
|
|
170
|
+
blog(LOG_INFO, "Base path: %s", basePath.c_str());
|
|
171
|
+
blog(LOG_INFO, "Effects path: %s", effectsPath.c_str());
|
|
172
|
+
blog(LOG_INFO, "Plugin path: %s", pluginPath.c_str());
|
|
173
|
+
|
|
174
|
+
// Add the effects path. We need this before resetting video and audio
|
|
175
|
+
// to ensure the effects are available. The function is deprecated in
|
|
176
|
+
// libobs but it works for now.
|
|
177
|
+
obs_add_data_path(effectsPath.c_str());
|
|
175
178
|
|
|
176
179
|
// This must come before loading modules to initialize D3D11.
|
|
177
180
|
reset_video();
|
|
178
181
|
reset_audio();
|
|
179
182
|
|
|
180
183
|
std::vector<std::string> modules = {
|
|
181
|
-
"obs-x264
|
|
182
|
-
"obs-ffmpeg
|
|
183
|
-
"win-capture
|
|
184
|
-
"image-source
|
|
185
|
-
"win-wasapi
|
|
184
|
+
"obs-x264",
|
|
185
|
+
"obs-ffmpeg",
|
|
186
|
+
"win-capture", // Required for basically all forms of capture on Windows.
|
|
187
|
+
"image-source", // Required for image sources.
|
|
188
|
+
"win-wasapi" // Required for WASAPI audio input.
|
|
186
189
|
};
|
|
187
190
|
|
|
188
191
|
for (const auto& module : modules) {
|
|
189
|
-
std::string
|
|
190
|
-
|
|
192
|
+
std::string modulePath = pluginPath + module + ".dll";
|
|
193
|
+
std::string moduleDataPath = pluginPath + module;
|
|
194
|
+
load_module(modulePath.c_str(), moduleDataPath.c_str());
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
obs_post_load_modules();
|
|
@@ -385,30 +389,38 @@ void ObsInterface::createSource(std::string name, std::string type) {
|
|
|
385
389
|
blog(LOG_ERROR, "Failed to create source: %s", name.c_str());
|
|
386
390
|
throw std::runtime_error("Failed to create source!");
|
|
387
391
|
}
|
|
392
|
+
|
|
393
|
+
// Store the source in the sources map.
|
|
394
|
+
sources[name] = source;
|
|
388
395
|
}
|
|
389
396
|
|
|
390
397
|
void ObsInterface::deleteSource(std::string name) {
|
|
391
398
|
blog(LOG_INFO, "Delete source: %s", name.c_str());
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
399
|
+
|
|
400
|
+
auto it = sources.find(name);
|
|
401
|
+
|
|
402
|
+
if (it == sources.end()) {
|
|
403
|
+
blog(LOG_WARNING, "Source %s not found", name.c_str());
|
|
404
|
+
return;
|
|
397
405
|
}
|
|
398
406
|
|
|
407
|
+
obs_source_t* source = it->second;
|
|
399
408
|
obs_source_release(source);
|
|
409
|
+
sources.erase(name);
|
|
400
410
|
blog(LOG_INFO, "Source deleted: %s", name.c_str());
|
|
401
411
|
}
|
|
402
412
|
|
|
403
413
|
obs_data_t* ObsInterface::getSourceSettings(std::string name) {
|
|
404
414
|
blog(LOG_INFO, "Get source settings for: %s", name.c_str());
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
415
|
+
|
|
416
|
+
auto it = sources.find(name);
|
|
417
|
+
|
|
418
|
+
if (it == sources.end()) {
|
|
419
|
+
blog(LOG_WARNING, "Source %s not found", name.c_str());
|
|
409
420
|
throw std::runtime_error("Source not found!");
|
|
410
421
|
}
|
|
411
422
|
|
|
423
|
+
obs_source_t* source = it->second;
|
|
412
424
|
obs_data_t *settings = obs_source_get_settings(source);
|
|
413
425
|
|
|
414
426
|
if (!settings) {
|
|
@@ -416,30 +428,34 @@ obs_data_t* ObsInterface::getSourceSettings(std::string name) {
|
|
|
416
428
|
throw std::runtime_error("Failed to get source settings!");
|
|
417
429
|
}
|
|
418
430
|
|
|
431
|
+
// obs_data_release(settings); TODO release after returning to client.
|
|
419
432
|
return settings;
|
|
420
433
|
}
|
|
421
434
|
|
|
422
435
|
void ObsInterface::setSourceSettings(std::string name, obs_data_t* settings) {
|
|
423
436
|
blog(LOG_INFO, "Set source settings for: %s", name.c_str());
|
|
424
|
-
|
|
437
|
+
auto it = sources.find(name);
|
|
425
438
|
|
|
426
|
-
if (
|
|
427
|
-
blog(
|
|
439
|
+
if (it == sources.end()) {
|
|
440
|
+
blog(LOG_WARNING, "Source %s not found", name.c_str());
|
|
428
441
|
throw std::runtime_error("Source not found!");
|
|
429
442
|
}
|
|
430
443
|
|
|
444
|
+
obs_source_t* source = it->second;
|
|
445
|
+
|
|
431
446
|
obs_source_update(source, settings);
|
|
432
447
|
}
|
|
433
448
|
|
|
434
449
|
obs_properties_t* ObsInterface::getSourceProperties(std::string name) {
|
|
435
450
|
blog(LOG_INFO, "Get source properties for: %s", name.c_str());
|
|
436
|
-
|
|
451
|
+
auto it = sources.find(name);
|
|
437
452
|
|
|
438
|
-
if (
|
|
439
|
-
blog(
|
|
453
|
+
if (it == sources.end()) {
|
|
454
|
+
blog(LOG_WARNING, "Source %s not found", name.c_str());
|
|
440
455
|
throw std::runtime_error("Source not found!");
|
|
441
456
|
}
|
|
442
457
|
|
|
458
|
+
obs_source_t* source = it->second;
|
|
443
459
|
obs_properties_t *props = obs_source_properties(source);
|
|
444
460
|
|
|
445
461
|
if (!props) {
|
|
@@ -511,7 +527,7 @@ void ObsInterface::disconnect_signal_handlers(obs_output_t *output) {
|
|
|
511
527
|
signal_handler_disconnect(sh, "saved", output_signal_handler_saved, this);
|
|
512
528
|
}
|
|
513
529
|
|
|
514
|
-
bool
|
|
530
|
+
bool draw_source_outline(obs_scene_t *scene, obs_sceneitem_t *item, void *p) {
|
|
515
531
|
// Get the item position and size
|
|
516
532
|
vec2 pos; vec2 scale;
|
|
517
533
|
obs_sceneitem_get_pos(item, &pos);
|
|
@@ -575,6 +591,8 @@ bool draw_box(obs_scene_t *scene, obs_sceneitem_t *item, void *p) {
|
|
|
575
591
|
}
|
|
576
592
|
|
|
577
593
|
void draw_callback(void* data, uint32_t cx, uint32_t cy) {
|
|
594
|
+
ObsInterface* obsInterface = (ObsInterface*)data;
|
|
595
|
+
|
|
578
596
|
obs_video_info ovi;
|
|
579
597
|
obs_get_video_info(&ovi);
|
|
580
598
|
|
|
@@ -606,7 +624,9 @@ void draw_callback(void* data, uint32_t cx, uint32_t cy) {
|
|
|
606
624
|
|
|
607
625
|
// Draw boxes around sources.
|
|
608
626
|
obs_scene_t* scene = obs_get_scene_by_name("WCR Scene");
|
|
609
|
-
|
|
627
|
+
if (obsInterface->getDrawSourceOutlineEnabled()) {
|
|
628
|
+
obs_scene_enum_items(scene, draw_source_outline, NULL);
|
|
629
|
+
}
|
|
610
630
|
obs_scene_release(scene);
|
|
611
631
|
|
|
612
632
|
gs_projection_pop();
|
|
@@ -657,7 +677,7 @@ void ObsInterface::initPreview(HWND parent) {
|
|
|
657
677
|
return;
|
|
658
678
|
}
|
|
659
679
|
|
|
660
|
-
obs_display_add_draw_callback(display, draw_callback,
|
|
680
|
+
obs_display_add_draw_callback(display, draw_callback, this);
|
|
661
681
|
}
|
|
662
682
|
|
|
663
683
|
obs_display_set_enabled(display, false);
|
|
@@ -734,10 +754,17 @@ float ObsInterface::getPreviewScaleFactor() {
|
|
|
734
754
|
return previewScale;
|
|
735
755
|
}
|
|
736
756
|
|
|
757
|
+
void ObsInterface::setDrawSourceOutline(bool enabled) {
|
|
758
|
+
drawSourceOutline = enabled;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
bool ObsInterface::getDrawSourceOutlineEnabled() {
|
|
762
|
+
return drawSourceOutline;
|
|
763
|
+
}
|
|
764
|
+
|
|
737
765
|
ObsInterface::ObsInterface(
|
|
738
|
-
const std::string&
|
|
766
|
+
const std::string& distPath,
|
|
739
767
|
const std::string& logPath,
|
|
740
|
-
const std::string& dataPath,
|
|
741
768
|
const std::string& recordingPath,
|
|
742
769
|
Napi::ThreadSafeFunction cb
|
|
743
770
|
) {
|
|
@@ -746,7 +773,7 @@ ObsInterface::ObsInterface(
|
|
|
746
773
|
blog(LOG_DEBUG, "Creating ObsInterface");
|
|
747
774
|
|
|
748
775
|
// Initialize OBS and load required modules.
|
|
749
|
-
init_obs(
|
|
776
|
+
init_obs(distPath);
|
|
750
777
|
|
|
751
778
|
// Setup callback function.
|
|
752
779
|
jscb = cb;
|
|
@@ -768,9 +795,11 @@ ObsInterface::~ObsInterface() {
|
|
|
768
795
|
jscb.Release();
|
|
769
796
|
}
|
|
770
797
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
798
|
+
for (auto& kv : sources) {
|
|
799
|
+
std::string name = kv.first;
|
|
800
|
+
obs_source_t* source = kv.second;
|
|
801
|
+
blog(LOG_DEBUG, "Releasing source: %s", name.c_str());
|
|
802
|
+
obs_source_release(source);
|
|
774
803
|
}
|
|
775
804
|
|
|
776
805
|
if (scene) {
|
|
@@ -952,21 +981,22 @@ std::string ObsInterface::getLastRecording() {
|
|
|
952
981
|
void ObsInterface::addSourceToScene(std::string name) {
|
|
953
982
|
blog(LOG_INFO, "ObsInterface::addSourceToScene called for source: %s", name.c_str());
|
|
954
983
|
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
if (
|
|
958
|
-
blog(LOG_WARNING, "
|
|
959
|
-
|
|
984
|
+
auto it = sources.find(name);
|
|
985
|
+
|
|
986
|
+
if (it == sources.end()) {
|
|
987
|
+
blog(LOG_WARNING, "Source %s not found", name.c_str());
|
|
988
|
+
throw std::runtime_error("Source not found!");
|
|
960
989
|
}
|
|
961
990
|
|
|
991
|
+
obs_source_t* source = it->second;
|
|
992
|
+
|
|
962
993
|
// TODO refuse to add twice?
|
|
994
|
+
obs_sceneitem_t *item = obs_scene_add(scene, source);
|
|
963
995
|
|
|
964
|
-
obs_sceneitem_t *item = obs_scene_add(scene, src);
|
|
965
|
-
|
|
966
996
|
if (!item) {
|
|
967
997
|
blog(LOG_ERROR, "Failed to add source to scene: %s", name.c_str());
|
|
968
|
-
obs_source_release(
|
|
969
|
-
|
|
998
|
+
obs_source_release(source);
|
|
999
|
+
throw std::runtime_error("Failed to add source to scene");
|
|
970
1000
|
}
|
|
971
1001
|
|
|
972
1002
|
blog(LOG_INFO, "ObsInterface::addSourceToScene exited");
|
|
@@ -988,16 +1018,24 @@ void ObsInterface::removeSourceFromScene(std::string name) {
|
|
|
988
1018
|
|
|
989
1019
|
void ObsInterface::getSourcePos(std::string name, vec2* pos, vec2* size, vec2* scale)
|
|
990
1020
|
{
|
|
991
|
-
|
|
992
|
-
obs_sceneitem_t *item = obs_scene_find_source(scene, name.c_str());
|
|
1021
|
+
auto it = sources.find(name);
|
|
993
1022
|
|
|
994
|
-
if (
|
|
995
|
-
blog(LOG_WARNING, "
|
|
1023
|
+
if (it == sources.end()) {
|
|
1024
|
+
blog(LOG_WARNING, "Source %s not found", name.c_str());
|
|
1025
|
+
throw std::runtime_error("Source not found!");
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
obs_source_t* source = it->second;
|
|
1029
|
+
|
|
1030
|
+
if (!source) {
|
|
1031
|
+
blog(LOG_WARNING, "Did not find source for video source: %s", name.c_str());
|
|
996
1032
|
return;
|
|
997
1033
|
}
|
|
998
1034
|
|
|
1035
|
+
obs_sceneitem_t *item = obs_scene_find_source(scene, name.c_str());
|
|
1036
|
+
|
|
999
1037
|
if (!item) {
|
|
1000
|
-
blog(LOG_WARNING, "Did not find scene item for video source: %s", name);
|
|
1038
|
+
blog(LOG_WARNING, "Did not find scene item for video source: %s", name.c_str());
|
|
1001
1039
|
return;
|
|
1002
1040
|
}
|
|
1003
1041
|
|
|
@@ -1005,15 +1043,15 @@ void ObsInterface::getSourcePos(std::string name, vec2* pos, vec2* size, vec2* s
|
|
|
1005
1043
|
obs_sceneitem_get_scale(item, scale);
|
|
1006
1044
|
|
|
1007
1045
|
// Pre-scaled sizes.
|
|
1008
|
-
size->x = obs_source_get_width(
|
|
1009
|
-
size->y = obs_source_get_height(
|
|
1046
|
+
size->x = obs_source_get_width(source);
|
|
1047
|
+
size->y = obs_source_get_height(source);
|
|
1010
1048
|
}
|
|
1011
1049
|
|
|
1012
1050
|
void ObsInterface::setSourcePos(std::string name, vec2* pos, vec2* scale) {
|
|
1013
1051
|
obs_sceneitem_t *item = obs_scene_find_source(scene, name.c_str());
|
|
1014
1052
|
|
|
1015
1053
|
if (!item) {
|
|
1016
|
-
blog(LOG_WARNING, "Did not find scene item for video source: %s", name);
|
|
1054
|
+
blog(LOG_WARNING, "Did not find scene item for video source: %s", name.c_str());
|
|
1017
1055
|
return;
|
|
1018
1056
|
}
|
|
1019
1057
|
|
package/src/obs_interface.h
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
+
#include <obs.h>
|
|
3
4
|
#include <napi.h>
|
|
5
|
+
#include <windows.h>
|
|
6
|
+
#include <map>
|
|
4
7
|
|
|
5
8
|
struct SignalData {
|
|
6
9
|
std::string id;
|
|
@@ -10,9 +13,8 @@ struct SignalData {
|
|
|
10
13
|
class ObsInterface {
|
|
11
14
|
public:
|
|
12
15
|
ObsInterface(
|
|
13
|
-
const std::string&
|
|
16
|
+
const std::string& distPath, // Where to look for plugins and data
|
|
14
17
|
const std::string& logPath, // Where to write logs to
|
|
15
|
-
const std::string& dataPath, // Where to look for effects
|
|
16
18
|
const std::string& recordingPath, // Where to save recordings
|
|
17
19
|
Napi::ThreadSafeFunction cb // JavaScript callback
|
|
18
20
|
);
|
|
@@ -41,6 +43,8 @@ class ObsInterface {
|
|
|
41
43
|
void showPreview(int x, int y, int width, int height); // Also used for moving and resizing.
|
|
42
44
|
void hidePreview(); // Hide the preview display.
|
|
43
45
|
float getPreviewScaleFactor(); // Get the current scale factor of the preview.
|
|
46
|
+
void setDrawSourceOutline(bool enabled); // Red box around source
|
|
47
|
+
bool getDrawSourceOutlineEnabled();
|
|
44
48
|
|
|
45
49
|
std::vector<std::string> get_available_video_encoders();
|
|
46
50
|
|
|
@@ -55,8 +59,6 @@ class ObsInterface {
|
|
|
55
59
|
obs_output_t *file_output = nullptr;
|
|
56
60
|
obs_output_t *buffer_output = nullptr;
|
|
57
61
|
obs_scene_t *scene = nullptr;
|
|
58
|
-
obs_source_t *video_source = nullptr;
|
|
59
|
-
obs_source_t *audio_source = nullptr;
|
|
60
62
|
obs_encoder_t *file_video_encoder = nullptr;
|
|
61
63
|
obs_encoder_t *file_audio_encoder = nullptr;
|
|
62
64
|
obs_encoder_t *buffer_video_encoder = nullptr;
|
|
@@ -66,11 +68,13 @@ class ObsInterface {
|
|
|
66
68
|
Napi::ThreadSafeFunction jscb; // javascript callback
|
|
67
69
|
std::string recording_path = "";
|
|
68
70
|
bool buffering = false; // Whether we are buffering the recording in memory.
|
|
71
|
+
bool drawSourceOutline = false; // Draw red outline around source
|
|
72
|
+
std::map<std::string, obs_source_t*> sources; // Map of source names to obs_source_t pointers.
|
|
69
73
|
|
|
70
|
-
void init_obs(const std::string&
|
|
74
|
+
void init_obs(const std::string& distPath);
|
|
71
75
|
void reset_video();
|
|
72
76
|
void reset_audio();
|
|
73
|
-
void load_module(const char* module);
|
|
77
|
+
void load_module(const char* module, const char* data); // Load a module, data is optional.
|
|
74
78
|
void connect_signal_handlers(obs_output_t *output);
|
|
75
79
|
void disconnect_signal_handlers(obs_output_t *output);
|
|
76
80
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|