- Add
getPlayerCurrentTick,getPlayerTotalTicks,getPlayerBpm,getPlayerMIDITempo, andgetRawPlayer
- Add
transferparameter tohookPlayerMIDIEventsByNameandcallFunction, allowing to transfer ownership - Support 'globalThis' to add/reference variables defined in the worklet
- Add
Synthesizer.initializeWithFluidSynthModule- This allows to use loaded libfluidsynth instance explicitly, especially for Node.js environment (loaded via
require)
- This allows to use loaded libfluidsynth instance explicitly, especially for Node.js environment (loaded via
- Add
libfluidsynthdirectory - Update libfluidsynth scripts (add 2.4.6 and remove 2.2.1)
- Add
setPlayerLoopandsetPlayerTempomethods toISynthesizer
- Add
disableLogging/restoreLoggingfor suppressing logs
(This version has no updates for js-synthesizer itself.)
- Update libfluidsynth scripts (add 2.3.0 and remove 2.1.9)
- Update README.md
(This version has no updates for js-synthesizer itself.)
- Update libfluidsynth scripts (remove 2.1.3)
- Update README.md
(This version has no updates for js-synthesizer itself.)
- Update libfluidsynth scripts
- Update README.md
- Downgrade Node.js version to v12
- Fixed to initialize player on first player method calls
- Add
closePlayermethod to release internal player instance
- Add
- Bundle libfluidsynth-2.2.1.js (and remove libfluidsynth-2.0.2.js)
- Add
waitForWasmInitializedto wait for WebAssembly initialization (#13) - Add Soundfont object to read loaded soundfont information (including presets defined in the soundfont) (#14)
- Fix AudioWorkletNodeSynthesizer playPlayer to wait for internal playPlayer done (related: #16)
- Fix messaging usage on Sequence for AudioWorklet
- Add support for libfluidsynth 2.2.x
- Bundle libfluidsynth-2.1.9.js
(This version has no feature updates but the minor version is updated due to change default behavior.)
- Fix to initialize gain value
- Patch for retrieving active voice count (
isPlaying()should work correctly now) - Update libfluidsynth.js
- Note that js-synthesizer still work with libfluidsynth-2.0.2.js.
(This version has no feature updates but the minor version is updated due to updating engine version.)
- Fix required engine version (#4)
- Update packages and build settings
(This version has no bug-fixes and feature updates.)
- Update packages and build settings
- Fix to support iOS Safari that does not support
copyToChannelonAudioBuffer(#2, thanks to @CreadDiscans)
- Remove
Fluidnamespace support (breaking change for initial user) - Add
callFunctionmethod toAudioWorkletNodeSynthesizer - Add some methods to
Synthesizersuch assetChorusandsetGenerator(not add toAudioWorkletNodeSynthesizer)- To use those methods from audio worklet, load your script into audio worklet and use
callFunction
- To use those methods from audio worklet, load your script into audio worklet and use
- Fix to send 'unregister' event explicitly before unregistering client from Sequencer, to avoid access violation ('index out of range' error in JS)
- Add
SynthesizerSettingsobject for initialization of synthesizer- The object can be specified for
initmethod ofSynthesizer, orcreateAudioNodemethod ofAudioWorkletNodeSynthesizer.
- The object can be specified for
- Add
setChannelTypemethod for Synthesizer (ISynthesizer) - Add
removeAllEvents/removeAllEventsFromClientmethods for Sequencer (ISequencer)
- Rename package name to
js-synthesizer(fromfluid-js)- Old
fluid-related files are currently supported, but will be removed in the future.
- Old
- The root namespace
Fluidis changed toJSSynthforjs-synthesizer.jsfile- The namespace
Fluidis only available when usingfluid.js(or files beginning withfluid), and the namespaceJSSynthis only available when usingjs-synthesizer.js(or files beginning withjs-synthesizer).
- The namespace
- Update libfluidsynth to 2.0.2 (using fluidsynth-emscripten v2.0.2-em-fix1)
- Add 'midiProgramSelect' API for synthesizer
- Add APIs for hooking MIDI events from player
- Add APIs for handling event data from sequencer (as 'sequencer client')
- Fix handling errors on the audio worklet
- Fix missing destination for sequencer
- Add APIs for player status and seekings (
seekPlayeretc.) - Add APIs for 'sequencer' processings
- Add 'waitForReady' API
- Initial version (using fluidsynth-emscripten v2.0.1-em)