noobs 0.0.84 → 0.0.115

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 +27 -8
  351. package/package.json +3 -2
  352. package/src/main.cpp +250 -20
  353. package/src/obs_interface.cpp +469 -213
  354. package/src/obs_interface.h +83 -33
  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
package/src/main.cpp CHANGED
@@ -7,28 +7,26 @@
7
7
  ObsInterface* obs = nullptr;
8
8
 
9
9
  Napi::Value ObsInit(const Napi::CallbackInfo& info) {
10
- bool valid = info.Length() == 5 &&
11
- info[0].IsString() && // Plugin path
10
+ bool valid = info.Length() == 4 &&
11
+ info[0].IsString() && // Dist path
12
12
  info[1].IsString() && // Log path
13
- info[2].IsString() && // Data path
14
- info[3].IsString() && // Recording path
15
- info[4].IsFunction(); // JavaScript callback
13
+ info[2].IsString() && // Recording path
14
+ info[3].IsFunction(); // JavaScript callback
16
15
 
17
16
  if (!valid) {
18
17
  Napi::Error::New(info.Env(), "Invalid arguments passed to ObsInit").ThrowAsJavaScriptException();
19
18
  return info.Env().Undefined();
20
19
  }
21
20
 
22
- std::string pluginPath = info[0].As<Napi::String>().Utf8Value();
21
+ std::string distPath = info[0].As<Napi::String>().Utf8Value();
23
22
  std::string logPath = info[1].As<Napi::String>().Utf8Value();
24
- std::string dataPath = info[2].As<Napi::String>().Utf8Value();
25
- std::string recordingPath = info[3].As<Napi::String>().Utf8Value();
26
- Napi::Function fn = info[4].As<Napi::Function>();
23
+ std::string recordingPath = info[2].As<Napi::String>().Utf8Value();
24
+ Napi::Function fn = info[3].As<Napi::Function>();
27
25
 
28
26
  Napi::ThreadSafeFunction jscb =
29
27
  Napi::ThreadSafeFunction::New(info.Env(), fn, "JavaScript callback", 0, 1);
30
28
 
31
- obs = new ObsInterface(pluginPath, logPath, dataPath, recordingPath, jscb);
29
+ obs = new ObsInterface(distPath, logPath, recordingPath, jscb);
32
30
  return info.Env().Undefined();
33
31
  }
34
32
 
@@ -56,6 +54,75 @@ Napi::Value ObsSetRecordingDir(const Napi::CallbackInfo& info) {
56
54
  return info.Env().Undefined();
57
55
  }
58
56
 
57
+ Napi::Value ObsResetVideoContext(const Napi::CallbackInfo& info) {
58
+ if (!obs) {
59
+ blog(LOG_ERROR, "ObsResetVideoContext called but obs is not initialized");
60
+ throw std::runtime_error("Obs not initialized");
61
+ }
62
+
63
+ bool valid = info.Length() == 3 && info[0].IsNumber() && info[1].IsNumber() && info[2].IsNumber();
64
+
65
+ if (!valid) {
66
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsResetVideo").ThrowAsJavaScriptException();
67
+ return info.Env().Undefined();
68
+ }
69
+
70
+ int fps = info[0].As<Napi::Number>().Int32Value();
71
+ int width = info[1].As<Napi::Number>().Int32Value();
72
+ int height = info[2].As<Napi::Number>().Int32Value();
73
+
74
+ obs->setVideoContext(fps, width, height);
75
+ return info.Env().Undefined();
76
+ }
77
+
78
+ Napi::Value ObsListVideoEncoders(const Napi::CallbackInfo& info) {
79
+ if (!obs) {
80
+ blog(LOG_ERROR, "ObsListVideoEncoders called but obs is not initialized");
81
+ throw std::runtime_error("Obs not initialized");
82
+ }
83
+
84
+ bool valid = info.Length() == 0;
85
+
86
+ if (!valid) {
87
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsListVideoEncoders").ThrowAsJavaScriptException();
88
+ return info.Env().Undefined();
89
+ }
90
+
91
+ auto encoders = obs->listAvailableVideoEncoders();
92
+ Napi::Array result = Napi::Array::New(info.Env(), encoders.size());
93
+
94
+ for (size_t i = 0; i < encoders.size(); ++i) {
95
+ result[i] = Napi::String::New(info.Env(), encoders[i]);
96
+ }
97
+
98
+ return result;
99
+ }
100
+
101
+ Napi::Value ObsSetVideoEncoder(const Napi::CallbackInfo& info) {
102
+ if (!obs) {
103
+ blog(LOG_ERROR, "ObsSetVideoEncoder called but obs is not initialized");
104
+ throw std::runtime_error("Obs not initialized");
105
+ }
106
+
107
+ bool valid = info.Length() == 2 &&
108
+ info[0].IsString() && // Encoder ID
109
+ info[1].IsObject(); // Settings object
110
+
111
+ if (!valid) {
112
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetVideoEncoder").ThrowAsJavaScriptException();
113
+ return info.Env().Undefined();
114
+ }
115
+
116
+ std::string id = info[0].As<Napi::String>().Utf8Value();
117
+ Napi::Object obj = info[1].As<Napi::Object>();
118
+
119
+ obs_data_t* settings = napi_to_data(obj);
120
+ obs->setVideoEncoder(id, settings);
121
+ obs_data_release(settings);
122
+
123
+ return info.Env().Undefined();
124
+ }
125
+
59
126
  Napi::Value ObsSetBuffering(const Napi::CallbackInfo& info) {
60
127
  blog(LOG_INFO, "ObsSetBuffering called");
61
128
 
@@ -120,6 +187,16 @@ Napi::Value ObsStopRecording(const Napi::CallbackInfo& info) {
120
187
  return info.Env().Undefined();
121
188
  }
122
189
 
190
+ Napi::Value ObsForceStopRecording(const Napi::CallbackInfo& info) {
191
+ if (!obs) {
192
+ blog(LOG_ERROR, "ObsForceStopRecording called but obs is not initialized");
193
+ throw std::runtime_error("Obs not initialized");
194
+ }
195
+
196
+ obs->forceStopRecording();
197
+ return info.Env().Undefined();
198
+ }
199
+
123
200
  Napi::Value ObsGetLastRecording(const Napi::CallbackInfo& info) {
124
201
  if (!obs) {
125
202
  blog(LOG_ERROR, "ObsGetLastRecording called but obs is not initialized");
@@ -157,11 +234,11 @@ Napi::Value ObsInitPreview(const Napi::CallbackInfo& info) {
157
234
  return info.Env().Undefined();
158
235
  }
159
236
 
160
- Napi::Value ObsShowPreview(const Napi::CallbackInfo& info) {
161
- blog(LOG_INFO, "ObsShowPreview called");
237
+ Napi::Value ObsConfigurePreview(const Napi::CallbackInfo& info) {
238
+ blog(LOG_INFO, "ObsConfigurePreview called");
162
239
 
163
240
  if (!obs) {
164
- blog(LOG_ERROR, "ObsShowPreview called but obs is not initialized");
241
+ blog(LOG_ERROR, "ObsConfigurePreview called but obs is not initialized");
165
242
  throw std::runtime_error("Obs not initialized");
166
243
  }
167
244
 
@@ -172,7 +249,7 @@ Napi::Value ObsShowPreview(const Napi::CallbackInfo& info) {
172
249
  info[3].IsNumber(); // Height
173
250
 
174
251
  if (!valid) {
175
- Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsShowPreview").ThrowAsJavaScriptException();
252
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsConfigurePreview").ThrowAsJavaScriptException();
176
253
  return info.Env().Undefined();
177
254
  }
178
255
 
@@ -181,7 +258,19 @@ Napi::Value ObsShowPreview(const Napi::CallbackInfo& info) {
181
258
  int width = info[2].As<Napi::Number>().Int32Value();
182
259
  int height = info[3].As<Napi::Number>().Int32Value();
183
260
 
184
- obs->showPreview(x, y, width, height);
261
+ obs->configurePreview(x, y, width, height);
262
+ return info.Env().Undefined();
263
+ }
264
+
265
+ Napi::Value ObsShowPreview(const Napi::CallbackInfo& info) {
266
+ blog(LOG_INFO, "ObsShowPreview called");
267
+
268
+ if (!obs) {
269
+ blog(LOG_ERROR, "ObsShowPreview called but obs is not initialized");
270
+ throw std::runtime_error("Obs not initialized");
271
+ }
272
+
273
+ obs->showPreview();
185
274
  return info.Env().Undefined();
186
275
  }
187
276
 
@@ -195,14 +284,31 @@ Napi::Value ObsHidePreview(const Napi::CallbackInfo& info) {
195
284
  return info.Env().Undefined();
196
285
  }
197
286
 
198
- Napi::Value ObsGetPreviewScaleFactor(const Napi::CallbackInfo& info) {
287
+ Napi::Value ObsDisablePreview(const Napi::CallbackInfo& info) {
199
288
  if (!obs) {
200
- blog(LOG_ERROR, "ObsGetPreviewScaleFactor called but obs is not initialized");
289
+ blog(LOG_ERROR, "ObsDisablePreview called but obs is not initialized");
201
290
  throw std::runtime_error("Obs not initialized");
202
291
  }
203
292
 
204
- float scaleFactor = obs->getPreviewScaleFactor();
205
- return Napi::Number::New(info.Env(), scaleFactor);
293
+ obs->disablePreview();
294
+ return info.Env().Undefined();
295
+ }
296
+
297
+ Napi::Value ObsGetPreviewInfo(const Napi::CallbackInfo& info) {
298
+ if (!obs) {
299
+ blog(LOG_ERROR, "ObsGetPreviewInfo called but obs is not initialized");
300
+ throw std::runtime_error("Obs not initialized");
301
+ }
302
+
303
+ PreviewInfo previewInfo = obs->getPreviewInfo();
304
+
305
+ Napi::Object result = Napi::Object::New(info.Env());
306
+ result.Set("canvasWidth", Napi::Number::New(info.Env(), previewInfo.canvasWidth));
307
+ result.Set("canvasHeight", Napi::Number::New(info.Env(), previewInfo.canvasHeight));
308
+ result.Set("previewWidth", Napi::Number::New(info.Env(), previewInfo.displayWidth));
309
+ result.Set("previewHeight", Napi::Number::New(info.Env(), previewInfo.displayHeight));
310
+
311
+ return result;
206
312
  }
207
313
 
208
314
  Napi::Value ObsCreateSource(const Napi::CallbackInfo& info) {
@@ -311,6 +417,98 @@ Napi::Value ObsGetSourceProperties(const Napi::CallbackInfo& info) {
311
417
  return result;
312
418
  }
313
419
 
420
+
421
+ Napi::Value ObsSetMuteAudioInputs(const Napi::CallbackInfo& info) {
422
+ if (!obs) {
423
+ blog(LOG_ERROR, "ObsSetMuteAudioInputs called but obs is not initialized");
424
+ throw std::runtime_error("Obs not initialized");
425
+ }
426
+
427
+ bool valid = info.Length() == 1 && info[0].IsBoolean();
428
+
429
+ if (!valid) {
430
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetMuteAudioInputs").ThrowAsJavaScriptException();
431
+ return info.Env().Undefined();
432
+ }
433
+
434
+ bool mute = info[0].As<Napi::Boolean>().Value();
435
+ obs->setMuteAudioInputs(mute);
436
+ return info.Env().Undefined();
437
+ }
438
+
439
+ Napi::Value ObsSetOutputVolume(const Napi::CallbackInfo& info) {
440
+ if (!obs) {
441
+ blog(LOG_ERROR, "ObsSetOutputVolume called but obs is not initialized");
442
+ throw std::runtime_error("Obs not initialized");
443
+ }
444
+
445
+ bool valid = info.Length() == 1 && info[0].IsNumber();
446
+ float volume = info[0].As<Napi::Number>().FloatValue();
447
+
448
+ if (!valid || (volume < 0.0f || volume > 1.0f)) {
449
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetOutputVolume").ThrowAsJavaScriptException();
450
+ return info.Env().Undefined();
451
+ }
452
+
453
+ obs->setOutputVolume(volume);
454
+ return info.Env().Undefined();
455
+ }
456
+
457
+ Napi::Value ObsSetInputVolume(const Napi::CallbackInfo& info) {
458
+ if (!obs) {
459
+ blog(LOG_ERROR, "ObsSetInputVolume called but obs is not initialized");
460
+ throw std::runtime_error("Obs not initialized");
461
+ }
462
+
463
+ bool valid = info.Length() == 1 && info[0].IsNumber();
464
+ float volume = info[0].As<Napi::Number>().FloatValue();
465
+
466
+ if (!valid || (volume < 0.0f || volume > 1.0f)) {
467
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetInputVolume").ThrowAsJavaScriptException();
468
+ return info.Env().Undefined();
469
+ }
470
+
471
+ obs->setInputVolume(volume);
472
+ return info.Env().Undefined();
473
+ }
474
+
475
+ Napi::Value ObsSetProcessVolume(const Napi::CallbackInfo& info) {
476
+ if (!obs) {
477
+ blog(LOG_ERROR, "ObsSetProcessVolume called but obs is not initialized");
478
+ throw std::runtime_error("Obs not initialized");
479
+ }
480
+
481
+ bool valid = info.Length() == 1 && info[0].IsNumber();
482
+ float volume = info[0].As<Napi::Number>().FloatValue();
483
+
484
+ if (!valid || (volume < 0.0f || volume > 1.0f)) {
485
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetProcessVolume").ThrowAsJavaScriptException();
486
+ return info.Env().Undefined();
487
+ }
488
+
489
+ obs->setProcessVolume(volume);
490
+ return info.Env().Undefined();
491
+ }
492
+
493
+ Napi::Value ObsSetVolmeterEnabled(const Napi::CallbackInfo& info) {
494
+ if (!obs) {
495
+ blog(LOG_ERROR, "ObsSetVolmeterEnabled called but obs is not initialized");
496
+ throw std::runtime_error("Obs not initialized");
497
+ }
498
+
499
+ bool valid = info.Length() == 1 && info[0].IsBoolean();
500
+
501
+
502
+ if (!valid) {
503
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetVolmeterEnabled").ThrowAsJavaScriptException();
504
+ return info.Env().Undefined();
505
+ }
506
+
507
+ bool enabled = info[0].As<Napi::Boolean>().Value();
508
+ obs->setVolmeterEnabled(enabled);
509
+ return info.Env().Undefined();
510
+ }
511
+
314
512
  Napi::Value ObsCreateScene(const Napi::CallbackInfo& info) {
315
513
  if (!obs) {
316
514
  blog(LOG_ERROR, "ObsCreateScene called but obs is not initialized");
@@ -428,15 +626,36 @@ Napi::Value ObsSetSourcePos(const Napi::CallbackInfo& info) {
428
626
  return info.Env().Undefined();
429
627
  }
430
628
 
629
+ Napi::Value ObsSetDrawSourceOutline(const Napi::CallbackInfo& info) {
630
+ bool valid = info.Length() == 1 && info[0].IsBoolean();
631
+ if (!valid) {
632
+ Napi::TypeError::New(info.Env(), "Invalid arguments passed to ObsSetDrawSourceOutline").ThrowAsJavaScriptException();
633
+ return info.Env().Undefined();
634
+ }
635
+ bool enabled = info[0].As<Napi::Boolean>();
636
+ blog(LOG_DEBUG, "ObsSetDrawSourceOutline set to %d", enabled);
637
+ obs->setDrawSourceOutline(enabled);
638
+ return info.Env().Undefined();
639
+ }
640
+
641
+ Napi::Value ObsGetDrawSourceOutlineEnabled(const Napi::CallbackInfo& info) {
642
+ return Napi::Boolean::New(info.Env(), obs->getDrawSourceOutlineEnabled());
643
+ }
644
+
645
+
431
646
  Napi::Object Init(Napi::Env env, Napi::Object exports) {
432
647
  exports.Set("Init", Napi::Function::New(env, ObsInit));
433
648
  exports.Set("Shutdown", Napi::Function::New(env, ObsShutdown));
434
649
  exports.Set("SetRecordingDir", Napi::Function::New(env, ObsSetRecordingDir));
650
+ exports.Set("ResetVideoContext", Napi::Function::New(env, ObsResetVideoContext));
651
+ exports.Set("ListVideoEncoders", Napi::Function::New(env, ObsListVideoEncoders));
652
+ exports.Set("SetVideoEncoder", Napi::Function::New(env, ObsSetVideoEncoder));
435
653
 
436
654
  exports.Set("SetBuffering", Napi::Function::New(env, ObsSetBuffering));
437
655
  exports.Set("StartBuffer", Napi::Function::New(env, ObsStartBuffer));
438
656
  exports.Set("StartRecording", Napi::Function::New(env, ObsStartRecording));
439
657
  exports.Set("StopRecording", Napi::Function::New(env, ObsStopRecording));
658
+ exports.Set("ForceStopRecording", Napi::Function::New(env, ObsForceStopRecording));
440
659
  exports.Set("GetLastRecording", Napi::Function::New(env, ObsGetLastRecording));
441
660
 
442
661
  exports.Set("CreateSource", Napi::Function::New(env, ObsCreateSource));
@@ -444,6 +663,13 @@ Napi::Object Init(Napi::Env env, Napi::Object exports) {
444
663
  exports.Set("GetSourceSettings", Napi::Function::New(env, ObsGetSourceSettings));
445
664
  exports.Set("SetSourceSettings", Napi::Function::New(env, ObsSetSourceSettings));
446
665
  exports.Set("GetSourceProperties", Napi::Function::New(env, ObsGetSourceProperties));
666
+ exports.Set("SetMuteAudioInputs", Napi::Function::New(env, ObsSetMuteAudioInputs));
667
+
668
+ exports.Set("SetOutputVolume", Napi::Function::New(env, ObsSetOutputVolume));
669
+ exports.Set("SetInputVolume", Napi::Function::New(env, ObsSetInputVolume));
670
+ exports.Set("SetProcessVolume", Napi::Function::New(env, ObsSetProcessVolume));
671
+
672
+ exports.Set("SetVolmeterEnabled", Napi::Function::New(env, ObsSetVolmeterEnabled));
447
673
 
448
674
  exports.Set("AddSourceToScene", Napi::Function::New(env, ObsAddSourceToScene));
449
675
  exports.Set("RemoveSourceFromScene", Napi::Function::New(env, ObsRemoveSourceFromScene));
@@ -451,9 +677,13 @@ Napi::Object Init(Napi::Env env, Napi::Object exports) {
451
677
  exports.Set("SetSourcePos", Napi::Function::New(env, ObsSetSourcePos));
452
678
 
453
679
  exports.Set("InitPreview", Napi::Function::New(env, ObsInitPreview));
680
+ exports.Set("ConfigurePreview", Napi::Function::New(env, ObsConfigurePreview));
454
681
  exports.Set("ShowPreview", Napi::Function::New(env, ObsShowPreview));
455
682
  exports.Set("HidePreview", Napi::Function::New(env, ObsHidePreview));
456
- exports.Set("GetPreviewScaleFactor", Napi::Function::New(env, ObsGetPreviewScaleFactor));
683
+ exports.Set("DisablePreview", Napi::Function::New(env, ObsDisablePreview));
684
+ exports.Set("GetPreviewInfo", Napi::Function::New(env, ObsGetPreviewInfo));
685
+ exports.Set("GetDrawSourceOutlineEnabled", Napi::Function::New(env, ObsGetDrawSourceOutlineEnabled));
686
+ exports.Set("SetDrawSourceOutline", Napi::Function::New(env, ObsSetDrawSourceOutline));
457
687
 
458
688
  return exports;
459
689
  }