This is a list of known bugs for JSyn. If you find a bug that is not on this list, then please report it.

Open Bugs

Resolved Bugs


Open Bugs

BUG0010 - Native library does not load on Snow Leopard.

Symptoms: JSyn plugin installation fails with "missing library".
latforms: Mac OS X 10.6 "Snow Leopard"
Cause:Need x86_64 bit library for Snow Leopard.
Workaround: None.
Status: Open
Mantis ID: #17

Resolved Bugs (fixed and released)

BUG0009 - PortAudio fails on Mac G5

Symptoms: Audio initialization fails and these errors appear in the Console.

Could not create format converter: error = 0x666D743F = 'fmt?'
PaOSX_HandleOutput: AudioConverterFillBuffer failed: error = 0xFFFFFFCE = '????'
Platforms: Mac OS X G5.
Cause: PortAudio is used for low level audio I/O. The Apple audio subsystem is different on G5 than earlier models and causes PortAudio to fail. This may be related to a 5.1 audio format on the G5.
Workaround: Maybe use output only, no input.
Reported by: Daniel, 3/1/05
Status: Fixed in V14.4

BUG0008 - getNumFramesMoved() fails after recording for several hours.

Symptoms: When recording or playing data continuously for 13 hours at 44100 Hz, getNumFramesMoved() always throws an Exception "Error in getNumFramesMoved()" .
Platforms: All.
Cause:  I coerce errorCodes to -1 to allow negative frame counts. But in SynthDataQueue.java I throw an exception if "< -1" instead of "== -1".
Workaround: Switch to a new sample reader or writer before the frame count wraps. Difficult when streaming.
Reported by: James High, 5/9/03
Status: Fixed in version V14.3.

BUG0007 - Stereo WAV samples do not load correctly.

Symptoms: Attempts to load a stereo WAV sample fail.
Platforms: All.
Cause:  Used bytesPerSample instead of bytesPerFrame when parsing.
Workaround: Switch to a new sample reader or writer before the frame count wraps. Difficult when streaming.
Reported by:
Status: Fixed in version V14.3.

BUG0006 - Streaming to disk can click periodically.

Symptoms: Streaming to disk using SampleQueueInputStream or StreamRecorder can click periodically, several times per second.
Platforms: All.
Cause: The native frame counter code in the sample writer is off by one. Some versions of the Java code account for this, some do not.
Workaround: Switch to an older version of the JSynClasses.jar file
Reported by: multiple users
Status: Fixed in version V14.3.

BUG0005 - SynthTable values clipped between -1.0 to +1.0

Symptoms: Double precision floating point data written to a SynthTable is clipped between -1.0 to +1.0. This is a leftover "feature" from when JSyn did not support full range values.
Platforms: All.
Cause: The write() method intentionally does clipping.
Workaround: Write values between -1.0 and +1.0 then use amplitude to scale output to desired level.
Reported by: Nick Didkovsky
Status: Fixed in version V14.3

BUG0004 - Macintosh JSyn - Host Initialization Fails

Symptoms: Attempting to run the JSynV14.2 released 4/9/01 resulted in a "Host Initialization Failed" error on some Macintoshes.
Platforms: Mac dual G4, possibly other Macs.
Cause: SPBGetIndexedDevice returned a surprising value.
Workaround: None.
Reported by: Jahwan Koo
Status:  fixed in version V14.2 released as a special bug-fix release 4/16/01 at 2AM.

BUG0003 - Unchecking all boxes in SynthScope hangs display.

Symptoms: If you uncheck all of the traces shown in a SynthScope, then the left and right indices get set to zero, and you can no longer zoom out even when you add the traces back in.
Platforms: All.
Cause: Was zooming out by (right-left)/2 which was zero. Now zoom by at least one, and reset right index when first trace added.
Workaround: Don't uncheck all the boxes.
Reported by: Kenneth Newby, 11/2/2000
Status:  fixed in version V14.2

BUG0002 - Garbled output from NON_REAL_TIME synthesis.

Symptoms: Output captured in a stream from NON_REAL_TIME synthesis can have small chunks of audio out of order.
Platforms: Windows NT.
Cause: Improper handling of thread priorities in SharedSleeper. One thread ran synthesis engine when other sleeping blocked for I/O.
Workaround: Avoid blocking I/O when using multiple threads. Use bigger buffers when streaming to disk, or capture in a single big sample. Only call Synth.sleepUntilTick() from one thread.
Reported by: Edward Archibald, 9/29/00
Status: fixed in version V14.2

BUG0001 - "Internal B2F Error" appears.

Symptoms: On rare occasion, the SynthException with "Internal B2F Error" is thrown, usually when sleeping. Associated with multiple threads, and lots of system activity.
Platforms: Windows JDK.
Cause: Improper mutual exclusion of threads in function CSyn_CheckEngineErrors().
Workaround: none
Reported by: Nick Didkovsky and Jamie Forrest, 9/28/00
Status:  fixed in version V14.2

© 2001 SoftSynth.com