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.
Files changed (379) hide show
  1. package/README.md +2 -3
  2. package/dist/bin/obs-nvenc-test.exe +0 -0
  3. package/dist/bin/obs-qsv-test.exe +0 -0
  4. package/dist/data/obs-plugins/image-source/locale/af-ZA.ini +29 -0
  5. package/dist/data/obs-plugins/image-source/locale/ar-SA.ini +38 -0
  6. package/dist/data/obs-plugins/image-source/locale/az-AZ.ini +29 -0
  7. package/dist/data/obs-plugins/image-source/locale/ba-RU.ini +9 -0
  8. package/dist/data/obs-plugins/image-source/locale/be-BY.ini +38 -0
  9. package/dist/data/obs-plugins/image-source/locale/bg-BG.ini +22 -0
  10. package/dist/data/obs-plugins/image-source/locale/bn-BD.ini +32 -0
  11. package/dist/data/obs-plugins/image-source/locale/ca-ES.ini +37 -0
  12. package/dist/data/obs-plugins/image-source/locale/cs-CZ.ini +38 -0
  13. package/dist/data/obs-plugins/image-source/locale/da-DK.ini +36 -0
  14. package/dist/data/obs-plugins/image-source/locale/de-DE.ini +36 -0
  15. package/dist/data/obs-plugins/image-source/locale/el-GR.ini +34 -0
  16. package/dist/data/obs-plugins/image-source/locale/en-GB.ini +4 -0
  17. package/dist/data/obs-plugins/image-source/locale/en-US.ini +40 -0
  18. package/dist/data/obs-plugins/image-source/locale/es-ES.ini +37 -0
  19. package/dist/data/obs-plugins/image-source/locale/et-EE.ini +38 -0
  20. package/dist/data/obs-plugins/image-source/locale/eu-ES.ini +34 -0
  21. package/dist/data/obs-plugins/image-source/locale/fa-IR.ini +38 -0
  22. package/dist/data/obs-plugins/image-source/locale/fi-FI.ini +38 -0
  23. package/dist/data/obs-plugins/image-source/locale/fil-PH.ini +33 -0
  24. package/dist/data/obs-plugins/image-source/locale/fr-FR.ini +36 -0
  25. package/dist/data/obs-plugins/image-source/locale/gd-GB.ini +32 -0
  26. package/dist/data/obs-plugins/image-source/locale/gl-ES.ini +38 -0
  27. package/dist/data/obs-plugins/image-source/locale/he-IL.ini +38 -0
  28. package/dist/data/obs-plugins/image-source/locale/hi-IN.ini +38 -0
  29. package/dist/data/obs-plugins/image-source/locale/hr-HR.ini +34 -0
  30. package/dist/data/obs-plugins/image-source/locale/hu-HU.ini +38 -0
  31. package/dist/data/obs-plugins/image-source/locale/hy-AM.ini +34 -0
  32. package/dist/data/obs-plugins/image-source/locale/id-ID.ini +38 -0
  33. package/dist/data/obs-plugins/image-source/locale/it-IT.ini +36 -0
  34. package/dist/data/obs-plugins/image-source/locale/ja-JP.ini +38 -0
  35. package/dist/data/obs-plugins/image-source/locale/ka-GE.ini +38 -0
  36. package/dist/data/obs-plugins/image-source/locale/kaa.ini +21 -0
  37. package/dist/data/obs-plugins/image-source/locale/kab-KAB.ini +31 -0
  38. package/dist/data/obs-plugins/image-source/locale/kmr-TR.ini +34 -0
  39. package/dist/data/obs-plugins/image-source/locale/ko-KR.ini +38 -0
  40. package/dist/data/obs-plugins/image-source/locale/lo-LA.ini +2 -0
  41. package/dist/data/obs-plugins/image-source/locale/lt-LT.ini +32 -0
  42. package/dist/data/obs-plugins/image-source/locale/mn-MN.ini +19 -0
  43. package/dist/data/obs-plugins/image-source/locale/ms-MY.ini +38 -0
  44. package/dist/data/obs-plugins/image-source/locale/nb-NO.ini +35 -0
  45. package/dist/data/obs-plugins/image-source/locale/nl-NL.ini +36 -0
  46. package/dist/data/obs-plugins/image-source/locale/nn-NO.ini +6 -0
  47. package/dist/data/obs-plugins/image-source/locale/oc-FR.ini +2 -0
  48. package/dist/data/obs-plugins/image-source/locale/pa-IN.ini +1 -0
  49. package/dist/data/obs-plugins/image-source/locale/pl-PL.ini +38 -0
  50. package/dist/data/obs-plugins/image-source/locale/pt-BR.ini +36 -0
  51. package/dist/data/obs-plugins/image-source/locale/pt-PT.ini +38 -0
  52. package/dist/data/obs-plugins/image-source/locale/ro-RO.ini +34 -0
  53. package/dist/data/obs-plugins/image-source/locale/ru-RU.ini +38 -0
  54. package/dist/data/obs-plugins/image-source/locale/si-LK.ini +16 -0
  55. package/dist/data/obs-plugins/image-source/locale/sk-SK.ini +38 -0
  56. package/dist/data/obs-plugins/image-source/locale/sl-SI.ini +34 -0
  57. package/dist/data/obs-plugins/image-source/locale/sq-AL.ini +1 -0
  58. package/dist/data/obs-plugins/image-source/locale/sr-CS.ini +31 -0
  59. package/dist/data/obs-plugins/image-source/locale/sr-SP.ini +31 -0
  60. package/dist/data/obs-plugins/image-source/locale/sv-SE.ini +38 -0
  61. package/dist/data/obs-plugins/image-source/locale/ta-IN.ini +15 -0
  62. package/dist/data/obs-plugins/image-source/locale/th-TH.ini +38 -0
  63. package/dist/data/obs-plugins/image-source/locale/tl-PH.ini +31 -0
  64. package/dist/data/obs-plugins/image-source/locale/tr-TR.ini +38 -0
  65. package/dist/data/obs-plugins/image-source/locale/tt-RU.ini +13 -0
  66. package/dist/data/obs-plugins/image-source/locale/ug-CN.ini +38 -0
  67. package/dist/data/obs-plugins/image-source/locale/uk-UA.ini +38 -0
  68. package/dist/data/obs-plugins/image-source/locale/ur-PK.ini +1 -0
  69. package/dist/data/obs-plugins/image-source/locale/vi-VN.ini +38 -0
  70. package/dist/data/obs-plugins/image-source/locale/zh-CN.ini +38 -0
  71. package/dist/data/obs-plugins/image-source/locale/zh-TW.ini +38 -0
  72. package/dist/data/obs-plugins/obs-ffmpeg/locale/af-ZA.ini +73 -0
  73. package/dist/data/obs-plugins/obs-ffmpeg/locale/ar-SA.ini +101 -0
  74. package/dist/data/obs-plugins/obs-ffmpeg/locale/ba-RU.ini +12 -0
  75. package/dist/data/obs-plugins/obs-ffmpeg/locale/be-BY.ini +101 -0
  76. package/dist/data/obs-plugins/obs-ffmpeg/locale/bg-BG.ini +67 -0
  77. package/dist/data/obs-plugins/obs-ffmpeg/locale/bn-BD.ini +48 -0
  78. package/dist/data/obs-plugins/obs-ffmpeg/locale/ca-ES.ini +101 -0
  79. package/dist/data/obs-plugins/obs-ffmpeg/locale/cs-CZ.ini +98 -0
  80. package/dist/data/obs-plugins/obs-ffmpeg/locale/da-DK.ini +83 -0
  81. package/dist/data/obs-plugins/obs-ffmpeg/locale/de-DE.ini +97 -0
  82. package/dist/data/obs-plugins/obs-ffmpeg/locale/el-GR.ini +85 -0
  83. package/dist/data/obs-plugins/obs-ffmpeg/locale/en-GB.ini +10 -0
  84. package/dist/data/obs-plugins/obs-ffmpeg/locale/en-US.ini +127 -0
  85. package/dist/data/obs-plugins/obs-ffmpeg/locale/es-ES.ini +96 -0
  86. package/dist/data/obs-plugins/obs-ffmpeg/locale/et-EE.ini +73 -0
  87. package/dist/data/obs-plugins/obs-ffmpeg/locale/eu-ES.ini +89 -0
  88. package/dist/data/obs-plugins/obs-ffmpeg/locale/fa-IR.ini +102 -0
  89. package/dist/data/obs-plugins/obs-ffmpeg/locale/fi-FI.ini +96 -0
  90. package/dist/data/obs-plugins/obs-ffmpeg/locale/fil-PH.ini +77 -0
  91. package/dist/data/obs-plugins/obs-ffmpeg/locale/fr-FR.ini +94 -0
  92. package/dist/data/obs-plugins/obs-ffmpeg/locale/gd-GB.ini +48 -0
  93. package/dist/data/obs-plugins/obs-ffmpeg/locale/gl-ES.ini +97 -0
  94. package/dist/data/obs-plugins/obs-ffmpeg/locale/he-IL.ini +100 -0
  95. package/dist/data/obs-plugins/obs-ffmpeg/locale/hi-IN.ini +101 -0
  96. package/dist/data/obs-plugins/obs-ffmpeg/locale/hr-HR.ini +51 -0
  97. package/dist/data/obs-plugins/obs-ffmpeg/locale/hu-HU.ini +100 -0
  98. package/dist/data/obs-plugins/obs-ffmpeg/locale/hy-AM.ini +95 -0
  99. package/dist/data/obs-plugins/obs-ffmpeg/locale/id-ID.ini +88 -0
  100. package/dist/data/obs-plugins/obs-ffmpeg/locale/is-IS.ini +2 -0
  101. package/dist/data/obs-plugins/obs-ffmpeg/locale/it-IT.ini +96 -0
  102. package/dist/data/obs-plugins/obs-ffmpeg/locale/ja-JP.ini +88 -0
  103. package/dist/data/obs-plugins/obs-ffmpeg/locale/ka-GE.ini +102 -0
  104. package/dist/data/obs-plugins/obs-ffmpeg/locale/kaa.ini +42 -0
  105. package/dist/data/obs-plugins/obs-ffmpeg/locale/kab-KAB.ini +34 -0
  106. package/dist/data/obs-plugins/obs-ffmpeg/locale/kmr-TR.ini +89 -0
  107. package/dist/data/obs-plugins/obs-ffmpeg/locale/ko-KR.ini +96 -0
  108. package/dist/data/obs-plugins/obs-ffmpeg/locale/ms-MY.ini +93 -0
  109. package/dist/data/obs-plugins/obs-ffmpeg/locale/nb-NO.ini +71 -0
  110. package/dist/data/obs-plugins/obs-ffmpeg/locale/nl-NL.ini +85 -0
  111. package/dist/data/obs-plugins/obs-ffmpeg/locale/nn-NO.ini +21 -0
  112. package/dist/data/obs-plugins/obs-ffmpeg/locale/oc-FR.ini +1 -0
  113. package/dist/data/obs-plugins/obs-ffmpeg/locale/pl-PL.ini +96 -0
  114. package/dist/data/obs-plugins/obs-ffmpeg/locale/pt-BR.ini +95 -0
  115. package/dist/data/obs-plugins/obs-ffmpeg/locale/pt-PT.ini +97 -0
  116. package/dist/data/obs-plugins/obs-ffmpeg/locale/ro-RO.ini +92 -0
  117. package/dist/data/obs-plugins/obs-ffmpeg/locale/ru-RU.ini +102 -0
  118. package/dist/data/obs-plugins/obs-ffmpeg/locale/si-LK.ini +53 -0
  119. package/dist/data/obs-plugins/obs-ffmpeg/locale/sk-SK.ini +86 -0
  120. package/dist/data/obs-plugins/obs-ffmpeg/locale/sl-SI.ini +99 -0
  121. package/dist/data/obs-plugins/obs-ffmpeg/locale/sr-CS.ini +34 -0
  122. package/dist/data/obs-plugins/obs-ffmpeg/locale/sr-SP.ini +52 -0
  123. package/dist/data/obs-plugins/obs-ffmpeg/locale/sv-SE.ini +101 -0
  124. package/dist/data/obs-plugins/obs-ffmpeg/locale/szl-PL.ini +23 -0
  125. package/dist/data/obs-plugins/obs-ffmpeg/locale/ta-IN.ini +20 -0
  126. package/dist/data/obs-plugins/obs-ffmpeg/locale/th-TH.ini +98 -0
  127. package/dist/data/obs-plugins/obs-ffmpeg/locale/tl-PH.ini +26 -0
  128. package/dist/data/obs-plugins/obs-ffmpeg/locale/tr-TR.ini +98 -0
  129. package/dist/data/obs-plugins/obs-ffmpeg/locale/tt-RU.ini +32 -0
  130. package/dist/data/obs-plugins/obs-ffmpeg/locale/ug-CN.ini +96 -0
  131. package/dist/data/obs-plugins/obs-ffmpeg/locale/uk-UA.ini +98 -0
  132. package/dist/data/obs-plugins/obs-ffmpeg/locale/ur-PK.ini +1 -0
  133. package/dist/data/obs-plugins/obs-ffmpeg/locale/vi-VN.ini +91 -0
  134. package/dist/data/obs-plugins/obs-ffmpeg/locale/zh-CN.ini +101 -0
  135. package/dist/data/obs-plugins/obs-ffmpeg/locale/zh-TW.ini +98 -0
  136. package/dist/data/obs-plugins/obs-x264/locale/af-ZA.ini +8 -0
  137. package/dist/data/obs-plugins/obs-x264/locale/ar-SA.ini +13 -0
  138. package/dist/data/obs-plugins/obs-x264/locale/az-AZ.ini +12 -0
  139. package/dist/data/obs-plugins/obs-x264/locale/ba-RU.ini +4 -0
  140. package/dist/data/obs-plugins/obs-x264/locale/be-BY.ini +13 -0
  141. package/dist/data/obs-plugins/obs-x264/locale/bg-BG.ini +7 -0
  142. package/dist/data/obs-plugins/obs-x264/locale/bn-BD.ini +10 -0
  143. package/dist/data/obs-plugins/obs-x264/locale/ca-ES.ini +13 -0
  144. package/dist/data/obs-plugins/obs-x264/locale/cs-CZ.ini +12 -0
  145. package/dist/data/obs-plugins/obs-x264/locale/da-DK.ini +13 -0
  146. package/dist/data/obs-plugins/obs-x264/locale/de-DE.ini +10 -0
  147. package/dist/data/obs-plugins/obs-x264/locale/el-GR.ini +13 -0
  148. package/dist/data/obs-plugins/obs-x264/locale/en-GB.ini +1 -0
  149. package/dist/data/obs-plugins/obs-x264/locale/en-US.ini +14 -0
  150. package/dist/data/obs-plugins/obs-x264/locale/es-ES.ini +13 -0
  151. package/dist/data/obs-plugins/obs-x264/locale/et-EE.ini +13 -0
  152. package/dist/data/obs-plugins/obs-x264/locale/eu-ES.ini +12 -0
  153. package/dist/data/obs-plugins/obs-x264/locale/fa-IR.ini +13 -0
  154. package/dist/data/obs-plugins/obs-x264/locale/fi-FI.ini +13 -0
  155. package/dist/data/obs-plugins/obs-x264/locale/fil-PH.ini +12 -0
  156. package/dist/data/obs-plugins/obs-x264/locale/fr-FR.ini +13 -0
  157. package/dist/data/obs-plugins/obs-x264/locale/gd-GB.ini +10 -0
  158. package/dist/data/obs-plugins/obs-x264/locale/gl-ES.ini +13 -0
  159. package/dist/data/obs-plugins/obs-x264/locale/he-IL.ini +13 -0
  160. package/dist/data/obs-plugins/obs-x264/locale/hi-IN.ini +13 -0
  161. package/dist/data/obs-plugins/obs-x264/locale/hr-HR.ini +13 -0
  162. package/dist/data/obs-plugins/obs-x264/locale/hu-HU.ini +13 -0
  163. package/dist/data/obs-plugins/obs-x264/locale/hy-AM.ini +13 -0
  164. package/dist/data/obs-plugins/obs-x264/locale/id-ID.ini +11 -0
  165. package/dist/data/obs-plugins/obs-x264/locale/it-IT.ini +13 -0
  166. package/dist/data/obs-plugins/obs-x264/locale/ja-JP.ini +13 -0
  167. package/dist/data/obs-plugins/obs-x264/locale/ka-GE.ini +13 -0
  168. package/dist/data/obs-plugins/obs-x264/locale/kaa.ini +5 -0
  169. package/dist/data/obs-plugins/obs-x264/locale/kab-KAB.ini +10 -0
  170. package/dist/data/obs-plugins/obs-x264/locale/kmr-TR.ini +12 -0
  171. package/dist/data/obs-plugins/obs-x264/locale/ko-KR.ini +13 -0
  172. package/dist/data/obs-plugins/obs-x264/locale/lv-LV.ini +4 -0
  173. package/dist/data/obs-plugins/obs-x264/locale/mn-MN.ini +10 -0
  174. package/dist/data/obs-plugins/obs-x264/locale/ms-MY.ini +13 -0
  175. package/dist/data/obs-plugins/obs-x264/locale/nb-NO.ini +9 -0
  176. package/dist/data/obs-plugins/obs-x264/locale/nl-NL.ini +11 -0
  177. package/dist/data/obs-plugins/obs-x264/locale/nn-NO.ini +1 -0
  178. package/dist/data/obs-plugins/obs-x264/locale/oc-FR.ini +1 -0
  179. package/dist/data/obs-plugins/obs-x264/locale/pl-PL.ini +13 -0
  180. package/dist/data/obs-plugins/obs-x264/locale/pt-BR.ini +13 -0
  181. package/dist/data/obs-plugins/obs-x264/locale/pt-PT.ini +13 -0
  182. package/dist/data/obs-plugins/obs-x264/locale/ro-RO.ini +13 -0
  183. package/dist/data/obs-plugins/obs-x264/locale/ru-RU.ini +13 -0
  184. package/dist/data/obs-plugins/obs-x264/locale/si-LK.ini +8 -0
  185. package/dist/data/obs-plugins/obs-x264/locale/sk-SK.ini +12 -0
  186. package/dist/data/obs-plugins/obs-x264/locale/sl-SI.ini +13 -0
  187. package/dist/data/obs-plugins/obs-x264/locale/sq-AL.ini +3 -0
  188. package/dist/data/obs-plugins/obs-x264/locale/sr-CS.ini +10 -0
  189. package/dist/data/obs-plugins/obs-x264/locale/sr-SP.ini +10 -0
  190. package/dist/data/obs-plugins/obs-x264/locale/sv-SE.ini +12 -0
  191. package/dist/data/obs-plugins/obs-x264/locale/szl-PL.ini +9 -0
  192. package/dist/data/obs-plugins/obs-x264/locale/ta-IN.ini +4 -0
  193. package/dist/data/obs-plugins/obs-x264/locale/th-TH.ini +13 -0
  194. package/dist/data/obs-plugins/obs-x264/locale/tl-PH.ini +9 -0
  195. package/dist/data/obs-plugins/obs-x264/locale/tr-TR.ini +13 -0
  196. package/dist/data/obs-plugins/obs-x264/locale/tt-RU.ini +4 -0
  197. package/dist/data/obs-plugins/obs-x264/locale/ug-CN.ini +13 -0
  198. package/dist/data/obs-plugins/obs-x264/locale/uk-UA.ini +13 -0
  199. package/dist/data/obs-plugins/obs-x264/locale/ur-PK.ini +1 -0
  200. package/dist/data/obs-plugins/obs-x264/locale/vi-VN.ini +13 -0
  201. package/dist/data/obs-plugins/obs-x264/locale/zh-CN.ini +13 -0
  202. package/dist/data/obs-plugins/obs-x264/locale/zh-TW.ini +13 -0
  203. package/dist/data/obs-plugins/win-capture/compatibility.json +664 -0
  204. package/dist/data/obs-plugins/win-capture/get-graphics-offsets32.exe +0 -0
  205. package/dist/data/obs-plugins/win-capture/get-graphics-offsets64.exe +0 -0
  206. package/dist/data/obs-plugins/win-capture/graphics-hook32.dll +0 -0
  207. package/dist/data/obs-plugins/win-capture/graphics-hook64.dll +0 -0
  208. package/dist/data/obs-plugins/win-capture/inject-helper32.exe +0 -0
  209. package/dist/data/obs-plugins/win-capture/inject-helper64.exe +0 -0
  210. package/dist/data/obs-plugins/win-capture/locale/af-ZA.ini +30 -0
  211. package/dist/data/obs-plugins/win-capture/locale/ar-SA.ini +54 -0
  212. package/dist/data/obs-plugins/win-capture/locale/az-AZ.ini +13 -0
  213. package/dist/data/obs-plugins/win-capture/locale/ba-RU.ini +2 -0
  214. package/dist/data/obs-plugins/win-capture/locale/be-BY.ini +54 -0
  215. package/dist/data/obs-plugins/win-capture/locale/bg-BG.ini +33 -0
  216. package/dist/data/obs-plugins/win-capture/locale/bn-BD.ini +36 -0
  217. package/dist/data/obs-plugins/win-capture/locale/ca-ES.ini +53 -0
  218. package/dist/data/obs-plugins/win-capture/locale/cs-CZ.ini +54 -0
  219. package/dist/data/obs-plugins/win-capture/locale/da-DK.ini +53 -0
  220. package/dist/data/obs-plugins/win-capture/locale/de-DE.ini +53 -0
  221. package/dist/data/obs-plugins/win-capture/locale/el-GR.ini +48 -0
  222. package/dist/data/obs-plugins/win-capture/locale/en-GB.ini +3 -0
  223. package/dist/data/obs-plugins/win-capture/locale/en-US.ini +60 -0
  224. package/dist/data/obs-plugins/win-capture/locale/es-ES.ini +53 -0
  225. package/dist/data/obs-plugins/win-capture/locale/et-EE.ini +44 -0
  226. package/dist/data/obs-plugins/win-capture/locale/eu-ES.ini +38 -0
  227. package/dist/data/obs-plugins/win-capture/locale/fa-IR.ini +54 -0
  228. package/dist/data/obs-plugins/win-capture/locale/fi-FI.ini +54 -0
  229. package/dist/data/obs-plugins/win-capture/locale/fil-PH.ini +36 -0
  230. package/dist/data/obs-plugins/win-capture/locale/fr-FR.ini +52 -0
  231. package/dist/data/obs-plugins/win-capture/locale/gd-GB.ini +36 -0
  232. package/dist/data/obs-plugins/win-capture/locale/gl-ES.ini +54 -0
  233. package/dist/data/obs-plugins/win-capture/locale/he-IL.ini +54 -0
  234. package/dist/data/obs-plugins/win-capture/locale/hi-IN.ini +54 -0
  235. package/dist/data/obs-plugins/win-capture/locale/hr-HR.ini +40 -0
  236. package/dist/data/obs-plugins/win-capture/locale/hu-HU.ini +54 -0
  237. package/dist/data/obs-plugins/win-capture/locale/hy-AM.ini +42 -0
  238. package/dist/data/obs-plugins/win-capture/locale/id-ID.ini +52 -0
  239. package/dist/data/obs-plugins/win-capture/locale/is-IS.ini +2 -0
  240. package/dist/data/obs-plugins/win-capture/locale/it-IT.ini +53 -0
  241. package/dist/data/obs-plugins/win-capture/locale/ja-JP.ini +54 -0
  242. package/dist/data/obs-plugins/win-capture/locale/ka-GE.ini +54 -0
  243. package/dist/data/obs-plugins/win-capture/locale/kaa.ini +19 -0
  244. package/dist/data/obs-plugins/win-capture/locale/kab-KAB.ini +27 -0
  245. package/dist/data/obs-plugins/win-capture/locale/kmr-TR.ini +42 -0
  246. package/dist/data/obs-plugins/win-capture/locale/ko-KR.ini +54 -0
  247. package/dist/data/obs-plugins/win-capture/locale/lo-LA.ini +6 -0
  248. package/dist/data/obs-plugins/win-capture/locale/lt-LT.ini +36 -0
  249. package/dist/data/obs-plugins/win-capture/locale/mn-MN.ini +21 -0
  250. package/dist/data/obs-plugins/win-capture/locale/ms-MY.ini +53 -0
  251. package/dist/data/obs-plugins/win-capture/locale/nb-NO.ini +39 -0
  252. package/dist/data/obs-plugins/win-capture/locale/nl-NL.ini +50 -0
  253. package/dist/data/obs-plugins/win-capture/locale/nn-NO.ini +4 -0
  254. package/dist/data/obs-plugins/win-capture/locale/pl-PL.ini +54 -0
  255. package/dist/data/obs-plugins/win-capture/locale/pt-BR.ini +54 -0
  256. package/dist/data/obs-plugins/win-capture/locale/pt-PT.ini +54 -0
  257. package/dist/data/obs-plugins/win-capture/locale/ro-RO.ini +41 -0
  258. package/dist/data/obs-plugins/win-capture/locale/ru-RU.ini +54 -0
  259. package/dist/data/obs-plugins/win-capture/locale/si-LK.ini +24 -0
  260. package/dist/data/obs-plugins/win-capture/locale/sk-SK.ini +53 -0
  261. package/dist/data/obs-plugins/win-capture/locale/sl-SI.ini +52 -0
  262. package/dist/data/obs-plugins/win-capture/locale/sq-AL.ini +16 -0
  263. package/dist/data/obs-plugins/win-capture/locale/sr-CS.ini +28 -0
  264. package/dist/data/obs-plugins/win-capture/locale/sr-SP.ini +38 -0
  265. package/dist/data/obs-plugins/win-capture/locale/sv-SE.ini +54 -0
  266. package/dist/data/obs-plugins/win-capture/locale/ta-IN.ini +17 -0
  267. package/dist/data/obs-plugins/win-capture/locale/th-TH.ini +54 -0
  268. package/dist/data/obs-plugins/win-capture/locale/tl-PH.ini +23 -0
  269. package/dist/data/obs-plugins/win-capture/locale/tr-TR.ini +54 -0
  270. package/dist/data/obs-plugins/win-capture/locale/tt-RU.ini +14 -0
  271. package/dist/data/obs-plugins/win-capture/locale/ug-CN.ini +54 -0
  272. package/dist/data/obs-plugins/win-capture/locale/uk-UA.ini +54 -0
  273. package/dist/data/obs-plugins/win-capture/locale/vi-VN.ini +54 -0
  274. package/dist/data/obs-plugins/win-capture/locale/zh-CN.ini +54 -0
  275. package/dist/data/obs-plugins/win-capture/locale/zh-TW.ini +54 -0
  276. package/dist/data/obs-plugins/win-capture/obs-vulkan32.json +17 -0
  277. package/dist/data/obs-plugins/win-capture/obs-vulkan64.json +17 -0
  278. package/dist/data/obs-plugins/win-capture/package.json +11 -0
  279. package/dist/data/obs-plugins/win-capture/schema/compatibility-schema-v1.json +99 -0
  280. package/dist/data/obs-plugins/win-capture/schema/package-schema.json +47 -0
  281. package/dist/data/obs-plugins/win-wasapi/locale/af-ZA.ini +8 -0
  282. package/dist/data/obs-plugins/win-wasapi/locale/an-ES.ini +5 -0
  283. package/dist/data/obs-plugins/win-wasapi/locale/ar-SA.ini +11 -0
  284. package/dist/data/obs-plugins/win-wasapi/locale/ba-RU.ini +2 -0
  285. package/dist/data/obs-plugins/win-wasapi/locale/be-BY.ini +11 -0
  286. package/dist/data/obs-plugins/win-wasapi/locale/bg-BG.ini +3 -0
  287. package/dist/data/obs-plugins/win-wasapi/locale/bn-BD.ini +5 -0
  288. package/dist/data/obs-plugins/win-wasapi/locale/ca-ES.ini +11 -0
  289. package/dist/data/obs-plugins/win-wasapi/locale/cs-CZ.ini +11 -0
  290. package/dist/data/obs-plugins/win-wasapi/locale/da-DK.ini +11 -0
  291. package/dist/data/obs-plugins/win-wasapi/locale/de-DE.ini +11 -0
  292. package/dist/data/obs-plugins/win-wasapi/locale/el-GR.ini +11 -0
  293. package/dist/data/obs-plugins/win-wasapi/locale/en-GB.ini +1 -0
  294. package/dist/data/obs-plugins/win-wasapi/locale/en-US.ini +11 -0
  295. package/dist/data/obs-plugins/win-wasapi/locale/es-ES.ini +11 -0
  296. package/dist/data/obs-plugins/win-wasapi/locale/et-EE.ini +11 -0
  297. package/dist/data/obs-plugins/win-wasapi/locale/eu-ES.ini +11 -0
  298. package/dist/data/obs-plugins/win-wasapi/locale/fa-IR.ini +11 -0
  299. package/dist/data/obs-plugins/win-wasapi/locale/fi-FI.ini +11 -0
  300. package/dist/data/obs-plugins/win-wasapi/locale/fil-PH.ini +9 -0
  301. package/dist/data/obs-plugins/win-wasapi/locale/fr-FR.ini +11 -0
  302. package/dist/data/obs-plugins/win-wasapi/locale/gd-GB.ini +5 -0
  303. package/dist/data/obs-plugins/win-wasapi/locale/gl-ES.ini +11 -0
  304. package/dist/data/obs-plugins/win-wasapi/locale/he-IL.ini +11 -0
  305. package/dist/data/obs-plugins/win-wasapi/locale/hi-IN.ini +11 -0
  306. package/dist/data/obs-plugins/win-wasapi/locale/hr-HR.ini +6 -0
  307. package/dist/data/obs-plugins/win-wasapi/locale/hu-HU.ini +11 -0
  308. package/dist/data/obs-plugins/win-wasapi/locale/hy-AM.ini +10 -0
  309. package/dist/data/obs-plugins/win-wasapi/locale/id-ID.ini +11 -0
  310. package/dist/data/obs-plugins/win-wasapi/locale/is-IS.ini +1 -0
  311. package/dist/data/obs-plugins/win-wasapi/locale/it-IT.ini +11 -0
  312. package/dist/data/obs-plugins/win-wasapi/locale/ja-JP.ini +11 -0
  313. package/dist/data/obs-plugins/win-wasapi/locale/ka-GE.ini +11 -0
  314. package/dist/data/obs-plugins/win-wasapi/locale/kaa.ini +3 -0
  315. package/dist/data/obs-plugins/win-wasapi/locale/kab-KAB.ini +4 -0
  316. package/dist/data/obs-plugins/win-wasapi/locale/kmr-TR.ini +10 -0
  317. package/dist/data/obs-plugins/win-wasapi/locale/ko-KR.ini +11 -0
  318. package/dist/data/obs-plugins/win-wasapi/locale/lt-LT.ini +2 -0
  319. package/dist/data/obs-plugins/win-wasapi/locale/mn-MN.ini +5 -0
  320. package/dist/data/obs-plugins/win-wasapi/locale/ms-MY.ini +11 -0
  321. package/dist/data/obs-plugins/win-wasapi/locale/nb-NO.ini +7 -0
  322. package/dist/data/obs-plugins/win-wasapi/locale/nl-NL.ini +11 -0
  323. package/dist/data/obs-plugins/win-wasapi/locale/nn-NO.ini +2 -0
  324. package/dist/data/obs-plugins/win-wasapi/locale/pl-PL.ini +11 -0
  325. package/dist/data/obs-plugins/win-wasapi/locale/pt-BR.ini +11 -0
  326. package/dist/data/obs-plugins/win-wasapi/locale/pt-PT.ini +11 -0
  327. package/dist/data/obs-plugins/win-wasapi/locale/ro-RO.ini +10 -0
  328. package/dist/data/obs-plugins/win-wasapi/locale/ru-RU.ini +11 -0
  329. package/dist/data/obs-plugins/win-wasapi/locale/si-LK.ini +5 -0
  330. package/dist/data/obs-plugins/win-wasapi/locale/sk-SK.ini +11 -0
  331. package/dist/data/obs-plugins/win-wasapi/locale/sl-SI.ini +11 -0
  332. package/dist/data/obs-plugins/win-wasapi/locale/sq-AL.ini +1 -0
  333. package/dist/data/obs-plugins/win-wasapi/locale/sr-CS.ini +5 -0
  334. package/dist/data/obs-plugins/win-wasapi/locale/sr-SP.ini +10 -0
  335. package/dist/data/obs-plugins/win-wasapi/locale/sv-SE.ini +11 -0
  336. package/dist/data/obs-plugins/win-wasapi/locale/szl-PL.ini +5 -0
  337. package/dist/data/obs-plugins/win-wasapi/locale/ta-IN.ini +5 -0
  338. package/dist/data/obs-plugins/win-wasapi/locale/th-TH.ini +11 -0
  339. package/dist/data/obs-plugins/win-wasapi/locale/tl-PH.ini +5 -0
  340. package/dist/data/obs-plugins/win-wasapi/locale/tr-TR.ini +11 -0
  341. package/dist/data/obs-plugins/win-wasapi/locale/tt-RU.ini +5 -0
  342. package/dist/data/obs-plugins/win-wasapi/locale/ug-CN.ini +11 -0
  343. package/dist/data/obs-plugins/win-wasapi/locale/uk-UA.ini +11 -0
  344. package/dist/data/obs-plugins/win-wasapi/locale/ur-PK.ini +1 -0
  345. package/dist/data/obs-plugins/win-wasapi/locale/vi-VN.ini +11 -0
  346. package/dist/data/obs-plugins/win-wasapi/locale/zh-CN.ini +11 -0
  347. package/dist/data/obs-plugins/win-wasapi/locale/zh-TW.ini +11 -0
  348. package/dist/noobs.node +0 -0
  349. package/dist/{plugins → obs-plugins}/win-capture.dll +0 -0
  350. package/index.d.ts +12 -2
  351. package/package.json +3 -2
  352. package/src/main.cpp +27 -10
  353. package/src/obs_interface.cpp +102 -64
  354. package/src/obs_interface.h +10 -6
  355. /package/dist/{effects → data/effects}/area.effect +0 -0
  356. /package/dist/{effects → data/effects}/bicubic_scale.effect +0 -0
  357. /package/dist/{effects → data/effects}/bilinear_lowres_scale.effect +0 -0
  358. /package/dist/{effects → data/effects}/color.effect +0 -0
  359. /package/dist/{effects → data/effects}/default.effect +0 -0
  360. /package/dist/{effects → data/effects}/default_rect.effect +0 -0
  361. /package/dist/{effects → data/effects}/deinterlace_base.effect +0 -0
  362. /package/dist/{effects → data/effects}/deinterlace_blend.effect +0 -0
  363. /package/dist/{effects → data/effects}/deinterlace_blend_2x.effect +0 -0
  364. /package/dist/{effects → data/effects}/deinterlace_discard.effect +0 -0
  365. /package/dist/{effects → data/effects}/deinterlace_discard_2x.effect +0 -0
  366. /package/dist/{effects → data/effects}/deinterlace_linear.effect +0 -0
  367. /package/dist/{effects → data/effects}/deinterlace_linear_2x.effect +0 -0
  368. /package/dist/{effects → data/effects}/deinterlace_yadif.effect +0 -0
  369. /package/dist/{effects → data/effects}/deinterlace_yadif_2x.effect +0 -0
  370. /package/dist/{effects → data/effects}/format_conversion.effect +0 -0
  371. /package/dist/{effects → data/effects}/lanczos_scale.effect +0 -0
  372. /package/dist/{effects → data/effects}/opaque.effect +0 -0
  373. /package/dist/{effects → data/effects}/premultiplied_alpha.effect +0 -0
  374. /package/dist/{effects → data/effects}/repeat.effect +0 -0
  375. /package/dist/{effects → data/effects}/solid.effect +0 -0
  376. /package/dist/{plugins → obs-plugins}/image-source.dll +0 -0
  377. /package/dist/{plugins → obs-plugins}/obs-ffmpeg.dll +0 -0
  378. /package/dist/{plugins → obs-plugins}/obs-x264.dll +0 -0
  379. /package/dist/{plugins → obs-plugins}/win-wasapi.dll +0 -0
@@ -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, NULL);
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& pluginPath, const std::string& dataPath) {
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 dp = dataPath;
160
+ std::string basePath = distPath;
165
161
 
166
- if (dp.back() != '/' && dp.back() != '\\') {
167
- // Add a trailing slash if not present, else libobs gets upset.
168
- dp += '/';
162
+ if (basePath.back() != '/' && basePath.back() != '\\') {
163
+ // Add a trailing slash if not present.
164
+ basePath += '/';
169
165
  }
170
166
 
171
- // We need this before resetting video and audio to ensure the effects
172
- // are available. The function is deprecated in libobs but it works for
173
- // now.
174
- obs_add_data_path(dp.c_str());
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.dll",
182
- "obs-ffmpeg.dll",
183
- "win-capture.dll", // Required for basically all forms of capture on Windows.
184
- "image-source.dll", // Required for image sources.
185
- "win-wasapi.dll" // Required for WASAPI audio input.
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 path = pluginPath + "/" + module;
190
- load_module(path.c_str());
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
- obs_source_t *source = obs_get_source_by_name(name.c_str());
393
-
394
- if (!source) {
395
- blog(LOG_WARNING, "Source not found: %s", name.c_str());
396
- return; // Source not found, nothing to delete.
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
- obs_source_t *source = obs_get_source_by_name(name.c_str());
406
-
407
- if (!source) {
408
- blog(LOG_ERROR, "Source not found: %s", name.c_str());
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
- obs_source_t *source = obs_get_source_by_name(name.c_str());
437
+ auto it = sources.find(name);
425
438
 
426
- if (!source) {
427
- blog(LOG_ERROR, "Source not found: %s", name.c_str());
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
- obs_source_t *source = obs_get_source_by_name(name.c_str());
451
+ auto it = sources.find(name);
437
452
 
438
- if (!source) {
439
- blog(LOG_ERROR, "Source not found: %s", name.c_str());
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 draw_box(obs_scene_t *scene, obs_sceneitem_t *item, void *p) {
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
- obs_scene_enum_items(scene, draw_box, NULL);
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, NULL);
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& pluginPath,
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(pluginPath, dataPath);
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
- if (video_source) {
772
- blog(LOG_DEBUG, "Releasing video source");
773
- obs_source_release(video_source);
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
- obs_source_t *src = obs_get_source_by_name(name.c_str());
956
-
957
- if (!src) {
958
- blog(LOG_WARNING, "Did not find source for video source: %s", name.c_str());
959
- return;
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(src);
969
- return;
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
- obs_source_t *src = obs_get_source_by_name(name.c_str());
992
- obs_sceneitem_t *item = obs_scene_find_source(scene, name.c_str());
1021
+ auto it = sources.find(name);
993
1022
 
994
- if (!src) {
995
- blog(LOG_WARNING, "Did not find source for video source: %s", name);
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(src);
1009
- size->y = obs_source_get_height(src);
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
 
@@ -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& pluginPath, // Where to look for plugins
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& pluginPath, const std::string& dataPath);
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