
things to do and known bugs (in no particular order)
-------------------------------------------------------

PLAYER BUGS: mod.rstchip.09, mod.savage, spotlight madmix, alice d.,
abyss-tr -- fix note retriggering when only instrument column is set
(this is weird, but I think I found out what it is), there's also some
trouble with the 3xx command...

PREFERENCES: loading / saving

MIXER: stereo width / stereo type (ramp or semi-ramp)

CLIPPING INDICATOR: put it back, using ring buffer concept

SAMPLE EDITOR: put back the sample playing monitor ("mixer position").

SCOPES: don't work with large fragsizes

LOADER: support loading from archives (Realtime is working on it?)

SAMPLE EDITOR: when changing loop points in a sample, retriggering the
note on the keyboard uses the old loop points --> upload new sample
data to driver after editing.

XM-PLAYER: find the bug which causes ch->chFinalPitch to become zero
in tru_funk.mod.

XM SAMPLE HEADER: the byte at offset 17 is "reserved" according to the
XM documentation. Modules saved in FastTracker contain values other
than 0 in there.  Does this field have any meaning?

MIXER / EVERYWHERE: enforce sample length limitiation

PLAYER / MIXER: what happens if you use 9xx to jump behind the loop
end?

CONFIRMATION: add confirmation dialogs to any potentially destructive
functions.

SRC/DRIVERS/MAKEFILE.AM: find a way to disable building of unused
files.

WAV SAVER: is there something wrong? the "play" command line program
complains about "wrong speed/freq.". i find 44100 is quite common :)

DOCUMENTATION: write it.

MIXER: the pitchbend function is cool. what would be even cooler is if
SoundTracker could play two mods simultaneously; it could be used as a
pseudo-turntable module mixer then. something i always wanted to do.

SAMPLE DISPLAY: find a better way of displaying the sample by looking
at all the samples, not only the discrete ones determined by the
linear function. we should get rid of this "interference" like effect.

SAMPLE EDITOR: normalize / volume up/down / fade in/out functions.

EDITOR: new functions: "copy current block to first unused block",
"find first unused block"

MODINFO PAGE: new function: "sample used in module?"

EDITOR: new functions: "remove unused patterns", "reorder patterns"

SAMPLE IMPORT/EXPORT: XI, IFF and RAW formats.

SPINBUTTON: add a hexadecimal mode; the instrument number should be
displayed in hex (because the tracker does that, too).

MULTI-SAMPLE INSTRUMENTS: add interface for modifying the samplemap.

SAMPLE EDITOR: support display window panning (middle mousebutton or
ctrl-anybutton, and a hscrollbar under the sample display)

GUI: every notebook page should be able to be put in its own window by
a single button click.

SAMPLE EDITOR: cut, copy & paste.

GTK+: fix the adjustment bug

GTK+: fix the scope-group hbox "bug"/"feature"

MODULE INFO: find a way to make the clist widget set its column width
automatically rather than doing the wild size_allocate hack.

SCOPE GROUP: rewrite as a custom container widget, so that it a, looks
better and b, single-channel mode can be toggled with the right mouse
button.

ERROR HANDLING: all the fprintf(stderr)'s must be changed so that they
display error messages through the user interface. and a lot of error
traps still have to be installed...

NOTE KEY HANDLING: if notekeys.c can't find the right keys
automatically, make them editable.

MIXER: some asm-optimized mixing code would be nice (kb, what about
your fpu mixer?).

ENVELOPE-BOX.C: write a gtk+ widget for graphical editing of the
envelope lists, which should look just like the fasttracker2 thingy.

PLAYLIST WIDGET: write a playlist widget which always displays the
current pattern in the middle of the scrollable area (can be used for
the numerical envelope editor, too). this is rather boring: ever had a
look at the gtk+ clist widget?

FILE REQUESTER: write a small file requester widget so that we don't
have to use the gtk+ file selection, which can be quite unpleasant if
you want to quickly scan a directory containing 100 samples for a
specific one.  on the other hand - if every program would provide
their own file selectors, the world would be a bad place. this one
would go into a separate notebook page (which could be put into its
own window as well, with the concept described above). probably
copy'n'paste from the gtk+ source code.

INSTRUMENT / SAMPLE EDITOR: need to implement some kind of access
locking so the player doesn't interfere with the editor when changing
sample parameters such as loop start/end and the envelopes.
