TODO
183 lines (113 with data), 5.6 kB
o bug: scroll with overview widget to left (negative x? )
o bug: playback pointer does not disappear after play - pause - stop
o WAV @ G.711 export from MP3
o create label without text ?
o save as: file name with multiple "." -> take last one, not first
o "close" while playback running
o move label with mouse (drag&drop)
o simplify loading/unloading of plugins
o license change to GPL v3
o new import/export plugin using ffmpeg/libavcodec
o clipping of position widget
o support for visualization plugins (rev 2498)
- new functions
* allow drag&drop to reorder signal views
* resizing of signal views per size grip
* allow plugins to add and remove own signal views
- enhanced functions (maybe next release)
* store order and settings of signal views in embedded metadata
* store order and settings of signal views in a separate file
* provide global database for colors (for signal, labels, etc.)
* reordering of tracks according to order of the views
* context sensitive toolbar/menu entries when clicking to a view
* navigating between views per <Tab> key
o support for multi selection
o support for recording via PULSE audio
o MP3 export (maybe via calling lame/mpg123/mencoder as an external process)
o debug aid: write all actions to a logfile
o debug aid: new plugin for adding a new track with test/debug info:
- stripe number
- hull curve
- test pattern: sample offset within stripe
- test pattern: stripe borders
- generate labels at stripe borders
o spurious valgrind error:
==13087== Conditional jump or move depends on uninitialised value(s)
==13087== at 0x40F29EE: Kwave::Mul::multiply() (KwaveMul.cpp:117)
o spurious valgrind error:
==13087== Invalid read of size 8
==13087== at 0x4BF10544: QList<QTouchEvent::TouchPoint>::~QList() (qlist.h:716)
==13087== by 0x4C1CD41B: QRasterPaintEngine::drawLines(QLineF const*, int) (qpaintengine_raster_p.h:278)
==13087== by 0x4C1D386A: QRasterPaintEngine::drawRects(QRectF const*, int) (qpaintengine_raster_p.h:272)
==13087== by 0x4C110A63: QPainter::drawImage(QPointF const&, QImage const&) (qpainterpath.h:310)
==13087== by 0x404C4B5: OverViewWidget::calculateBitmap() (qpainter.h:925)
==13087== by 0x404D091: OverViewWidget::WorkerThread::run() (OverViewWidget.cpp:65)
o use xml description for device names in playback/record plugins
o use svg graphics instead of pixmaps
o use LADSPA
o JACK audio support
o automatic defragmentation of stripes
o maybe some effects from soundtouch
o re-activate the "label" menu
o use some xml file for the menu instead of a macro
o support for Spex codec: http://www.speex.org/
o get rid of libaudiofile, it is buggy, has too few features and
is no longer actively maintained -> find an alternative
o ALSA record/playback: also detect devices configured in the .asoundrc,
and not only hardware devices
o find a better solution for deadlock when closing the current file while
a plugin is still running, instead of refusing the request to close
o replace "AF_SAMPFMT_xxx" with enum "SampleFormat::yyy" in WavEncoder.cpp,
WavDecoder.cpp and PlayBack-OSS.cpp
o more precise handling of the playback pointer
-> latency handling
o audible/silent mode of tracks (speakers)
speaker controls for "audible" mode
o dithering/noise shaping when loading/saving
o auto-detect pause and set markers, for splitting recorded stuff into several
parts and then save them to disc as separate files
o install a new_handler() for cases in which we run out of memory
o open file dialog: add a preview widget that shows info about the file
and maybe has "playback/pause/stop" buttons
o fast playback mode, playback with facor 1.5x, 3x, 5x, 7x...
-> look how noatun does that...
o support for compressed wav files, like those found on www.montypython.net
-> MPEG 3 is still not supported by libaudiofile
o get Phonon playback support running correctly
o TrackPixmap: implement usage of "extra_samples" for interpolated mode
o fileinfo plugin: auto-generate filename from "track - title"
o use a MenuManager in the plugins (e.g. sonagram)
o optimized cut/paste, at zero-crossing
o new plugin: amplifyclip
o new plugin: pulse train
o document how to do an optimized build, for example:
CFLAGS="-march=athlon-xp -mcpu=athlon-xp \
-O4 -Wall -pipe -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_TRANSLATION" \
CXXFLAGS=${CFLAGS} cmake ...
o speed up MP3 import by blockwise operation
o import/export of labels as meta info in codecs other than wav
o SonagramWindow::toSignal()
o rework of the FFTWidget
o new plugin: additive synthesis
o new plugin: fft, averagefft
o new plugin: distort
o new plugin: channel mixer
o import of multi-channel ASCII files
o use namespace "Kwave" for all Kwave components
o support for KDE's session management
o fix bug in Fx->Periodic Silence (segmentation fault)
o macro recorder
o use MemoryManager for undo actions
o user selectable color scheme
(feature requested by John David Thompson, 2006-12-20)
o port from id3lib to taglib
=> rejected, currently no alternative available
=> taglib currently works only on files, unsuitable API
+ inaccurate file length detection (units of 1 sec)
=> libid3tag is nearly as old, undocumented and would
produce a lot of work
o switch to use float as sample_t (requires much work...)
-> version 0.9
o about plugin: auto-scroll for contents
o re-run cmake automatically when VERSION file has changed
### EOF ###