This project has been started by Martin Wilz in summer 1998 and has been developed and improved by him an some other people. In November 1999 Thomas Eschenbacher has started to fix some little bugs here and there and stepped into the source code of the program deeper and deeper. Up to today he has extended, rewritten or revised nearly every component of the program and spent much time on improving it.
changed Makefiles: html docu stays in distribution due to too much trouble with the KDE documentation tools
when inserting from clipboard into a signal with a different number of tracks, the result will be mixed (still not optimized/slow)
fixed bug in shutdown sequence, now clipboard is flushed before the application closes.
limited the playback buffer to be between 256 and 65536 bytes due to problems (system hang) with small playback buffers with 16..64 bytes (might be a hardware problem)
rework of the overview widget (used in main window and sonagram)
checking for much more header files at configure time (due to a problem reported by issiac@evcom.net )
added sizeHint() and minimumSize() to ScaleWidget and OverViewWidget
sonagram: removed (need for) SonagramContainer, using QGridLayout instead
added TSS (thread-specific-storage) support to the mt classes
added some multithreading support classes: Thread, AsynchObject, ...
removed the "get" prefix from all member functions. This is the new KDE/QT coding style.
updated the online documentation to point to the new Kwave homepage on http://kwave.sourceforge.net/
class ImageView: always repaints (maybe image data has changed)
bugfix: selection and playpointer will not be drawn if no signal is loaded
made symbolic links to the english help directory from the "de" and "default" directory during make install and uninstall and also in the post and postun scripts of the specfile The user should at least get the english help...
automatic update of the revision history in the docbook file if this file is modified (only english version)
started on writing a new documentation / online help using docbook
if a file with invalid size (e.g. recorded by "arecord") is loaded, shows a message and truncates the input at the end of the file
found out that we need ALSA support for 24 and 32 bits/sample
selected channels (x) are mixed to the output device's channels (y) at playback using a x:y translation matrix with linear scaling, all values for x and y except zero are allowed
fixed severe bug in SignalManager::readWavChunk(), chrashed if there was data after the wav chunk
export to ASCII for multi-channel signal (multi-channel import has still to be done, currently only mono)
fixed many memory leaks and inconsistent delete operations (e.g. used "delete" instead of "delete[]")
included support for (and tested with) the error detection and memory debugging tool "Insure++ Lite 4.1" (./configure --enable-insure=yes ...) -> thanks to ParaSoft Corporation for making this limited version of the tool available (http://www.parasoft.com)
SignalWidget uses three layers for drawing, speeds up the redraws after mouse selection by about factor 14(!!!) on my system :-))
0.5.2-1...0.5.2-8 [...2000-05-18]
replaced all occurances of sprintf with snprintf, strcpy with strncpy (in 92 places) !
handling of channel add/delete: selection/speakers are shifted
changed some variables/parameters to "unsigned" (simplifies range checks)
beautified the whole source code according to my favorite coding style. -> thanks to the developers of the "Artistic Style" package, astyle-1.11.4-1 made good work :-)
globals.app will not be used (obsolete, should be removed from libkwave)
MessagePort will not be used (obsolete, should be removed from libkwave)
bugfix concerning loading/saving 8 bit .wav-files (always unsigned !)
rpm package should now be installable without conflicts and compile without any previous installation of kwave
removed the "${KDEDIR}/share/doc/HTML/default" directory from the rpm so that it doesn't conflict with the already existing one
shift+Home/shift+End selects from the current left/right position up to the start/end of the signal
the zoom factor combo box reflects the current "real" zoom factor
bugfix in KWaveApp: now sets globals.app to this if it was null before, now doesn't crash if it loads a file specified at cmdline
now compiles and runns under RedHat 6.1 / Halloween IV as well as under SuSE 6.2
version info of libkwavegui.so is set to the package's version
bugfix in plugins/template/Makefile.am: will not create .moc files on make distclean and other targets
compiling with --no-rtti. This was necessary to compile against the kde libraries of RedHat that seem to contain no rtti. As a side effect all warnings on linking programs/libs disappeared :-)
bugfixes in some plugins, all compile now without warnings/errors
1999-12-19 (by Thomas.Eschenbacher@gmx.de)
remade my modifications of some Makefiles and of the configure script that were lost during Martin's changes
changed shortcut for mixpaste from CTRL-SHIFT-X to CTRL-SHIFT-C
corrected the call of "delete", now really deletes instead of cutting and copying the selection to the clipboard (saves clipboard content)
1999-12-07 (by Thomas.Eschenbacher@gmx.de)
SignalManager::writeWavChunk uses buffers for writing (much faster!)
bugfix: SignalManager::writeWavChunk now doesn't destroy the signal's data while saving
make distclean in the projekt root directory also removes zero-length files, *.orig, *.rej and *~ (just makes cleaner than before)
symbolic links to Makefile, Makefile.in and Makefile.am in the plugins directory are deleted with "make distclean" and rebuilt on "make" (changes in the referenced Makefiles in the template directory will not be reflected thousand times when creating a patch with diff)
"configure --enable-debug=yes" (-g and -DDEBUG compiler flags)
connected many functions via the new string-based way of invocation
fixed some dependencies between old code and new classes (there's still more to do !)
Color class as wrapper to QColor (may become independent later)
reworking Curve Class for creation via string, interpolation now uses curve objects
new Classes: Parser DynamicLoader Filter (prevously was a struct)
new calling scheme via string commands. This will allow scripting and macro definitions. Threading is made a whole lot easier, because a only a string has to be passed and gets expanded into the needed set of parameters in each thread
Introduction of SignalManager class for multiple channel management
triple-checked the missing Accelerators in the Menumanager. It seems to be a bug in qpopmenu, I'll wait for qt to be fixed, or until a workaround is known
recent Files are updated again, while the program is running
kwave now keeps track of last directory saved to; for user convenience
reestablished selection mechanism to match versions before 0.29.3 and corrected some otherwise screwed-up behaviour
developement has slowed down a bit, this release is not as complete as I wished but since 0.29.2 has a destructor with parameters accidently left in, and so does not compile on all systems -> here we go again...
reworked selection routines into a new class, code is still rather confusing, but seems to work
added gui to mix channels together, the needed functions for mixing are still missing
changed version numbering and filename as suggested by Version 1.1 of "How To Name Things" from sunsite. The last digit will always mark be 0 for releases uploaded to ftp.kde.org.
contribution from Gerhard Zintel displaying notes in fftview
added possibility of different display modes in Frequency representation
fixed severe quantisation bug in saving 16Bit routine, reported by ?
added wrapper for systems with no posixthreads -> still needs handling by configure script (change Makefile for not linking libpthread and doing a define)
Label generation according to Period Detection (autocorellation)
Sonagram, FFTView and Distortion-Dialog now use ScaleWidgets
Improved ProgressDialog and Interpolation class to allow multiple threads