~ubuntu-branches/ubuntu/hardy/lmms/hardy

« back to all changes in this revision

Viewing changes to plugins/lb302/README

  • Committer: Bazaar Package Importer
  • Author(s): Tobias Doerffel
  • Date: 2007-09-17 15:00:24 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070917150024-mo0zk4ks81jawqii
Tags: 0.3.0-1ubuntu1
* Resynchronized with Debian (LP: #139759, LP: #90806, LP: #102639,
  LP: #113447, LP: #121172, LP: #124890)
* reverted changes from 0.2.1-1.1ubuntu1 as upstream merged/included them

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
LB303 Bass Synth - Known bugs, issues, and missing features
 
2
-----------------------------------------------------------
 
3
 
 
4
2007.02.03 - First release
 
5
--------------------------
 
6
 
 
7
Important note, in the current incarnation there are many behaviors,
 
8
constants, and other items that will be changed.  This will result
 
9
in a change of the instrument's timbre and functionality. Therefore,
 
10
it would be wise to not make any masterpieces with the synth at 
 
11
this point in time.
 
12
 
 
13
BUG: 
 
14
  Fix the awful clicking cause by adjacent notes.  This problem seems
 
15
  to be caused by 'unexhausted buffers' That is, the problem manifests
 
16
  itself to a greater degree when the user "buffer size" configuration
 
17
  is increased to over 1024 frames or so.  The problem is much less
 
18
  noticable when the buffer size is set to 64 frames.
 
19
 
 
20
BUG:
 
21
  The synth does not make accomodations for sampling rates other than
 
22
  44100. This should be easy to fix, but I haven't gotten around to
 
23
  it; nor do I have the means to test it.
 
24
 
 
25
BUG:
 
26
  I get segfaults now and then.  Granted, I've rarely used LMMS 
 
27
  without also using LB302, so I do not know if the problem is actually 
 
28
  in the Bass Synth. I have gotten the backtraces a few times:
 
29
    ...
 
30
    mixer::renderNextBuffer()
 
31
    mixer::nextAudioBuffer()
 
32
    QOBject::activate_signal()
 
33
    ??()
 
34
 
 
35
    and
 
36
 
 
37
    ...
 
38
    instrumentTrack::play()
 
39
    notePlayHandle()
 
40
    instrumentTrack::processOutEvent()
 
41
    fadeButton::activate()
 
42
    QSingleShotTimer::start()
 
43
    qStartTimer()
 
44
    qKillTimer()
 
45
    QGList::insertAt()
 
46
 
 
47
TODO:
 
48
  Add accent feature.  This isn't as bad as it sounds, but will require
 
49
  some tweaking to get right.
 
50
 
 
51
TODO:
 
52
  LB302 contains code for a short fixed-length default decay.  If a 
 
53
  released note is using a user-defined VCA from the instrument
 
54
  panel, then LB302 should not do anything special.  However, if no
 
55
  envelope is specified, then LB302 should request enough release-frames
 
56
  in order to apply the built-in exponential decay.
 
57
 
 
58
TODO:
 
59
  The original TB303's square wave is not 50% duty cycle.  The peaks are
 
60
  supposed to slope down slightly.  It would be nice to be able to 
 
61
  configure this.  In fact, each waveform could have a parameter knob to
 
62
  change some aspect of the wave.  See lb302.cpp:643 for more info.
 
63
 
 
64
TODO:
 
65
  Must decide on proper action to take when a slide note is interrupted
 
66
  by another slide note.  Right now, the slide-from frequency is always
 
67
  replaced with the prior note.  However, we may wish to maintain the
 
68
  current frequency in order to make the sound more continuous.
 
69
 
 
70
TODO:
 
71
  The default filter's distortion could use some work.
 
72
  effectLib::distortion<> gets the job done, but the coefficients need
 
73
  to more closely match that of lb302Filter3Pole's tanh distortion.
 
74
 
 
75
TODO:
 
76
  Slide decay needs a better knob mapping.  sqrt()? lb302.cpp:588
 
77
 
 
78
TODO:
 
79
  Consider making the slide trigger set the note to slide TO as opposed
 
80
  to the note to slide FROM.  I originally did FROM in order to match
 
81
  the real 303. However, TO may be more intuitive.
 
82
 
 
83
TODO:
 
84
  Various code refactoring, as well as precomputing some values.
 
85
 
 
86
TODO:
 
87
  Remove one of the sawtooth waveforms in favor of the other?