mirror of
https://github.com/LMMS/lmms.git
synced 2026-01-24 06:18:10 -05:00
No functional changes! No changes to savefiles/presets! Fixes casing of everything that is currently lowercase but should be uppercase. Fixes also some other plugin strings, especially: * opl2 -> OpulenZ (see289887f4fc) * calf -> veal (seeae291e0709) * ladspa_effect -> LadspaEffect (see9c9372f0c8) * remove flp_import (see2d1813fb64)
88 lines
3.1 KiB
Plaintext
88 lines
3.1 KiB
Plaintext
LB303 Bass Synth - Known bugs, issues, and missing features
|
|
-----------------------------------------------------------
|
|
|
|
2007.02.03 - First release
|
|
--------------------------
|
|
|
|
Important note, in the current incarnation there are many behaviors,
|
|
constants, and other items that will be changed. This will result
|
|
in a change of the instrument's timbre and functionality. Therefore,
|
|
it would be wise to not make any masterpieces with the synth at
|
|
this point in time.
|
|
|
|
BUG:
|
|
Fix the awful clicking cause by adjacent notes. This problem seems
|
|
to be caused by 'unexhausted buffers' That is, the problem manifests
|
|
itself to a greater degree when the user "buffer size" configuration
|
|
is increased to over 1024 frames or so. The problem is much less
|
|
noticeable when the buffer size is set to 64 frames.
|
|
|
|
BUG:
|
|
The synth does not make accomodations for sampling rates other than
|
|
44100. This should be easy to fix, but I haven't gotten around to
|
|
it; nor do I have the means to test it.
|
|
|
|
BUG:
|
|
I get segfaults now and then. Granted, I've rarely used LMMS
|
|
without also using LB302, so I do not know if the problem is actually
|
|
in the Bass Synth. I have gotten the backtraces a few times:
|
|
...
|
|
audioEngine::renderNextBuffer()
|
|
audioEngine::nextAudioBuffer()
|
|
QOBject::activate_signal()
|
|
??()
|
|
|
|
and
|
|
|
|
...
|
|
instrumentTrack::play()
|
|
notePlayHandle()
|
|
instrumentTrack::processOutEvent()
|
|
fadeButton::activate()
|
|
QSingleShotTimer::start()
|
|
qStartTimer()
|
|
qKillTimer()
|
|
QGList::insertAt()
|
|
|
|
TODO:
|
|
Add accent feature. This isn't as bad as it sounds, but will require
|
|
some tweaking to get right.
|
|
|
|
TODO:
|
|
LB302 contains code for a short fixed-length default decay. If a
|
|
released note is using a user-defined VCA from the instrument
|
|
panel, then LB302 should not do anything special. However, if no
|
|
envelope is specified, then LB302 should request enough release-frames
|
|
in order to apply the built-in exponential decay.
|
|
|
|
TODO:
|
|
The original TB-303's square wave is not 50% duty cycle. The peaks are
|
|
supposed to slope down slightly. It would be nice to be able to
|
|
configure this. In fact, each waveform could have a parameter knob to
|
|
change some aspect of the wave. See Lb302.cpp:643 for more info.
|
|
|
|
TODO:
|
|
Must decide on proper action to take when a slide note is interrupted
|
|
by another slide note. Right now, the slide-from frequency is always
|
|
replaced with the prior note. However, we may wish to maintain the
|
|
current frequency in order to make the sound more continuous.
|
|
|
|
TODO:
|
|
The default filter's distortion could use some work.
|
|
effectLib::distortion<> gets the job done, but the coefficients need
|
|
to more closely match that of Lb302Filter3Pole's tanh distortion.
|
|
|
|
TODO:
|
|
Slide decay needs a better knob mapping. sqrt()? Lb302.cpp:588
|
|
|
|
TODO:
|
|
Consider making the slide trigger set the note to slide TO as opposed
|
|
to the note to slide FROM. I originally did FROM in order to match
|
|
the real 303. However, TO may be more intuitive.
|
|
|
|
TODO:
|
|
Various code refactoring, as well as precomputing some values.
|
|
|
|
TODO:
|
|
Remove one of the sawtooth waveforms in favor of the other?
|