spessasynth_core 3.27.6 → 3.27.7

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
@@ -66,7 +66,7 @@ npm install --save spessasynth_core
66
66
  - **Soundfont manager:** Stack multiple soundfonts!
67
67
  - **Unlimited channel count:** Your CPU is the limit!
68
68
  - **Excellent MIDI Standards Support:**
69
- - **MIDI Controller Support:** Default supported controllers [here](https://github.com/spessasus/spessasynth_core/wiki/MIDI-Implementation#supported-controllers)
69
+ - **MIDI Controller Support:** Default supported controllers [here](https://github.com/spessasus/spessasynth_core/wiki/MIDI-Implementation#default-supported-controllers)
70
70
  - **Portamento Support:** Glide the notes!
71
71
  - **Sound Controllers:** Real-time filter and envelope control!
72
72
  - **MIDI Tuning Standard Support:** [more info here](https://github.com/spessasus/spessasynth_core/wiki/MIDI-Implementation#midi-tuning-standard)
@@ -110,7 +110,7 @@ npm install --save spessasynth_core
110
110
  - **Easy info access:** Just an [object of strings!](https://github.com/spessasus/spessasynth_core/wiki/SoundFont2-Class#soundfontinfo)
111
111
  - **Smart trimming:** Trim the SoundFont to only include samples used in the MIDI *(down to key and velocity!)*
112
112
  - **sf3 conversion:** Compress SoundFont2 files to SoundFont3 with variable quality!
113
- - **Easy saving:** Also just [one function!](https://github.com/spessasus/spessasynth_core/wiki/SoundFont2-Class#write)
113
+ - **Easy saving:** Also just [one function!](https://github.com/spessasus/spessasynth_core/wiki/Sound-Bank-Parser#write)
114
114
 
115
115
  #### Read and write SoundFont3 files
116
116
  - Same features as SoundFont2 but with now with **Ogg Vorbis compression!**
@@ -119,7 +119,8 @@ npm install --save spessasynth_core
119
119
 
120
120
  #### Read and write DLS Level One or Two files
121
121
  - Read DLS (DownLoadable Sounds) files as SF2 files!
122
- - **Works like a normal soundfont:** *Saving it as sf2 is still [just one function!](https://github.com/spessasus/spessasynth_core/wiki/SoundFont2-Class#write)*
122
+ - **Works like a normal soundfont:** *Saving it as sf2 is still [just one function!](https://github.com/spessasus/spessasynth_core/wiki/Sound-Bank-Parser#write)*
123
+ - *That's right, saving as DLS is also [just one function!](https://github.com/spessasus/spessasynth_core/wiki/Sound-Bank-Parser#writedls)*
123
124
  - Converts articulators to both **modulators** and **generators**!
124
125
  - Works with both unsigned 8-bit samples and signed 16-bit samples!
125
126
  - A-Law encoding support
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spessasynth_core",
3
- "version": "3.27.6",
3
+ "version": "3.27.7",
4
4
  "description": "MIDI and SoundFont2/DLS library with no compromises",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -69,5 +69,8 @@ export function addAndClampGenerator(generatorType, presetGens, instrumentGens)
69
69
  }
70
70
 
71
71
  // limits are applied in the compute_modulator function
72
- return instruValue + presetValue;
72
+ // clamp to prevent short from overflowing
73
+ // testcase: Sega Genesis soundfont (spessasynth/#169) adds 20,999 and the default 13,500 to initialFilterFc
74
+ // which is more than 32k
75
+ return Math.max(-32767, Math.min(32767, instruValue + presetValue));
73
76
  }