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

> >From within soundtracker, it is possible to render the module
> as wav. My question is: Is it also possible to
> do it from the (Unix) command line? Something like
> `soundtracker --render song.xm song.wav' ?

filereq: show only *.xm, *.zip etc.

xm's without instruments saved by soundtracker can't be loaded by
mikmod.

nach dem samplen finetune+relnote so initen, da das sample auf c-4 original abgespielt wird.

bei tab und return aus entry-widgets mu "active widget" im fenster
resettet werden.

right-shift: start playing and editing, with scrolling
enabled. optional quantization.

write script to create distribution automatically

> press CAPSLOCK or something, to enter "hex chooser mode"
> type A3 or B0 or 45 or whatever the 2-digit hex code is for your sample
> program automatically leaves hexmode and functions return to normal.
> It's more keystrokes but less flipping through groups of samples. 

> you could add a bass drum to "7", snare to "8", closed hat to "9", ride to
> "4", timpany G to "5", etc..  all at the correct note for that sample.
> Then you just switch to edit mode and knock out a drum beat with single
> keypresses!

load 15 sample mods




=== GTK+ / GNOME bugs =====

bug: start st, go to instrument page, go back to tracker page, hit
shift+space.  jazz edit box is NOT displayed, this works only after
you use the menu bar once to toggle the box on. ---> BUG IN
GTK+/GNOME: in keyevent, the events are not being stopped, so _my_
code is not buggy. If you change the responsible key combo from
"Shift+Space" to something else, for example "Ctrl+R", it works
without problems.


====== GUI =========

statusbar: gtk_widget_usize() on gtk_clock is ugly...

> * 'Delete' and 'Rename' functions in File page.
> * Settings dialog for 'Render WAV' (begin postion, end position,
> amplification, WAV frequency, etc.)

in tokdar.xm in sample editor und dann die samples bis zur fnf von hand weiterschalten (Ctrl-left)

KDE link file from Paul Buhr

> Please add mouse bindings for copying parts of patterns... I'm still
> using FastTracker 2 because it's the only tracker with good mouse
> support. Some parts of FastTracker really suck (like the instrument
> list), so I'd like to start using another tracker... Soundtracker would
> be perfect if it just had proper mouse support.

> I think it would be nice, if you had an option to load only the samples
> from a module, not the whole module, just like in my old OctaMed.

> The second idea is an option, not to save the whole module, but only the
> arrangement without the samples, which is also a feauture of good ol'
> OctaMed.

bug: wenn man vorspult, werden die patterns im tracker schon gendert,
bevor der song sich ndert.

space-bar -> keyboard configuration

delink / link tab!!!

MAIN WINDOW "CONTROL PANEL": the scopes must be able to be replaced by
an instrument list or something similarly useful in case you don't
want the scopes there. the scopes could be put into their own window
or to the pre-0.1.1 position then.

SAMPLE LIST: like in good old MED

TRACKER WIDGET: should work with arbitrary note types, effects, and so
on.  should support per-cell background/foreground colors, fonts
should be configurable etc. extend xmnote.

CLAVIER: highlight currently played notes!

SPINBUTTON: add a hexadecimal mode, so that tracker widget / gui use
is consistent (this is not easy, will have to copy gtkspinbutton.c and
change that).

SAMPLE EDITOR: "play selection" button. (don't loop the sample then)

GUI: alternative scope (rgb box or something)

GUI-SETTINGS / TRACKER: h <-> b

GNOME / AUTOMAKE: Use official gnome macros instead of the xchat
configure.in code (but that sucks, since it's so much,
cf. gnome-libs-2 proposal)

SAMPLE EDITOR: lowpass / highpass / bandpass, mix two samples,
resampling functions.

SAMPLE EDITOR: needs some serious re-design (i mean the gui).

SPIN BUTTONS: make key-editable just like the instrument name widget,
for example...

TRACK EDITOR: copy/cut/paste via mouse

SCOPE GROUP: toggle display of channel numbers.

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??). make this configurable:
protracker (current one) or fasttracker like playlist. ONLY
PLAYLIST.[CH] HAVE TO BE ALTERED.

GUI: assign samples to numberpad. Then numberpad could act as a
drumpad (one key plays given sample at given frequency).

LOGO: add it somewhere

> - editor should be colourful (customize colors of samples, commands)

ENVELOPE-BOX: add a kind of "mixer position" like display

ENVELOPE-BOX: make sustain and loop points graphically editable

ENVELOPE-BOX: provide some standard curves

GUI: add volume slide auto generator (Cxx) - usable for other effects as well?

some kind of undo, especially for block operations

> ctrl+d - file requester
> ctrl+t - tracker
> ctrl+i - instrument editor
> ctrl+s - sample editor
> ctrl+m - module info

file-operations: after saving, the directory must be rescanned!
unfortunately, there's no gtk+ call for this :(

>  - IT has different shortcuts for selections: 
>    alt-b (begin) alt-e (end)
>    alt-l (whole column) alt-l twice (whole pattern)
>    alt-k in the volume column slides the volume in the selection
>    alt-x in the effect column slides the effects in the selection
>    alt-x twice wipe out all effect data
>    shift while pressing a note scrolls to the next column (depressing
> shift returns to the original position) this is useful for chords.
>    a number of keys either to play the current pattern, the song, or the
> song starting from the current pattern
 
> - octave change - it should be configurable to change octave with
> F-keys or with "/","*" ("/" octave down, "*" octave up), and to
> switch editors with F-keys (F2 tracker, F3 instrument editor, F4 sample
> editor... - just like good old Scream Tracker). It's sometimes more
> comfortable to use Scream Tracker approach to keyboard :)
> Wasting all F-keys for octaves is not The Good Thing.

 
====== PLAYER / LOADER ========

support old 15 sample modules

LOADER: support loading from archives (gnome-libs-2 VFS in the future?)

SAMPLE IMPORT/EXPORT: IFF and RAW formats.

XM.C / MOD LOADER: mod.Anette has strange loop points

PLAYER BUGS: e96-sache in flowerpower.main!, mod.rstchip.09,
mod.savage, spotlight madmix, alice d., abyss-tr -- fix note
retriggering when only instrument column is set.

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

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

edX-bug (-> kb)

mod saver


====== MIXER ======

combine C parts of old and new mixers

global filter

headphone-balancing... das echt zu hart sonst

st_mixer_info->data should be a gint16*! rewrite all void*
arithmetic.. remove current_word_length




====== DRIVERS =======

OSS-OUTPUT.C: make preferences come in effect immediately, without
having to restart the song.

OSS-INPUT.C: add settings widget, including sampling source and volume
slider.

SAMPLE-EDITOR.C / SAMPLING: support for other formats than 16 bit /
mono.




====== MISC ======

TIME-BUFFER: rewrite, optimize, respect maximum time delta value.

EVERYWHERE: use of pthread_create isn't quite consistent with use of
gthread_* functions everywhere else.

SAMPLE DISPLAY: Fix for large sample lengths (overflow in
XPOS_TO_OFFSET macro).

MAILING LIST: put an archive on the home page. code some fancy
php3+mysql database with search function.

idea why realtime scheduling doesn't work: mutexes in player thread
are spinloops, so they take up 100% cpu time when waiting and the main
thread can't release the mutexes.


====== FUTURE =======

MIDI out

Module format plugins (Might be interesting to see what the
linux-audio-dev guys are developing)

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.
