spessasynth_core 1.1.7 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -179,6 +179,18 @@ process.exit();
179
179
  - **Loop multiple times:** *Render two (or more) loops into the file for seamless transitions!*
180
180
  - *That's right, saving as WAV is also [just one function!](https://github.com/spessasus/spessasynth_core/wiki/Writing-Wave-Files#audiobuffertowav)*
181
181
 
182
+ ## Limitations
183
+ - Synth's performance may be suboptimal, especially on mobile devices.
184
+ - [SF2 to DLS Conversion](https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem)
185
+ - Audio may sometimes sound distorted in Chrome, Edge, Brave,
186
+ etc. due to a **[Chromium Bug](https://issues.chromium.org/issues/367304685).**
187
+ I can't do anything about it, only hope that it gets fixed.
188
+ Please consider voting for it on the bug tracker to get it fixed!
189
+
190
+ #### TODO
191
+ - Improve the performance of the engine
192
+ - Potentially port the system to Emscripten
193
+
182
194
  ### Special Thanks
183
195
  - [FluidSynth](https://github.com/FluidSynth/fluidsynth) - for the source code that helped implement functionality and fixes
184
196
  - [Polyphone](https://www.polyphone-soundfonts.com/) - for the soundfont testing and editing tool
package/index.js CHANGED
@@ -44,6 +44,9 @@ import {
44
44
  SpessaSynthWarn
45
45
  } from "./src/utils/loggin.js";
46
46
  import { readBytesAsUintBigEndian } from "./src/utils/byte_functions/big_endian.js";
47
+ import { readLittleEndian } from "./src/utils/byte_functions/little_endian.js";
48
+ import { readBytesAsString } from "./src/utils/byte_functions/string.js";
49
+ import { readVariableLengthQuantity } from "./src/utils/byte_functions/variable_length_quantity.js";
47
50
  import { consoleColors } from "./src/utils/other.js";
48
51
  import { inflateSync } from "./src/externals/fflate/fflate.min.js";
49
52
 
@@ -55,6 +58,9 @@ const SpessaSynthCoreUtils = {
55
58
  SpessaSynthGroupCollapsed,
56
59
  SpessaSynthGroupEnd,
57
60
  readBytesAsUintBigEndian,
61
+ readLittleEndian,
62
+ readBytesAsString,
63
+ readVariableLengthQuantity,
58
64
  inflateSync
59
65
  };
60
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spessasynth_core",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "MIDI and SoundFont2/DLS library with no compromises",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -27,5 +27,8 @@ export function sendPresetList()
27
27
  }
28
28
  });
29
29
  }
30
- this.callEvent("presetlistchange", mainFont);
30
+ this.processorInitialized.then(() =>
31
+ {
32
+ this.callEvent("presetlistchange", mainFont);
33
+ });
31
34
  }
@@ -400,7 +400,6 @@ class SpessaSynthProcessor
400
400
  this.soundfontManager = new WorkletSoundfontManager(
401
401
  soundfont
402
402
  );
403
- this.sendPresetList();
404
403
 
405
404
  this.getDefaultPresets();
406
405
 
@@ -424,6 +423,7 @@ class SpessaSynthProcessor
424
423
  this.applySynthesizerSnapshot(snapshot);
425
424
  }
426
425
 
426
+ this.sendPresetList();
427
427
  this.postReady();
428
428
  }
429
429