@next2d/player 1.14.7 → 1.14.8

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 (415) hide show
  1. package/@types/next2d.d.ts +4 -0
  2. package/@types/window.d.ts +74 -0
  3. package/README.ja.md +8 -7
  4. package/README.md +17 -12
  5. package/dist/interface/AjaxEventImpl.d.ts +5 -0
  6. package/dist/interface/AjaxEventImpl.js +1 -0
  7. package/dist/interface/AjaxOptionImpl.d.ts +13 -0
  8. package/dist/interface/AjaxOptionImpl.js +1 -0
  9. package/dist/interface/AttachmentImpl.d.ts +11 -0
  10. package/dist/interface/AttachmentImpl.js +1 -0
  11. package/dist/interface/BitmapDataChannelImpl.d.ts +1 -0
  12. package/dist/interface/BitmapDataChannelImpl.js +1 -0
  13. package/dist/interface/BitmapDrawObjectImpl.d.ts +6 -0
  14. package/dist/interface/BitmapDrawObjectImpl.js +1 -0
  15. package/dist/interface/BitmapFilterTypeImpl.d.ts +1 -0
  16. package/dist/interface/BitmapFilterTypeImpl.js +1 -0
  17. package/dist/interface/BlendModeImpl.d.ts +1 -0
  18. package/dist/interface/BlendModeImpl.js +1 -0
  19. package/dist/interface/BoundsImpl.d.ts +6 -0
  20. package/dist/interface/BoundsImpl.js +1 -0
  21. package/dist/interface/Character.d.ts +2 -0
  22. package/dist/interface/Character.js +1 -0
  23. package/dist/interface/CharacterImpl.d.ts +2 -0
  24. package/dist/interface/CharacterImpl.js +1 -0
  25. package/dist/interface/ClassNameMap.d.ts +4 -0
  26. package/dist/interface/ClassNameMap.js +1 -0
  27. package/dist/interface/ClipObjectImpl.d.ts +14 -0
  28. package/dist/interface/ClipObjectImpl.js +1 -0
  29. package/dist/interface/ColorStopImpl.d.ts +7 -0
  30. package/dist/interface/ColorStopImpl.js +1 -0
  31. package/dist/interface/DictionaryTagImpl.d.ts +7 -0
  32. package/dist/interface/DictionaryTagImpl.js +1 -0
  33. package/dist/interface/DisplacementMapFilterModeImpl.d.ts +1 -0
  34. package/dist/interface/DisplacementMapFilterModeImpl.js +1 -0
  35. package/dist/interface/DisplayImpl.d.ts +28 -0
  36. package/dist/interface/DisplayImpl.js +1 -0
  37. package/dist/interface/DisplayObjectImpl.d.ts +2 -0
  38. package/dist/interface/DisplayObjectImpl.js +1 -0
  39. package/dist/interface/DragRulesImpl.d.ts +7 -0
  40. package/dist/interface/DragRulesImpl.js +1 -0
  41. package/dist/interface/DropTargetImpl.d.ts +2 -0
  42. package/dist/interface/DropTargetImpl.js +1 -0
  43. package/dist/interface/EventDispatcherImpl.d.ts +2 -0
  44. package/dist/interface/EventDispatcherImpl.js +1 -0
  45. package/dist/interface/EventListenerImpl.d.ts +6 -0
  46. package/dist/interface/EventListenerImpl.js +1 -0
  47. package/dist/interface/EventsImpl.d.ts +20 -0
  48. package/dist/interface/EventsImpl.js +1 -0
  49. package/dist/interface/FillMeshImpl.d.ts +5 -0
  50. package/dist/interface/FillMeshImpl.js +1 -0
  51. package/dist/interface/FilterArrayImpl.d.ts +10 -0
  52. package/dist/interface/FilterArrayImpl.js +1 -0
  53. package/dist/interface/FilterQualityImpl.d.ts +1 -0
  54. package/dist/interface/FilterQualityImpl.js +1 -0
  55. package/dist/interface/FiltersImpl.d.ts +20 -0
  56. package/dist/interface/FiltersImpl.js +1 -0
  57. package/dist/interface/GeomImpl.d.ts +12 -0
  58. package/dist/interface/GeomImpl.js +1 -0
  59. package/dist/interface/GradientTypeImpl.d.ts +3 -0
  60. package/dist/interface/GradientTypeImpl.js +1 -0
  61. package/dist/interface/GraphicsParentImpl.d.ts +2 -0
  62. package/dist/interface/GraphicsParentImpl.js +1 -0
  63. package/dist/interface/GridImpl.d.ts +6 -0
  64. package/dist/interface/GridImpl.js +1 -0
  65. package/dist/interface/ImageTypeImpl.d.ts +1 -0
  66. package/dist/interface/ImageTypeImpl.js +1 -0
  67. package/dist/interface/IndexRangeImpl.d.ts +4 -0
  68. package/dist/interface/IndexRangeImpl.js +1 -0
  69. package/dist/interface/LoaderInfoDataImpl.d.ts +7 -0
  70. package/dist/interface/LoaderInfoDataImpl.js +1 -0
  71. package/dist/interface/LoopConfigImpl.d.ts +8 -0
  72. package/dist/interface/LoopConfigImpl.js +1 -0
  73. package/dist/interface/LoopTypeImpl.d.ts +1 -0
  74. package/dist/interface/LoopTypeImpl.js +1 -0
  75. package/dist/interface/MediaImpl.d.ts +10 -0
  76. package/dist/interface/MediaImpl.js +1 -0
  77. package/dist/interface/MovieClipActionObjectImpl.d.ts +5 -0
  78. package/dist/interface/MovieClipActionObjectImpl.js +1 -0
  79. package/dist/interface/MovieClipCharacterImpl.d.ts +18 -0
  80. package/dist/interface/MovieClipCharacterImpl.js +1 -0
  81. package/dist/interface/MovieClipLabelObjectImpl.d.ts +4 -0
  82. package/dist/interface/MovieClipLabelObjectImpl.js +1 -0
  83. package/dist/interface/MovieClipSoundObjectImpl.d.ts +5 -0
  84. package/dist/interface/MovieClipSoundObjectImpl.js +1 -0
  85. package/dist/interface/NetImpl.d.ts +6 -0
  86. package/dist/interface/NetImpl.js +1 -0
  87. package/dist/interface/NoCodeDataImpl.d.ts +7 -0
  88. package/dist/interface/NoCodeDataImpl.js +1 -0
  89. package/dist/interface/NoCodeDataZlibImpl.d.ts +4 -0
  90. package/dist/interface/NoCodeDataZlibImpl.js +1 -0
  91. package/dist/interface/ParentImpl.d.ts +2 -0
  92. package/dist/interface/ParentImpl.js +1 -0
  93. package/dist/interface/PlaceObjectImpl.d.ts +12 -0
  94. package/dist/interface/PlaceObjectImpl.js +1 -0
  95. package/dist/interface/PlayerHitObjectImpl.d.ts +7 -0
  96. package/dist/interface/PlayerHitObjectImpl.js +1 -0
  97. package/dist/interface/PlayerModeImpl.d.ts +1 -0
  98. package/dist/interface/PlayerModeImpl.js +1 -0
  99. package/dist/interface/PlayerOptionsImpl.d.ts +8 -0
  100. package/dist/interface/PlayerOptionsImpl.js +1 -0
  101. package/dist/interface/PointImpl.d.ts +4 -0
  102. package/dist/interface/PointImpl.js +1 -0
  103. package/dist/interface/PreObjectImpl.d.ts +23 -0
  104. package/dist/interface/PreObjectImpl.js +1 -0
  105. package/dist/interface/PropertyContainerMessageImpl.d.ts +6 -0
  106. package/dist/interface/PropertyContainerMessageImpl.js +1 -0
  107. package/dist/interface/PropertyMessageImpl.d.ts +41 -0
  108. package/dist/interface/PropertyMessageImpl.js +1 -0
  109. package/dist/interface/PropertyMessageMapImpl.d.ts +2 -0
  110. package/dist/interface/PropertyMessageMapImpl.js +1 -0
  111. package/dist/interface/PropertyShapeMessageImpl.d.ts +6 -0
  112. package/dist/interface/PropertyShapeMessageImpl.js +1 -0
  113. package/dist/interface/PropertyTextMessageImpl.d.ts +25 -0
  114. package/dist/interface/PropertyTextMessageImpl.js +1 -0
  115. package/dist/interface/PropertyVideoMessageImpl.d.ts +5 -0
  116. package/dist/interface/PropertyVideoMessageImpl.js +1 -0
  117. package/dist/interface/RGBAImpl.d.ts +6 -0
  118. package/dist/interface/RGBAImpl.js +1 -0
  119. package/dist/interface/RenderDisplayObjectImpl.d.ts +2 -0
  120. package/dist/interface/RenderDisplayObjectImpl.js +1 -0
  121. package/dist/interface/ShapeCharacterImpl.d.ts +14 -0
  122. package/dist/interface/ShapeCharacterImpl.js +1 -0
  123. package/dist/interface/SoundCharacterImpl.d.ts +5 -0
  124. package/dist/interface/SoundCharacterImpl.js +1 -0
  125. package/dist/interface/SoundTagImpl.d.ts +6 -0
  126. package/dist/interface/SoundTagImpl.js +1 -0
  127. package/dist/interface/SpriteImpl.d.ts +2 -0
  128. package/dist/interface/SpriteImpl.js +1 -0
  129. package/dist/interface/StageDataImpl.d.ts +6 -0
  130. package/dist/interface/StageDataImpl.js +1 -0
  131. package/dist/interface/StageQualityImpl.d.ts +1 -0
  132. package/dist/interface/StageQualityImpl.js +1 -0
  133. package/dist/interface/StrokeMethImpl.d.ts +4 -0
  134. package/dist/interface/StrokeMethImpl.js +1 -0
  135. package/dist/interface/StrokeTypeImpl.d.ts +2 -0
  136. package/dist/interface/StrokeTypeImpl.js +1 -0
  137. package/dist/interface/SurfaceFilterImpl.d.ts +6 -0
  138. package/dist/interface/SurfaceFilterImpl.js +1 -0
  139. package/dist/interface/TextBreakObjectImpl.d.ts +9 -0
  140. package/dist/interface/TextBreakObjectImpl.js +1 -0
  141. package/dist/interface/TextCharacterImpl.d.ts +27 -0
  142. package/dist/interface/TextCharacterImpl.js +1 -0
  143. package/dist/interface/TextDataImpl.d.ts +2 -0
  144. package/dist/interface/TextDataImpl.js +1 -0
  145. package/dist/interface/TextFieldAutoSizeImpl.d.ts +1 -0
  146. package/dist/interface/TextFieldAutoSizeImpl.js +1 -0
  147. package/dist/interface/TextFieldTypeImpl.d.ts +1 -0
  148. package/dist/interface/TextFieldTypeImpl.js +1 -0
  149. package/dist/interface/TextFormatAlignImpl.d.ts +1 -0
  150. package/dist/interface/TextFormatAlignImpl.js +1 -0
  151. package/dist/interface/TextFormatImpl.d.ts +16 -0
  152. package/dist/interface/TextFormatImpl.js +1 -0
  153. package/dist/interface/TextFormatVerticalAlignImpl.d.ts +1 -0
  154. package/dist/interface/TextFormatVerticalAlignImpl.js +1 -0
  155. package/dist/interface/TextImageObjectImpl.d.ts +11 -0
  156. package/dist/interface/TextImageObjectImpl.js +1 -0
  157. package/dist/interface/TextImpl.d.ts +6 -0
  158. package/dist/interface/TextImpl.js +1 -0
  159. package/dist/interface/TextModeImpl.d.ts +1 -0
  160. package/dist/interface/TextModeImpl.js +1 -0
  161. package/dist/interface/TextObjectImpl.d.ts +7 -0
  162. package/dist/interface/TextObjectImpl.js +1 -0
  163. package/dist/interface/TextObjectModeImpl.d.ts +1 -0
  164. package/dist/interface/TextObjectModeImpl.js +1 -0
  165. package/dist/interface/TextStringObjectImpl.d.ts +7 -0
  166. package/dist/interface/TextStringObjectImpl.js +1 -0
  167. package/dist/interface/UIImpl.d.ts +8 -0
  168. package/dist/interface/UIImpl.js +1 -0
  169. package/dist/interface/URLLoaderDataFormatImpl.d.ts +1 -0
  170. package/dist/interface/URLLoaderDataFormatImpl.js +1 -0
  171. package/dist/interface/URLRequestMethodImpl.d.ts +1 -0
  172. package/dist/interface/URLRequestMethodImpl.js +1 -0
  173. package/dist/interface/UniformDataImpl.d.ts +5 -0
  174. package/dist/interface/UniformDataImpl.js +1 -0
  175. package/dist/interface/UnzipQueueImpl.d.ts +6 -0
  176. package/dist/interface/UnzipQueueImpl.js +1 -0
  177. package/dist/interface/VerticesImpl.d.ts +1 -0
  178. package/dist/interface/VerticesImpl.js +1 -0
  179. package/dist/interface/VideoCharacterImpl.d.ts +12 -0
  180. package/dist/interface/VideoCharacterImpl.js +1 -0
  181. package/dist/player/index.d.ts +1 -0
  182. package/dist/player/index.js +40 -0
  183. package/dist/player/next2d/display/BitmapData.d.ts +143 -0
  184. package/dist/player/next2d/display/BitmapData.js +390 -0
  185. package/dist/player/next2d/display/BlendMode.d.ts +204 -0
  186. package/dist/player/next2d/display/BlendMode.js +240 -0
  187. package/dist/player/next2d/display/DisplayObject.d.ts +571 -0
  188. package/dist/player/next2d/display/DisplayObject.js +1733 -0
  189. package/dist/player/next2d/display/DisplayObjectContainer.d.ts +351 -0
  190. package/dist/player/next2d/display/DisplayObjectContainer.js +1765 -0
  191. package/dist/player/next2d/display/FrameLabel.d.ts +98 -0
  192. package/dist/player/next2d/display/FrameLabel.js +122 -0
  193. package/dist/player/next2d/display/Graphics.d.ts +577 -0
  194. package/dist/player/next2d/display/Graphics.js +2193 -0
  195. package/dist/player/next2d/display/GraphicsBitmapFill.d.ts +49 -0
  196. package/dist/player/next2d/display/GraphicsBitmapFill.js +90 -0
  197. package/dist/player/next2d/display/GraphicsGradientFill.d.ts +66 -0
  198. package/dist/player/next2d/display/GraphicsGradientFill.js +162 -0
  199. package/dist/player/next2d/display/InteractiveObject.d.ts +32 -0
  200. package/dist/player/next2d/display/InteractiveObject.js +44 -0
  201. package/dist/player/next2d/display/Loader.d.ts +131 -0
  202. package/dist/player/next2d/display/Loader.js +324 -0
  203. package/dist/player/next2d/display/LoaderInfo.d.ts +122 -0
  204. package/dist/player/next2d/display/LoaderInfo.js +191 -0
  205. package/dist/player/next2d/display/LoopConfig.d.ts +108 -0
  206. package/dist/player/next2d/display/LoopConfig.js +160 -0
  207. package/dist/player/next2d/display/LoopType.d.ts +104 -0
  208. package/dist/player/next2d/display/LoopType.js +122 -0
  209. package/dist/player/next2d/display/MovieClip.d.ts +312 -0
  210. package/dist/player/next2d/display/MovieClip.js +959 -0
  211. package/dist/player/next2d/display/Shape.d.ts +167 -0
  212. package/dist/player/next2d/display/Shape.js +514 -0
  213. package/dist/player/next2d/display/Sprite.d.ts +174 -0
  214. package/dist/player/next2d/display/Sprite.js +288 -0
  215. package/dist/player/next2d/display/Stage.d.ts +164 -0
  216. package/dist/player/next2d/display/Stage.js +255 -0
  217. package/dist/player/next2d/events/Event.d.ts +424 -0
  218. package/dist/player/next2d/events/Event.js +569 -0
  219. package/dist/player/next2d/events/EventDispatcher.d.ts +138 -0
  220. package/dist/player/next2d/events/EventDispatcher.js +624 -0
  221. package/dist/player/next2d/events/EventPhase.d.ts +80 -0
  222. package/dist/player/next2d/events/EventPhase.js +94 -0
  223. package/dist/player/next2d/events/FocusEvent.d.ts +89 -0
  224. package/dist/player/next2d/events/FocusEvent.js +103 -0
  225. package/dist/player/next2d/events/HTTPStatusEvent.d.ts +107 -0
  226. package/dist/player/next2d/events/HTTPStatusEvent.js +142 -0
  227. package/dist/player/next2d/events/IOErrorEvent.d.ts +82 -0
  228. package/dist/player/next2d/events/IOErrorEvent.js +102 -0
  229. package/dist/player/next2d/events/MouseEvent.d.ts +163 -0
  230. package/dist/player/next2d/events/MouseEvent.js +207 -0
  231. package/dist/player/next2d/events/ProgressEvent.d.ts +97 -0
  232. package/dist/player/next2d/events/ProgressEvent.js +125 -0
  233. package/dist/player/next2d/events/VideoEvent.d.ts +145 -0
  234. package/dist/player/next2d/events/VideoEvent.js +183 -0
  235. package/dist/player/next2d/filters/BevelFilter.d.ts +254 -0
  236. package/dist/player/next2d/filters/BevelFilter.js +501 -0
  237. package/dist/player/next2d/filters/BitmapFilter.d.ts +75 -0
  238. package/dist/player/next2d/filters/BitmapFilter.js +96 -0
  239. package/dist/player/next2d/filters/BlurFilter.d.ts +150 -0
  240. package/dist/player/next2d/filters/BlurFilter.js +373 -0
  241. package/dist/player/next2d/filters/ColorMatrixFilter.d.ts +116 -0
  242. package/dist/player/next2d/filters/ColorMatrixFilter.js +180 -0
  243. package/dist/player/next2d/filters/ConvolutionFilter.d.ts +210 -0
  244. package/dist/player/next2d/filters/ConvolutionFilter.js +375 -0
  245. package/dist/player/next2d/filters/DisplacementMapFilter.d.ts +212 -0
  246. package/dist/player/next2d/filters/DisplacementMapFilter.js +381 -0
  247. package/dist/player/next2d/filters/DropShadowFilter.d.ts +240 -0
  248. package/dist/player/next2d/filters/DropShadowFilter.js +470 -0
  249. package/dist/player/next2d/filters/GlowFilter.d.ts +204 -0
  250. package/dist/player/next2d/filters/GlowFilter.js +362 -0
  251. package/dist/player/next2d/filters/GradientBevelFilter.d.ts +243 -0
  252. package/dist/player/next2d/filters/GradientBevelFilter.js +483 -0
  253. package/dist/player/next2d/filters/GradientGlowFilter.d.ts +243 -0
  254. package/dist/player/next2d/filters/GradientGlowFilter.js +473 -0
  255. package/dist/player/next2d/geom/ColorTransform.d.ts +201 -0
  256. package/dist/player/next2d/geom/ColorTransform.js +279 -0
  257. package/dist/player/next2d/geom/Matrix.d.ts +299 -0
  258. package/dist/player/next2d/geom/Matrix.js +455 -0
  259. package/dist/player/next2d/geom/Point.d.ts +213 -0
  260. package/dist/player/next2d/geom/Point.js +276 -0
  261. package/dist/player/next2d/geom/Rectangle.d.ts +364 -0
  262. package/dist/player/next2d/geom/Rectangle.js +517 -0
  263. package/dist/player/next2d/geom/Transform.d.ts +213 -0
  264. package/dist/player/next2d/geom/Transform.js +497 -0
  265. package/dist/player/next2d/media/Sound.d.ts +208 -0
  266. package/dist/player/next2d/media/Sound.js +515 -0
  267. package/dist/player/next2d/media/SoundMixer.d.ts +68 -0
  268. package/dist/player/next2d/media/SoundMixer.js +115 -0
  269. package/dist/player/next2d/media/SoundTransform.d.ts +80 -0
  270. package/dist/player/next2d/media/SoundTransform.js +113 -0
  271. package/dist/player/next2d/media/Video.d.ts +329 -0
  272. package/dist/player/next2d/media/Video.js +871 -0
  273. package/dist/player/next2d/net/URLRequest.d.ts +143 -0
  274. package/dist/player/next2d/net/URLRequest.js +239 -0
  275. package/dist/player/next2d/net/URLRequestHeader.d.ts +82 -0
  276. package/dist/player/next2d/net/URLRequestHeader.js +107 -0
  277. package/dist/player/next2d/text/TextField.d.ts +642 -0
  278. package/dist/player/next2d/text/TextField.js +2707 -0
  279. package/dist/player/next2d/text/TextFormat.d.ts +250 -0
  280. package/dist/player/next2d/text/TextFormat.js +473 -0
  281. package/dist/player/next2d/ui/Easing.d.ts +359 -0
  282. package/dist/player/next2d/ui/Easing.js +481 -0
  283. package/dist/player/next2d/ui/Job.d.ts +155 -0
  284. package/dist/player/next2d/ui/Job.js +344 -0
  285. package/dist/player/next2d/ui/Tween.d.ts +62 -0
  286. package/dist/player/next2d/ui/Tween.js +72 -0
  287. package/dist/player/packages/Display.d.ts +3 -0
  288. package/dist/player/packages/Display.js +36 -0
  289. package/dist/player/packages/Events.d.ts +3 -0
  290. package/dist/player/packages/Events.js +28 -0
  291. package/dist/player/packages/Filters.d.ts +3 -0
  292. package/dist/player/packages/Filters.js +28 -0
  293. package/dist/player/packages/Geom.d.ts +3 -0
  294. package/dist/player/packages/Geom.js +20 -0
  295. package/dist/player/packages/Media.d.ts +3 -0
  296. package/dist/player/packages/Media.js +18 -0
  297. package/dist/player/packages/Net.d.ts +3 -0
  298. package/dist/player/packages/Net.js +14 -0
  299. package/dist/player/packages/Text.d.ts +3 -0
  300. package/dist/player/packages/Text.js +14 -0
  301. package/dist/player/packages/UI.d.ts +3 -0
  302. package/dist/player/packages/UI.js +16 -0
  303. package/dist/player/player/Next2D.d.ts +71 -0
  304. package/dist/player/player/Next2D.js +206 -0
  305. package/dist/player/player/Player.d.ts +334 -0
  306. package/dist/player/player/Player.js +1912 -0
  307. package/dist/player/util/CacheStore.d.ts +115 -0
  308. package/dist/player/util/CacheStore.js +280 -0
  309. package/dist/player/util/Global.d.ts +23 -0
  310. package/dist/player/util/Global.js +67 -0
  311. package/dist/player/util/RenderUtil.d.ts +472 -0
  312. package/dist/player/util/RenderUtil.js +686 -0
  313. package/dist/player/util/Shortcut.d.ts +28 -0
  314. package/dist/player/util/Shortcut.js +28 -0
  315. package/dist/player/util/Util.d.ts +337 -0
  316. package/dist/player/util/Util.js +841 -0
  317. package/dist/renderer/RenderDisplayObject.d.ts +129 -0
  318. package/dist/renderer/RenderDisplayObject.js +567 -0
  319. package/dist/renderer/RenderDisplayObjectContainer.d.ts +70 -0
  320. package/dist/renderer/RenderDisplayObjectContainer.js +670 -0
  321. package/dist/renderer/RenderGlobal.d.ts +76 -0
  322. package/dist/renderer/RenderGlobal.js +88 -0
  323. package/dist/renderer/RenderGraphics.d.ts +90 -0
  324. package/dist/renderer/RenderGraphics.js +597 -0
  325. package/dist/renderer/RenderPlayer.d.ts +164 -0
  326. package/dist/renderer/RenderPlayer.js +421 -0
  327. package/dist/renderer/RenderShape.d.ts +32 -0
  328. package/dist/renderer/RenderShape.js +104 -0
  329. package/dist/renderer/RenderTextField.d.ts +119 -0
  330. package/dist/renderer/RenderTextField.js +709 -0
  331. package/dist/renderer/RenderVideo.d.ts +59 -0
  332. package/dist/renderer/RenderVideo.js +272 -0
  333. package/dist/webgl/BezierConverter.d.ts +59 -0
  334. package/dist/webgl/BezierConverter.js +107 -0
  335. package/dist/webgl/CanvasGradientToWebGL.d.ts +94 -0
  336. package/dist/webgl/CanvasGradientToWebGL.js +187 -0
  337. package/dist/webgl/CanvasPatternToWebGL.d.ts +39 -0
  338. package/dist/webgl/CanvasPatternToWebGL.js +70 -0
  339. package/dist/webgl/CanvasToWebGLContext.d.ts +596 -0
  340. package/dist/webgl/CanvasToWebGLContext.js +1453 -0
  341. package/dist/webgl/CanvasToWebGLContextBlend.d.ts +97 -0
  342. package/dist/webgl/CanvasToWebGLContextBlend.js +303 -0
  343. package/dist/webgl/CanvasToWebGLContextGrid.d.ts +74 -0
  344. package/dist/webgl/CanvasToWebGLContextGrid.js +314 -0
  345. package/dist/webgl/CanvasToWebGLContextMask.d.ts +113 -0
  346. package/dist/webgl/CanvasToWebGLContextMask.js +443 -0
  347. package/dist/webgl/CanvasToWebGLContextPath.d.ts +111 -0
  348. package/dist/webgl/CanvasToWebGLContextPath.js +213 -0
  349. package/dist/webgl/CanvasToWebGLContextStyle.d.ts +77 -0
  350. package/dist/webgl/CanvasToWebGLContextStyle.js +145 -0
  351. package/dist/webgl/ColorBufferPool.d.ts +58 -0
  352. package/dist/webgl/ColorBufferPool.js +137 -0
  353. package/dist/webgl/FrameBufferManager.d.ts +135 -0
  354. package/dist/webgl/FrameBufferManager.js +367 -0
  355. package/dist/webgl/StencilBufferPool.d.ts +56 -0
  356. package/dist/webgl/StencilBufferPool.js +147 -0
  357. package/dist/webgl/TextureManager.d.ts +130 -0
  358. package/dist/webgl/TextureManager.js +303 -0
  359. package/dist/webgl/VertexArrayObjectManager.d.ts +95 -0
  360. package/dist/webgl/VertexArrayObjectManager.js +289 -0
  361. package/dist/webgl/WebGLFillMeshGenerator.d.ts +31 -0
  362. package/dist/webgl/WebGLFillMeshGenerator.js +104 -0
  363. package/dist/webgl/WebGLStrokeMeshGenerator.d.ts +182 -0
  364. package/dist/webgl/WebGLStrokeMeshGenerator.js +510 -0
  365. package/dist/webgl/shader/CanvasToWebGLShader.d.ts +85 -0
  366. package/dist/webgl/shader/CanvasToWebGLShader.js +196 -0
  367. package/dist/webgl/shader/CanvasToWebGLShaderList.d.ts +70 -0
  368. package/dist/webgl/shader/CanvasToWebGLShaderList.js +115 -0
  369. package/dist/webgl/shader/GradientLUTGenerator.d.ts +36 -0
  370. package/dist/webgl/shader/GradientLUTGenerator.js +129 -0
  371. package/dist/webgl/shader/WebGLShaderUniform.d.ts +52 -0
  372. package/dist/webgl/shader/WebGLShaderUniform.js +168 -0
  373. package/dist/webgl/shader/fragment/FragmentShaderLibrary.d.ts +18 -0
  374. package/dist/webgl/shader/fragment/FragmentShaderLibrary.js +35 -0
  375. package/dist/webgl/shader/fragment/FragmentShaderSource.d.ts +29 -0
  376. package/dist/webgl/shader/fragment/FragmentShaderSource.js +99 -0
  377. package/dist/webgl/shader/fragment/FragmentShaderSourceBlend.d.ts +67 -0
  378. package/dist/webgl/shader/fragment/FragmentShaderSourceBlend.js +319 -0
  379. package/dist/webgl/shader/fragment/FragmentShaderSourceGradient.d.ts +44 -0
  380. package/dist/webgl/shader/fragment/FragmentShaderSourceGradient.js +114 -0
  381. package/dist/webgl/shader/fragment/FragmentShaderSourceGradientLUT.d.ts +14 -0
  382. package/dist/webgl/shader/fragment/FragmentShaderSourceGradientLUT.js +58 -0
  383. package/dist/webgl/shader/fragment/FragmentShaderSourceTexture.d.ts +12 -0
  384. package/dist/webgl/shader/fragment/FragmentShaderSourceTexture.js +36 -0
  385. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.d.ts +12 -0
  386. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceBlurFilter.js +42 -0
  387. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.d.ts +11 -0
  388. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceColorMatrixFilter.js +35 -0
  389. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.d.ts +16 -0
  390. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceConvolutionFilter.js +80 -0
  391. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.d.ts +15 -0
  392. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceDisplacementMapFilter.js +106 -0
  393. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceFilter.d.ts +112 -0
  394. package/dist/webgl/shader/fragment/filter/FragmentShaderSourceFilter.js +275 -0
  395. package/dist/webgl/shader/variants/BlendShaderVariantCollection.d.ts +99 -0
  396. package/dist/webgl/shader/variants/BlendShaderVariantCollection.js +242 -0
  397. package/dist/webgl/shader/variants/FilterShaderVariantCollection.d.ts +150 -0
  398. package/dist/webgl/shader/variants/FilterShaderVariantCollection.js +398 -0
  399. package/dist/webgl/shader/variants/GradientLUTShaderVariantCollection.d.ts +49 -0
  400. package/dist/webgl/shader/variants/GradientLUTShaderVariantCollection.js +110 -0
  401. package/dist/webgl/shader/variants/GradientShapeShaderVariantCollection.d.ts +61 -0
  402. package/dist/webgl/shader/variants/GradientShapeShaderVariantCollection.js +199 -0
  403. package/dist/webgl/shader/variants/ShapeShaderVariantCollection.d.ts +117 -0
  404. package/dist/webgl/shader/variants/ShapeShaderVariantCollection.js +430 -0
  405. package/dist/webgl/shader/vertex/VertexShaderLibrary.d.ts +18 -0
  406. package/dist/webgl/shader/vertex/VertexShaderLibrary.js +75 -0
  407. package/dist/webgl/shader/vertex/VertexShaderSource.d.ts +23 -0
  408. package/dist/webgl/shader/vertex/VertexShaderSource.js +92 -0
  409. package/dist/webgl/shader/vertex/VertexShaderSourceFill.d.ts +45 -0
  410. package/dist/webgl/shader/vertex/VertexShaderSourceFill.js +112 -0
  411. package/dist/webgl/shader/vertex/VertexShaderSourceStroke.d.ts +27 -0
  412. package/dist/webgl/shader/vertex/VertexShaderSourceStroke.js +149 -0
  413. package/package.json +31 -25
  414. package/SECURITY.md +0 -3
  415. package/next2d.js +0 -7
@@ -0,0 +1,515 @@
1
+ import { EventDispatcher } from "../events/EventDispatcher";
2
+ import { URLRequest } from "../net/URLRequest";
3
+ import { SoundMixer } from "./SoundMixer";
4
+ import { Event as Next2DEvent } from "../events/Event";
5
+ import { IOErrorEvent } from "../events/IOErrorEvent";
6
+ import { ProgressEvent as Next2DProgressEvent } from "../events/ProgressEvent";
7
+ import { $Math, $performance, $requestAnimationFrame, $clamp, $getArray } from "../../util/RenderUtil";
8
+ import { $ajax, $audioContext, $audios, $currentPlayer, $decodeAudioData } from "../../util/Util";
9
+ /**
10
+ * Sound クラスを使用すると、アプリケーション内のサウンドを処理することができます。
11
+ * Sound クラスを使用すると、Sound オブジェクトの作成や、外部 MP3 ファイルのオブジェクトへのロードと再生ができます。
12
+ *
13
+ * The Sound class lets you work with sound in an application.
14
+ * The Sound class lets you create a Sound object,
15
+ * load and play an external MP3 file into that object.
16
+ *
17
+ * @class
18
+ * @memberOf next2d.media
19
+ * @extends EventDispatcher
20
+ */
21
+ export class Sound extends EventDispatcher {
22
+ _$sources;
23
+ _$bytesLoaded;
24
+ _$bytesTotal;
25
+ _$volume;
26
+ _$currentCount;
27
+ _$src;
28
+ _$loopCount;
29
+ _$stopFlag;
30
+ _$character;
31
+ _$audioBuffer;
32
+ _$arrayBuffer;
33
+ /**
34
+ * @constructor
35
+ * @public
36
+ */
37
+ constructor() {
38
+ super();
39
+ /**
40
+ * @type {number}
41
+ * @default 0
42
+ * @private
43
+ */
44
+ this._$bytesLoaded = 0;
45
+ /**
46
+ * @type {number}
47
+ * @default 0
48
+ * @private
49
+ */
50
+ this._$bytesTotal = 0;
51
+ /**
52
+ * @type {AudioBuffer}
53
+ * @default null
54
+ * @private
55
+ */
56
+ this._$arrayBuffer = null;
57
+ /**
58
+ * @type {Uint8Array}
59
+ * @default null
60
+ * @private
61
+ */
62
+ this._$audioBuffer = null;
63
+ /**
64
+ * @type {object}
65
+ * @default null
66
+ * @private
67
+ */
68
+ this._$character = null;
69
+ /**
70
+ * @type {array}
71
+ * @private
72
+ */
73
+ this._$sources = $getArray();
74
+ /**
75
+ * @type {number}
76
+ * @default 1
77
+ * @private
78
+ */
79
+ this._$volume = 1;
80
+ /**
81
+ * @type {number}
82
+ * @default 0
83
+ * @private
84
+ */
85
+ this._$currentCount = 0;
86
+ /**
87
+ * @type {number}
88
+ * @default 0
89
+ * @private
90
+ */
91
+ this._$loopCount = 0;
92
+ /**
93
+ * @type {boolean}
94
+ * @default true
95
+ * @private
96
+ */
97
+ this._$stopFlag = true;
98
+ /**
99
+ * @type {string}
100
+ * @default ""
101
+ * @private
102
+ */
103
+ this._$src = "";
104
+ }
105
+ /**
106
+ * @description 指定されたクラスのストリングを返します。
107
+ * Returns the string representation of the specified class.
108
+ *
109
+ * @return {string}
110
+ * @default [class Sound]
111
+ * @method
112
+ * @static
113
+ */
114
+ static toString() {
115
+ return "[class Sound]";
116
+ }
117
+ /**
118
+ * @description 指定されたクラスの空間名を返します。
119
+ * Returns the space name of the specified class.
120
+ *
121
+ * @return {string}
122
+ * @default next2d.media.Sound
123
+ * @const
124
+ * @static
125
+ */
126
+ static get namespace() {
127
+ return "next2d.media.Sound";
128
+ }
129
+ /**
130
+ * @description 指定されたオブジェクトのストリングを返します。
131
+ * Returns the string representation of the specified object.
132
+ *
133
+ * @return {string}
134
+ * @default [object Sound]
135
+ * @method
136
+ * @public
137
+ */
138
+ toString() {
139
+ return "[object Sound]";
140
+ }
141
+ /**
142
+ * @description 指定されたオブジェクトの空間名を返します。
143
+ * Returns the space name of the specified object.
144
+ *
145
+ * @return {string}
146
+ * @default next2d.media.Sound
147
+ * @const
148
+ * @public
149
+ */
150
+ get namespace() {
151
+ return "next2d.media.Sound";
152
+ }
153
+ /**
154
+ * @description 既にアプリケーションにロードされているデータのバイト数です。
155
+ * The number of bytes of data that have been loaded into the application.
156
+ *
157
+ * @member {number}
158
+ * @default 0
159
+ * @readonly
160
+ * @public
161
+ */
162
+ get bytesLoaded() {
163
+ return this._$bytesLoaded;
164
+ }
165
+ /**
166
+ * @description アプリケーションにロードされるファイルの総バイト数。
167
+ * The total size in bytes of the file being loaded into the application.
168
+ *
169
+ * @member {number}
170
+ * @default 0
171
+ * @readonly
172
+ * @public
173
+ */
174
+ get bytesTotal() {
175
+ return this._$bytesTotal;
176
+ }
177
+ /**
178
+ * @description ループ回数の設定
179
+ * Loop count setting.
180
+ *
181
+ * @member {number}
182
+ * @default 0
183
+ * @public
184
+ */
185
+ get loopCount() {
186
+ return this._$loopCount;
187
+ }
188
+ set loopCount(loop_count) {
189
+ this._$loopCount = loop_count;
190
+ }
191
+ /**
192
+ * @description 外部サウンドのURL
193
+ * URL for external sound.
194
+ *
195
+ * @member {string}
196
+ * @default ""
197
+ * @public
198
+ */
199
+ get src() {
200
+ return this._$src;
201
+ }
202
+ set src(url) {
203
+ this.load(new URLRequest(url));
204
+ }
205
+ /**
206
+ * @description ボリュームです。範囲は 0(無音)~ 1(フルボリューム)です。
207
+ * The volume, ranging from 0 (silent) to 1 (full volume).
208
+ *
209
+ * @member {number}
210
+ * @default 1
211
+ * @public
212
+ */
213
+ get volume() {
214
+ return this._$volume;
215
+ }
216
+ set volume(volume) {
217
+ this._$volume = $Math.min(SoundMixer.volume, $clamp(volume, 0, 1, 1));
218
+ const length = this._$sources.length;
219
+ if (length && $audioContext) {
220
+ for (let idx = 0; idx < length; ++idx) {
221
+ const source = this._$sources[idx];
222
+ if (source._$gainNode) {
223
+ source._$gainNode.gain.value = this._$volume;
224
+ source._$volume = this._$volume;
225
+ }
226
+ }
227
+ }
228
+ }
229
+ /**
230
+ * @description Sound クラスを複製します。
231
+ * Duplicate the Sound class.
232
+ *
233
+ * @return {Sound}
234
+ * @method
235
+ * @public
236
+ */
237
+ clone() {
238
+ const sound = new Sound();
239
+ sound.volume = this.volume;
240
+ sound._$loopCount = this._$loopCount;
241
+ if (this._$character) {
242
+ sound._$character = this._$character;
243
+ }
244
+ else {
245
+ sound._$audioBuffer = this._$audioBuffer;
246
+ }
247
+ return sound;
248
+ }
249
+ /**
250
+ * @description 指定した URL から外部 MP3 ファイルのロードを開始します。
251
+ * Initiates loading of an external MP3 file from the specified URL.
252
+ *
253
+ * @param {URLRequest} request
254
+ * @return {void}
255
+ * @method
256
+ * @public
257
+ */
258
+ load(request) {
259
+ this._$src = request.url;
260
+ $ajax({
261
+ "format": "arraybuffer",
262
+ "url": request.url,
263
+ "method": request.method,
264
+ "data": request.data,
265
+ "headers": request.headers,
266
+ "withCredentials": request.withCredentials,
267
+ "event": {
268
+ "loadstart": (event) => {
269
+ this._$loadStart(event);
270
+ },
271
+ "progress": (event) => {
272
+ this._$progress(event);
273
+ },
274
+ "loadend": (event) => {
275
+ this._$loadEnd(event);
276
+ }
277
+ }
278
+ });
279
+ }
280
+ /**
281
+ * @param {ProgressEvent} event
282
+ * @return {void}
283
+ * @method
284
+ * @private
285
+ */
286
+ _$loadStart(event) {
287
+ this._$bytesLoaded = event.loaded;
288
+ this._$bytesTotal = event.total;
289
+ if (this.willTrigger(Next2DEvent.OPEN)) {
290
+ this.dispatchEvent(new Next2DEvent(Next2DEvent.OPEN));
291
+ }
292
+ if (this.willTrigger(Next2DProgressEvent.PROGRESS)) {
293
+ this.dispatchEvent(new Next2DProgressEvent(Next2DProgressEvent.PROGRESS, false, false, event.loaded, event.total));
294
+ }
295
+ }
296
+ /**
297
+ * @param {ProgressEvent} event
298
+ * @return {void}
299
+ * @method
300
+ * @private
301
+ */
302
+ _$progress(event) {
303
+ this._$bytesLoaded = event.loaded;
304
+ this._$bytesTotal = event.total;
305
+ if (this.willTrigger(Next2DProgressEvent.PROGRESS)) {
306
+ this.dispatchEvent(new Next2DProgressEvent(Next2DProgressEvent.PROGRESS, false, false, event.loaded, event.total));
307
+ }
308
+ }
309
+ /**
310
+ * @param {ProgressEvent} event
311
+ * @return {void}
312
+ * @method
313
+ * @private
314
+ */
315
+ _$loadEnd(event) {
316
+ this._$bytesLoaded = event.loaded;
317
+ this._$bytesTotal = event.total;
318
+ if (this.willTrigger(Next2DProgressEvent.PROGRESS)) {
319
+ this.dispatchEvent(new Next2DProgressEvent(Next2DProgressEvent.PROGRESS, false, false, event.loaded, event.total));
320
+ }
321
+ const target = event.target;
322
+ if (!target) {
323
+ throw new Error("the Sound target is null.");
324
+ }
325
+ if (199 < target.status && 400 > target.status) {
326
+ this._$arrayBuffer = target.response;
327
+ if ($audioContext) {
328
+ $decodeAudioData(this)
329
+ .then((sound) => {
330
+ if (sound.hasEventListener(Next2DEvent.INIT)
331
+ || sound.hasEventListener(Next2DEvent.COMPLETE)) {
332
+ const player = $currentPlayer();
333
+ player._$loaders.push(sound);
334
+ }
335
+ });
336
+ }
337
+ else {
338
+ $audios.push(this);
339
+ }
340
+ }
341
+ else {
342
+ if (this.willTrigger(IOErrorEvent.IO_ERROR)) {
343
+ this.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, target.statusText));
344
+ }
345
+ }
346
+ }
347
+ /**
348
+ * @description サウンドを再生します。
349
+ * Play a sound.
350
+ *
351
+ * @param {number} [start_time=0]
352
+ * @return {void}
353
+ * @method
354
+ * @public
355
+ */
356
+ play(start_time = 0) {
357
+ const buffer = this._$character
358
+ ? this._$character.audioBuffer
359
+ : this._$audioBuffer;
360
+ // execute
361
+ if (!$audioContext || !buffer) {
362
+ const now = $performance.now();
363
+ const wait = () => {
364
+ const buffer = this._$character
365
+ ? this._$character.audioBuffer
366
+ : this._$audioBuffer;
367
+ if (buffer !== null && $audioContext !== null) {
368
+ const offset = ($performance.now() - now) / 1000;
369
+ this._$createBufferSource(start_time, offset);
370
+ return;
371
+ }
372
+ $requestAnimationFrame(wait);
373
+ };
374
+ $requestAnimationFrame(wait);
375
+ }
376
+ else {
377
+ this._$createBufferSource(start_time);
378
+ }
379
+ }
380
+ /**
381
+ * @description チャンネルで再生しているサウンドを停止します。
382
+ * Stops the sound playing in the channel.
383
+ *
384
+ * @return {void}
385
+ * @method
386
+ * @public
387
+ */
388
+ stop() {
389
+ this._$stopFlag = true;
390
+ const length = this._$sources.length;
391
+ if (length) {
392
+ const player = $currentPlayer();
393
+ if ($audioContext) {
394
+ for (let idx = 0; idx < length; ++idx) {
395
+ const source = this._$sources[idx];
396
+ if (source._$gainNode) {
397
+ source._$gainNode.gain.value = 0;
398
+ source._$gainNode.disconnect();
399
+ source._$gainNode = null;
400
+ }
401
+ source.onended = null;
402
+ source.disconnect();
403
+ }
404
+ }
405
+ player._$sources.splice(player._$sources.indexOf(this), 1);
406
+ this._$currentCount = 0;
407
+ this._$sources.length = 0;
408
+ }
409
+ }
410
+ /**
411
+ * @param {object} tag
412
+ * @param {MovieClip} parent
413
+ * @return {void}
414
+ * @method
415
+ * @private
416
+ */
417
+ _$build(tag, parent) {
418
+ const loaderInfo = parent.loaderInfo;
419
+ if (!loaderInfo || !loaderInfo._$data) {
420
+ throw new Error("the loaderInfo or data is null.");
421
+ }
422
+ this._$character = loaderInfo
423
+ ._$data
424
+ .characters[tag.characterId];
425
+ if (!this._$character) {
426
+ throw new Error("character is null.");
427
+ }
428
+ // load AudioBuffer
429
+ if (!this._$character.audioBuffer) {
430
+ if ($audioContext) {
431
+ $decodeAudioData(this)
432
+ .then((sound) => {
433
+ if (sound.hasEventListener(Next2DEvent.INIT)
434
+ || sound.hasEventListener(Next2DEvent.COMPLETE)) {
435
+ const player = $currentPlayer();
436
+ player._$loaders.push(sound);
437
+ }
438
+ });
439
+ }
440
+ else {
441
+ $audios.push(this);
442
+ }
443
+ }
444
+ this._$loopCount = tag.loopCount | 0;
445
+ this._$volume = $Math.min(SoundMixer.volume, tag.volume);
446
+ }
447
+ /**
448
+ * @param {number} [start_time=0]
449
+ * @param {number} [offset=0]
450
+ * @return {void}
451
+ * @method
452
+ * @private
453
+ */
454
+ _$createBufferSource(start_time = 0, offset = 0) {
455
+ if (!$audioContext) {
456
+ throw new Error("the Audio Context is null.");
457
+ }
458
+ // setup
459
+ const source = $audioContext.createBufferSource();
460
+ source.onended = (event) => {
461
+ return this._$endEventHandler(event);
462
+ };
463
+ // main
464
+ source.buffer = this._$character
465
+ ? this._$character.audioBuffer
466
+ : this._$audioBuffer;
467
+ source._$gainNode = $audioContext.createGain();
468
+ source._$gainNode.connect($audioContext.destination);
469
+ const volume = $Math.min(SoundMixer.volume, this._$volume);
470
+ source._$gainNode.gain.value = volume;
471
+ source._$volume = volume;
472
+ source.connect(source._$gainNode);
473
+ source.start(start_time | 0, offset);
474
+ const player = $currentPlayer();
475
+ if (player._$sources.indexOf(this) === -1) {
476
+ player._$sources.push(this);
477
+ }
478
+ this._$sources.push(source);
479
+ this._$stopFlag = false;
480
+ }
481
+ /**
482
+ * @param {Event} event
483
+ * @return {void}
484
+ * @method
485
+ * @private
486
+ */
487
+ _$endEventHandler(event) {
488
+ const source = event.target;
489
+ this._$sources.splice(this._$sources.indexOf(source), 1);
490
+ if (!this._$stopFlag && this._$loopCount > this._$currentCount) {
491
+ this._$createBufferSource();
492
+ this._$currentCount++;
493
+ }
494
+ else {
495
+ this._$currentCount = 0;
496
+ if ($audioContext) {
497
+ if (source._$gainNode) {
498
+ source._$gainNode.gain.value = 0;
499
+ source._$gainNode.disconnect();
500
+ source._$gainNode = null;
501
+ }
502
+ // Firefoxにて、disconnectした時にonendedが呼び出されるのを回避
503
+ source.onended = null;
504
+ source.disconnect();
505
+ }
506
+ if (!this._$sources.length) {
507
+ const player = $currentPlayer();
508
+ player._$sources.splice(player._$sources.indexOf(this), 1);
509
+ }
510
+ if (this.willTrigger(Next2DEvent.SOUND_COMPLETE)) {
511
+ this.dispatchEvent(new Next2DEvent(Next2DEvent.SOUND_COMPLETE));
512
+ }
513
+ }
514
+ }
515
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * SoundMixer クラスには、静的プロパティやアプリケーションのグローバルサウンドコントロールのメソッドが含まれます。
3
+ * SoundMixer クラスは、アプリケーションの埋め込みおよびストリーミングサウンド、及び、Video クラスの音声を制御します。
4
+ *
5
+ * @class
6
+ * @memberOf next2d.media
7
+ */
8
+ export declare class SoundMixer {
9
+ /**
10
+ * @description 指定されたクラスのストリングを返します。
11
+ * Returns the string representation of the specified class.
12
+ *
13
+ * @return {string}
14
+ * @default [class SoundMixer]
15
+ * @method
16
+ * @static
17
+ */
18
+ static toString(): string;
19
+ /**
20
+ * @description 指定されたクラスの空間名を返します。
21
+ * Returns the space name of the specified class.
22
+ *
23
+ * @return {string}
24
+ * @default next2d.media.SoundMixer
25
+ * @const
26
+ * @static
27
+ */
28
+ static get namespace(): string;
29
+ /**
30
+ * @description 指定されたオブジェクトのストリングを返します。
31
+ * Returns the string representation of the specified object.
32
+ *
33
+ * @return {string}
34
+ * @default [object SoundMixer]
35
+ * @method
36
+ * @public
37
+ */
38
+ toString(): string;
39
+ /**
40
+ * @description 指定されたオブジェクトの空間名を返します。
41
+ * Returns the space name of the specified object.
42
+ *
43
+ * @return {string}
44
+ * @default next2d.media.SoundMixer
45
+ * @const
46
+ * @public
47
+ */
48
+ get namespace(): string;
49
+ /**
50
+ * @description ボリュームです。範囲は 0(無音)~ 1(フルボリューム)です。
51
+ * The volume, ranging from 0 (silent) to 1 (full volume).
52
+ *
53
+ * @member {number}
54
+ * @default 1
55
+ * @static
56
+ */
57
+ static get volume(): number;
58
+ static set volume(volume: number);
59
+ /**
60
+ * @description 再生中のサウンドとビデオをすべて停止します。
61
+ * Stops all sound and video that is playing.
62
+ *
63
+ * @return {void}
64
+ * @method
65
+ * @static
66
+ */
67
+ static stopAll(): void;
68
+ }
@@ -0,0 +1,115 @@
1
+ import { $currentPlayer } from "../../util/Util";
2
+ import { $clamp, $Math } from "../../util/RenderUtil";
3
+ import { $getSoundMixerVolume, $setSoundMixerVolume } from "../../util/Global";
4
+ /**
5
+ * SoundMixer クラスには、静的プロパティやアプリケーションのグローバルサウンドコントロールのメソッドが含まれます。
6
+ * SoundMixer クラスは、アプリケーションの埋め込みおよびストリーミングサウンド、及び、Video クラスの音声を制御します。
7
+ *
8
+ * @class
9
+ * @memberOf next2d.media
10
+ */
11
+ export class SoundMixer {
12
+ /**
13
+ * @description 指定されたクラスのストリングを返します。
14
+ * Returns the string representation of the specified class.
15
+ *
16
+ * @return {string}
17
+ * @default [class SoundMixer]
18
+ * @method
19
+ * @static
20
+ */
21
+ static toString() {
22
+ return "[class SoundMixer]";
23
+ }
24
+ /**
25
+ * @description 指定されたクラスの空間名を返します。
26
+ * Returns the space name of the specified class.
27
+ *
28
+ * @return {string}
29
+ * @default next2d.media.SoundMixer
30
+ * @const
31
+ * @static
32
+ */
33
+ static get namespace() {
34
+ return "next2d.media.SoundMixer";
35
+ }
36
+ /**
37
+ * @description 指定されたオブジェクトのストリングを返します。
38
+ * Returns the string representation of the specified object.
39
+ *
40
+ * @return {string}
41
+ * @default [object SoundMixer]
42
+ * @method
43
+ * @public
44
+ */
45
+ toString() {
46
+ return "[object SoundMixer]";
47
+ }
48
+ /**
49
+ * @description 指定されたオブジェクトの空間名を返します。
50
+ * Returns the space name of the specified object.
51
+ *
52
+ * @return {string}
53
+ * @default next2d.media.SoundMixer
54
+ * @const
55
+ * @public
56
+ */
57
+ get namespace() {
58
+ return "next2d.media.SoundMixer";
59
+ }
60
+ /**
61
+ * @description ボリュームです。範囲は 0(無音)~ 1(フルボリューム)です。
62
+ * The volume, ranging from 0 (silent) to 1 (full volume).
63
+ *
64
+ * @member {number}
65
+ * @default 1
66
+ * @static
67
+ */
68
+ static get volume() {
69
+ return $getSoundMixerVolume();
70
+ }
71
+ static set volume(volume) {
72
+ $setSoundMixerVolume($clamp(volume, 0, 1, 1));
73
+ const soundMixerVolume = $getSoundMixerVolume();
74
+ const player = $currentPlayer();
75
+ const sounds = player._$sources;
76
+ for (let idx = 0; idx < sounds.length; ++idx) {
77
+ const sound = sounds[idx];
78
+ for (let idx = 0; idx < sound._$sources.length; ++idx) {
79
+ const source = sound._$sources[idx];
80
+ if (source._$gainNode) {
81
+ source._$gainNode.gain.value = $Math.min(soundMixerVolume, source._$volume);
82
+ }
83
+ }
84
+ }
85
+ const videos = player._$videos;
86
+ for (let idx = 0; idx < videos.length; ++idx) {
87
+ const video = videos[idx];
88
+ if (video._$video) {
89
+ video._$video.volume = $Math.min(soundMixerVolume, video.volume);
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * @description 再生中のサウンドとビデオをすべて停止します。
95
+ * Stops all sound and video that is playing.
96
+ *
97
+ * @return {void}
98
+ * @method
99
+ * @static
100
+ */
101
+ static stopAll() {
102
+ const player = $currentPlayer();
103
+ // sounds
104
+ const sources = player._$sources;
105
+ for (let idx = 0; idx < sources.length; ++idx) {
106
+ sources[idx].stop();
107
+ }
108
+ const videos = player._$videos;
109
+ for (let idx = 0; idx < videos.length; ++idx) {
110
+ videos[idx].pause();
111
+ }
112
+ player._$sources.length = 0;
113
+ player._$videos.length = 0;
114
+ }
115
+ }