spessasynth_lib 3.9.22 → 3.10.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.
package/@types/index.d.ts CHANGED
@@ -31,4 +31,4 @@ import { readBytesAsUintBigEndian } from './utils/byte_functions/big_endian.js';
31
31
  import { NON_CC_INDEX_OFFSET } from './synthetizer/worklet_system/worklet_utilities/worklet_processor_channel.js';
32
32
  import { ALL_CHANNELS_OR_DIFFERENT_ACTION } from './synthetizer/worklet_system/message_protocol/worklet_message.js';
33
33
  import { WORKLET_URL_ABSOLUTE } from './synthetizer/worklet_url.js';
34
- export { Sequencer, Synthetizer, DEFAULT_PERCUSSION, VOICE_CAP, SoundFont2, trimSoundfont, modulatorSources, MIDI, IndexedByteArray, writeMIDIFile, writeRMIDI, applySnapshotToMIDI, modifyMIDI, audioBufferToWav, SpessaSynthLogging, SpessaSynthGroup, SpessaSynthTable, SpessaSynthGroupEnd, SpessaSynthInfo, SpessaSynthWarn, SpessaSynthGroupCollapsed, midiControllers, messageTypes, MIDIDeviceHandler, WebMidiLinkHandler, arrayToHexString, consoleColors, formatTitle, formatTime, readBytesAsUintBigEndian, NON_CC_INDEX_OFFSET, ALL_CHANNELS_OR_DIFFERENT_ACTION, WORKLET_URL_ABSOLUTE };
34
+ export { Sequencer, Synthetizer, DEFAULT_PERCUSSION, VOICE_CAP, SoundFont2, trimSoundfont, modulatorSources, OggVorbisEncoder, MIDI, IndexedByteArray, writeMIDIFile, writeRMIDI, applySnapshotToMIDI, modifyMIDI, audioBufferToWav, SpessaSynthLogging, SpessaSynthGroup, SpessaSynthTable, SpessaSynthGroupEnd, SpessaSynthInfo, SpessaSynthWarn, SpessaSynthGroupCollapsed, midiControllers, messageTypes, MIDIDeviceHandler, WebMidiLinkHandler, arrayToHexString, consoleColors, formatTitle, formatTime, readBytesAsUintBigEndian, NON_CC_INDEX_OFFSET, ALL_CHANNELS_OR_DIFFERENT_ACTION, WORKLET_URL_ABSOLUTE };
package/index.js CHANGED
@@ -41,6 +41,7 @@ export {
41
41
  SoundFont2,
42
42
  trimSoundfont,
43
43
  modulatorSources,
44
+ OggVorbisEncoder,
44
45
 
45
46
  // MIDI
46
47
  MIDI,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spessasynth_lib",
3
- "version": "3.9.22",
3
+ "version": "3.10.0",
4
4
  "description": "No compromise MIDI and SoundFont2 Synthesizer library",
5
5
  "browser": "index.js",
6
6
  "types": "@types/index.d.ts",
@@ -139,11 +139,6 @@ export function _playTo(time, ticks = undefined)
139
139
  let ccV = event.messageData[1];
140
140
  if(controllerNumber === midiControllers.bankSelect)
141
141
  {
142
- if(this.midiData.embeddedSoundFont !== undefined)
143
- {
144
- // special case if the RMID is embedded: subtract 1 from bank. See wiki About-RMIDI
145
- ccV--;
146
- }
147
142
  // add the bank to saved
148
143
  programs[channel].bank = ccV;
149
144
  break;
@@ -1,4 +1,4 @@
1
- import { getEvent, messageTypes, midiControllers } from '../../midi_parser/midi_message.js'
1
+ import { getEvent, messageTypes } from '../../midi_parser/midi_message.js'
2
2
  import { WorkletSequencerReturnMessageType } from './sequencer_message.js'
3
3
  import { consoleColors } from '../../utils/other.js'
4
4
  import { SpessaSynthWarn } from '../../utils/loggin.js'
@@ -67,13 +67,7 @@ export function _processEvent(event, trackIndex)
67
67
  break;
68
68
 
69
69
  case messageTypes.controllerChange:
70
- // special case if the RMID is embedded: subtract 1 from bank. See wiki About-RMIDI
71
- let v = event.messageData[1];
72
- if(this.midiData.embeddedSoundFont && event.messageData[0] === midiControllers.bankSelect)
73
- {
74
- v--;
75
- }
76
- this.synth.controllerChange(statusByteData.channel, event.messageData[0], v);
70
+ this.synth.controllerChange(statusByteData.channel, event.messageData[0], event.messageData[1]);
77
71
  break;
78
72
 
79
73
  case messageTypes.programChange:
@@ -57,6 +57,8 @@ export function loadNewSequence(parsedMidi)
57
57
  if(this.midiData.embeddedSoundFont !== undefined)
58
58
  {
59
59
  this.synth.reloadSoundFont(this.midiData.embeddedSoundFont);
60
+ // set offet
61
+ this.synth.soundfontBankOffset = 1;
60
62
  // preload all samples
61
63
  this.synth.soundfont.samples.forEach(s => s.getAudioData());
62
64
  }