- Add
setPlayerLoop
andsetPlayerTempo
methods toISynthesizer
- Add
disableLogging
/restoreLogging
for 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
closePlayer
method to release internal player instance
- Add
- Bundle libfluidsynth-2.2.1.js (and remove libfluidsynth-2.0.2.js)
- Add
waitForWasmInitialized
to 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
copyToChannel
onAudioBuffer
(#2, thanks to @CreadDiscans)
- Remove
Fluid
namespace support (breaking change for initial user) - Add
callFunction
method toAudioWorkletNodeSynthesizer
- Add some methods to
Synthesizer
such assetChorus
andsetGenerator
(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
SynthesizerSettings
object for initialization of synthesizer- The object can be specified for
init
method ofSynthesizer
, orcreateAudioNode
method ofAudioWorkletNodeSynthesizer
.
- The object can be specified for
- Add
setChannelType
method for Synthesizer (ISynthesizer
) - Add
removeAllEvents
/removeAllEventsFromClient
methods 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
Fluid
is changed toJSSynth
forjs-synthesizer.js
file- The namespace
Fluid
is only available when usingfluid.js
(or files beginning withfluid
), and the namespaceJSSynth
is 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 (
seekPlayer
etc.) - Add APIs for 'sequencer' processings
- Add 'waitForReady' API
- Initial version (using fluidsynth-emscripten v2.0.1-em)