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

jazz edit: zu dem kanal springen, auf dem keine note spielt, oder
auf dem zumindest das keyoff schon gekommen ist!

jazz edit: only show buttons that are really useable (num_channels)

space-bar auch ins men (oder in keyboard configuration)



message archive -> home page!

http://www.iro.umontreal.ca/contrib/po/HTML/



toni-mixer:
-----------

o Die Samples knacken irgendwie, wenn sie umschalten oder
stoppen. (aber auch in meinem Mixer)

o Was soll das mit den linear frequencies?

o Sollte das Mono-Downmixing im Mixer passieren oder hinterher in
audio.c? Im Mixer ist natrlich besser, weil der Puffer nur einmal
angefasst wird.

o The code to handle unlimited length samples is clever.

o Limitation to 16bit samples only is to be discussed. Can conversion
to 32bit or float formats be avoided?

o My volume and shifting code is quite stupid.

o The initialization (loop handling) and exit (mixbuffer downgrading)
code should be shared.


nic leveille's post vom 10 oct 1999

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

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

status bar (indicates loading and playing and tracker columns)

delink / link tab!!!

whoops: rf01102.xm, play it, switch to instrument page, then to sample
editor -> sample display widget behaves strangely. expose() is not
called -> bug in gtk+.

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 / MIXER: when window is hidden, deactivate the scopes computation
in the mixer

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 (arghl, cf. gnome-libs-2 proposal)

SAMPLE EDITOR: lowpass / highpass / bandpass, mix two samples,
down/upsample 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

GUI: bpm and tempo spins behave a little bit strange sometimes.

SAMPLE EDITOR: sample loader / saver: check if the (width == 8 ->
modifysample) code is correct. well, no need to check: it isn't. but
find a nicer way. "for now, it works" :-) also, check the
virtualbyteorder stuff.

> - 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.

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

MIXER POSITION / CLIPPING INDICATOR: update more often

ENVELOPE-BOX: canvas should scroll if points are moved outside the
current displayed region.

ENVELOPE-BOX: expand/shrink scroll region after adding points

ENVELOPE-BOX: init dragging after new point has been set

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

> One first 'easy' extension to the soundtracker widget would be to add a
> status bar like the one that exists in buzz.. It's a quite neat feature,
> when your cursor is on a column, it describes the column:
> 
>   cursor           
>     v
> ... |. ...       ... .. 3|..
>  
> status bar:      
> [ volume ]       [ portamento ]
> 
> -N.Leveille (Knos)


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

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

SAMPLE IMPORT/EXPORT: IFF and RAW formats.

XM.C: loading chuck-boom.xm doesn't work!

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



====== 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).




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

MIDI

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.
