@tsparticles/plugin-sounds 3.0.3 → 3.2.0

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 (55) hide show
  1. package/265.min.js +2 -0
  2. package/265.min.js.LICENSE.txt +1 -0
  3. package/714.min.js +2 -0
  4. package/714.min.js.LICENSE.txt +1 -0
  5. package/browser/Options/Classes/Sounds.js +4 -0
  6. package/browser/Options/Classes/SoundsEvent.js +4 -3
  7. package/browser/Options/Classes/SoundsIcon.js +1 -0
  8. package/browser/Options/Classes/SoundsIcons.js +4 -0
  9. package/browser/SoundsInstance.js +130 -69
  10. package/browser/SoundsPlugin.js +37 -0
  11. package/browser/index.js +1 -24
  12. package/browser/utils.js +11 -4
  13. package/cjs/Options/Classes/Sounds.js +4 -0
  14. package/cjs/Options/Classes/SoundsEvent.js +4 -3
  15. package/cjs/Options/Classes/SoundsIcon.js +1 -0
  16. package/cjs/Options/Classes/SoundsIcons.js +4 -0
  17. package/cjs/SoundsInstance.js +128 -67
  18. package/cjs/SoundsPlugin.js +64 -0
  19. package/cjs/index.js +24 -24
  20. package/cjs/utils.js +14 -5
  21. package/dist_browser_SoundsInstance_js.js +30 -0
  22. package/dist_browser_SoundsPlugin_js.js +120 -0
  23. package/esm/Options/Classes/Sounds.js +4 -0
  24. package/esm/Options/Classes/SoundsEvent.js +4 -3
  25. package/esm/Options/Classes/SoundsIcon.js +1 -0
  26. package/esm/Options/Classes/SoundsIcons.js +4 -0
  27. package/esm/SoundsInstance.js +130 -69
  28. package/esm/SoundsPlugin.js +37 -0
  29. package/esm/index.js +1 -24
  30. package/esm/utils.js +11 -4
  31. package/package.json +2 -2
  32. package/report.html +3 -3
  33. package/tsparticles.plugin.sounds.js +241 -738
  34. package/tsparticles.plugin.sounds.min.js +1 -1
  35. package/tsparticles.plugin.sounds.min.js.LICENSE.txt +1 -1
  36. package/types/Options/Classes/Sounds.d.ts +1 -0
  37. package/types/Options/Classes/SoundsEvent.d.ts +0 -5
  38. package/types/Options/Classes/SoundsIcon.d.ts +1 -0
  39. package/types/Options/Classes/SoundsIcons.d.ts +1 -0
  40. package/types/Options/Interfaces/ISounds.d.ts +1 -0
  41. package/types/Options/Interfaces/ISoundsIcon.d.ts +1 -0
  42. package/types/Options/Interfaces/ISoundsIcons.d.ts +1 -0
  43. package/types/SoundsInstance.d.ts +6 -0
  44. package/types/SoundsPlugin.d.ts +11 -0
  45. package/types/index.d.ts +1 -1
  46. package/types/types.d.ts +5 -5
  47. package/types/utils.d.ts +2 -0
  48. package/umd/Options/Classes/Sounds.js +4 -0
  49. package/umd/Options/Classes/SoundsEvent.js +4 -3
  50. package/umd/Options/Classes/SoundsIcon.js +1 -0
  51. package/umd/Options/Classes/SoundsIcons.js +4 -0
  52. package/umd/SoundsInstance.js +128 -67
  53. package/umd/SoundsPlugin.js +75 -0
  54. package/umd/index.js +26 -25
  55. package/umd/utils.js +14 -5
package/esm/index.js CHANGED
@@ -1,27 +1,4 @@
1
- import { Sounds } from "./Options/Classes/Sounds.js";
2
- import { SoundsInstance } from "./SoundsInstance.js";
3
- class SoundsPlugin {
4
- constructor(engine) {
5
- this.id = "sounds";
6
- this._engine = engine;
7
- }
8
- getPlugin(container) {
9
- return new SoundsInstance(container, this._engine);
10
- }
11
- loadOptions(options, source) {
12
- if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
13
- return;
14
- }
15
- let soundsOptions = options.sounds;
16
- if (soundsOptions?.load === undefined) {
17
- options.sounds = soundsOptions = new Sounds();
18
- }
19
- soundsOptions.load(source?.sounds);
20
- }
21
- needsPlugin(options) {
22
- return options?.sounds?.enable ?? false;
23
- }
24
- }
25
1
  export async function loadSoundsPlugin(engine, refresh = true) {
2
+ const { SoundsPlugin } = await import("./SoundsPlugin.js");
26
3
  await engine.addPlugin(new SoundsPlugin(engine), refresh);
27
4
  }
package/esm/utils.js CHANGED
@@ -13,13 +13,20 @@ notes.set("Bb", [29.14, 58.27, 116.54, 233.08, 466.16, 932.33, 1864.66, 3729.31,
13
13
  notes.set("B", [30.87, 61.74, 123.47, 246.94, 493.88, 987.77, 1975.53, 3951.07, 7902.13]);
14
14
  notes.set("pause", [0]);
15
15
  export function getNoteFrequency(note) {
16
- const regex = /(([A-G]b?)(\d))|pause/i, result = regex.exec(note);
17
- if (!result || !result.length) {
16
+ const regex = /(([A-G]b?)(\d))|pause/i, result = regex.exec(note), groupKey = 2, defaultMatchKey = 0, innerGroupKey = 3;
17
+ if (!result?.length) {
18
18
  return;
19
19
  }
20
- const noteKey = result[2] || result[0], noteItem = notes.get(noteKey);
20
+ const noteKey = result[groupKey] || result[defaultMatchKey], noteItem = notes.get(noteKey);
21
21
  if (!noteItem) {
22
22
  return;
23
23
  }
24
- return noteItem[parseInt(result[3] || "0")];
24
+ return noteItem[parseInt(result[innerGroupKey] || "0")];
25
25
  }
26
+ let muted = true;
27
+ export const isWindowMuted = () => {
28
+ return muted;
29
+ };
30
+ export const unmuteWindow = () => {
31
+ muted = false;
32
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/plugin-sounds",
3
- "version": "3.0.3",
3
+ "version": "3.2.0",
4
4
  "description": "tsParticles sounds plugin",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -86,7 +86,7 @@
86
86
  "./package.json": "./package.json"
87
87
  },
88
88
  "dependencies": {
89
- "@tsparticles/engine": "^3.0.3"
89
+ "@tsparticles/engine": "^3.2.0"
90
90
  },
91
91
  "publishConfig": {
92
92
  "access": "public"
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/plugin-sounds [26 Dec 2023 at 19:29]</title>
6
+ <title>@tsparticles/plugin-sounds [31 Jan 2024 at 02:08]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -31,8 +31,8 @@
31
31
  <body>
32
32
  <div id="app"></div>
33
33
  <script>
34
- window.chartData = [{"label":"tsparticles.plugin.sounds.js","isAsset":true,"statSize":24461,"parsedSize":28475,"gzipSize":6915,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":24419,"groups":[{"id":810,"label":"index.js + 10 modules (concatenated)","path":"./dist/browser/index.js + 10 modules (concatenated)","statSize":24419,"parsedSize":28475,"gzipSize":6915,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser","statSize":24419,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/index.js","statSize":804,"parsedSize":937,"gzipSize":227,"inaccurateSizes":true},{"id":null,"label":"SoundsInstance.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/SoundsInstance.js","statSize":11967,"parsedSize":13954,"gzipSize":3388,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes","statSize":10207,"groups":[{"id":null,"label":"Sounds.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/Sounds.js","statSize":739,"parsedSize":861,"gzipSize":209,"inaccurateSizes":true},{"id":null,"label":"SoundsIcons.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsIcons.js","statSize":5666,"parsedSize":6607,"gzipSize":1604,"inaccurateSizes":true},{"id":null,"label":"SoundsVolume.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsVolume.js","statSize":619,"parsedSize":721,"gzipSize":175,"inaccurateSizes":true},{"id":null,"label":"SoundsEvent.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsEvent.js","statSize":1343,"parsedSize":1566,"gzipSize":380,"inaccurateSizes":true},{"id":null,"label":"SoundsIcon.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsIcon.js","statSize":434,"parsedSize":506,"gzipSize":122,"inaccurateSizes":true},{"id":null,"label":"SoundsAudio.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsAudio.js","statSize":441,"parsedSize":514,"gzipSize":124,"inaccurateSizes":true},{"id":null,"label":"SoundsNote.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsNote.js","statSize":306,"parsedSize":356,"gzipSize":86,"inaccurateSizes":true},{"id":null,"label":"SoundsMelody.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/Options/Classes/SoundsMelody.js","statSize":659,"parsedSize":768,"gzipSize":186,"inaccurateSizes":true}],"parsedSize":11902,"gzipSize":2890,"inaccurateSizes":true},{"id":null,"label":"utils.js","path":"./dist/browser/index.js + 10 modules (concatenated)/dist/browser/utils.js","statSize":1441,"parsedSize":1680,"gzipSize":408,"inaccurateSizes":true}],"parsedSize":28475,"gzipSize":6915,"inaccurateSizes":true}]}],"parsedSize":28475,"gzipSize":6915},{"label":"engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","statSize":42,"groups":[{"id":533,"label":"engine\",\"root\":\"window\"}","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles/engine\",\"root\":\"window\"}","statSize":42}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"tsparticles.plugin.sounds":true}}];
35
- window.entrypoints = ["tsparticles.plugin.sounds","tsparticles.plugin.sounds.min"];
34
+ window.chartData = [];
35
+ window.entrypoints = ["tsparticles.plugin.sounds.min"];
36
36
  window.defaultSizes = "parsed";
37
37
  </script>
38
38
  </body>