Warning, /multimedia/kwave/CHANGES is written in an unsupported language. File is not indexed.

0001 
0002 21.11.70 [2021-07-13]
0003 
0004  * introduced Kwave::URLfromUserInput to work around problems with QUrl
0005    misinterpreting file names in cmdline parameters as http:// URLs
0006  * fixed deprecation warnings: QRecursiveMutex, KPluginFactory
0007  * bugfix: wrong tooltip translation for selection range (and other times)
0008  * bugfix: wrong calculation on opus encoder, causing corrupted files
0009 
0010 20.08.01 [2020-08-31]
0011 
0012  * adapted make targets (scripts) for "update-translations" and "msgstats"
0013    to new directory structure of translations
0014 
0015 20.07.70 [2020-04-05]
0016 
0017  * bugfix: cleanup code in destructor of PluginManager caused crash when
0018    closing the window due to broken iterator
0019  * bugfix: Qt playback plugin crashed when stopping pre-listen
0020  * bugfix: new data was not initialized in SampleArray::resize()
0021  * bugfix: improved stability and responsiveness when stopping/canceling
0022    of streams (including playback), fixes some GUI hanging and crashes
0023 
0024 20.03.70 [2020-02-16]
0025 
0026  * dropped support for swap files, assuming that nowadays everyone has
0027    much more than 4GB RAM and nobody really needs this. Additionally it
0028    was a common pitfall that usage of physical memory was limited per
0029    default settings to a too low value. Internally this also speeds up
0030    allocation of memory and simplifies the code quite a bit.
0031  * fixed compiler warnings about "empty expression statement has no effect;
0032     remove unnecessary ';'" (most of them from invocation of Q_UNUSED)
0033  * changed SAMPLE_INDEX_MAX to maximum value of a 32bit int (2.147.483.647)
0034  * removed class MemoryManager, use Kwave::SampleArray directly as backend
0035    for Kwave::Stripe (which reduces complexity a lot)
0036 
0037 19.07.70 [2019-03-16]
0038 
0039  * bugfix for KDE #394358 (Kwave crashes when closing About dialog)
0040  * bugfix: no longer use pa_write_start in PulseAudio playback (caused
0041    invalid internal memory reuse in PulseAudio server + assert)
0042  * bugfix for KDE #389159 (Recording Pause function does not work)
0043 
0044 19.03.70 [2018-11-10]
0045 
0046  * fix for potential deadlock when canceling playback test dialog
0047  * workaround for MP3 files with wrong length information
0048  * fixed race condition in RecordThread (queue handling)
0049 
0050 18.07.70 [2018-03-24]
0051 
0052   * enabled support for high dpi displays (icon scaling)
0053   * show error message if no plugins were found and terminate
0054   * updated developer handbook
0055   * cleanup: removed unused feature to attach meta data to lists
0056     of tracks and ranges of samples
0057   * bugfix: label positions got messed up after sample rate conversion
0058 
0059 18.03 [2017-11-13]
0060 
0061   * do not reset undo/redo information when saving blocks or selection only
0062   * ask for confirmation (Continue/Cancel) before doing a revert
0063   * switched on MP3 support per default
0064   * bugfix: crash in pulseaudio playback
0065   * fixed some untranslated menu entries of plugins (missing context)
0066   * bugfix for sporadic fail of libaudiofile when seeking at EOF
0067   * improved C++11 compatibility
0068 
0069 17.08.2 [2017-10-08]
0070 
0071   * new plugin: export to K3b project file
0072   * reduced flicker of position widget
0073   * bugfix: deleting labels per menu did not work
0074   * bugfix: wrong text in file progress dialog when saving
0075   * bugfix: compression type lookup did not work when using static functions
0076   * bugfix: distinguish ogg/vorbis and ogg/opus by mime type
0077   * changed license of audio samples to CC BY-SA 4.0
0078 
0079 17.04.0 [2017-03-19]
0080 
0081   * use KDE versioning scheme
0082   * removed kwave.lsm and some now unneeded scripts (filter-pot.pl,
0083     get_lsm_entry.pl and set_version.sh)
0084   * simplified version number handling
0085   * eliminated cmake/FindOggVorbis.cmake
0086   * changed licenses of all cmake files to BSD license
0087   * bugfix: wrong assert in Stripe.cpp
0088   * OggOpus decoder: fixed unwanted data duplication (may lead to out-of-memory)
0089   * saveblocks: special handling for slashes in parts of a generated file name,
0090     e.g. title or meta data item - replace with similar unicode character
0091   * saveblocks: special handling for (multiple) whitespaces in parts of a
0092     generated file name - replace with single spaces
0093   * saveblocks: do not ask on every file in case that not all file properties
0094     are supported by the chosen encoder
0095   * saveblocks: use the block title (description of the left side label) as
0096     tile of saved block
0097   * bugfix: file was left in "modified" state after adding a label and canceling
0098   * re-activated the "label" menu
0099   * renamed command "add_label"    -> "label:add"
0100   * renamed command "delete_label" -> "label:delete"
0101   * renamed command "edit_label"   -> "label:edit"
0102   * implemented loading and saving of labels
0103   * allow special value -1 as index for label:delete(...) to delete _all_ labels
0104   * doc: split off developer sections from handbook into separate file, to
0105     reduce load of translators. new make target "html_doc_devel"
0106     (included in "apidoc")
0107   * label edit: avoid position from snapping too much away when adding a label
0108     in the gui while last edit was in percent mode
0109   * implemented moving of labels per mouse
0110   * show cursor line for orientation during drag&drop
0111 
0112 16.12.0 [2016-11-28]
0113 
0114   * project moved from kdereview to kdemultimedia
0115   * added genre types 126..191
0116   * record plugin: fixed crash when restarting record in MDI or tab mode
0117   * record plugin: reset did not work when clicking the "New" button shortly
0118     after starting the recording
0119   * record plugin: selection of default recording method did not work
0120   * revised use of signal handler in WorkerThread
0121   * WorkerThread: no longer use "bool" for signaling the wish to terminate,
0122     use QAtomicInt instead (also applies to Plugin class)
0123   * changed order of application object creation and setting up command line
0124     parser + about data
0125   * got rid of I18N_NOOP in main.cpp
0126   * bugfix: untranslated strings in menu
0127   * LICENSES file still mentioned Qt-4/KDE-4 libraries
0128   * CMakeLists.txt: remove RPATH settings
0129   * fixed small memory leak in menu group handling
0130   * fixed i18n of application AboutData
0131   * bugfix: internal name of "goto" plugin was wrong
0132   * bugfix: wrapper script did not work
0133   * fixed wrong encoding of error messages received via strerror and libs
0134   * bugfix: handling of File/Revert was wrong in case of newly created file
0135 
0136 0.9.2 [2016-06-26]
0137 
0138  * recording via Qt Multimedia
0139  * using KDE service API for loading plugins
0140  * bugfix: screenshot function sometimes returned 1x1 image only (bug in Qt
0141    QWidget::frameGeometry is broken, but QWindow::frameGeometry works)
0142  * Gentoo ebuild updated to EAPI=6
0143  * removed unneeded build and runtime dependencies
0144  * removed optimized memcpy for PowerPC
0145  * record plugin: improved handling of error messages
0146  * record plugin: added retry mechanism in case of device busy
0147  * added menu entries for recording and record setup
0148  * import of Core Audio Format (*.caf), using ALAC, A-LAW, U-LAW and IMA
0149    compression
0150  * import of Sample Vision Format (*.smp)
0151  * import of NIST SPHERE Audio File Format (*.nist)
0152  * import of Creative Voice files (*.voc)
0153  * import Audio Visual Research File Format (*.avr)
0154  * import of Amiga IFF/8SVX Sound File Format (*.8svx)
0155  * handbook: description of parameters of the record plugin was missing
0156  * handbook: fixed duplicate ":" in header of plugin parameter descriptions
0157  * made Kwave::SampleFormat and Kwave::Compression independent from libaudiofile
0158 
0159 0.9.1 [2016-02-21]
0160 
0161  * ported to KDE Frameworks 5 (KF5) / Qt5
0162  * playback via Qt Multimedia
0163  * bugfix: saved plugin parameter lists with escaped characters were not
0164    unescaped when loading again
0165  * compile fix for armv7l
0166  * codec_mp3: added missing "help" button to encoder setup dialog
0167  * fixed invocation of file dialog, as suggested by EBN
0168  * support for cmake > 3.3, fix for policy CMP0063
0169  * cmdline option "--nofork" no longer exists
0170  * bugfix: multiple issues in context of switching the GUI type in scripts
0171  * bugfix: fixed issues in saveblocks plugin with special characters in
0172    filenames and patterns, format strings of second and later invocations
0173    of patterns were ignored
0174  * saveblocks: allow path separators in filename patterns to make it possible
0175    to create subdirectories
0176  * saveblocks: added patterns to include file info (file meta data) or the
0177    title of the current block
0178  * workaround for bug in KDE #345320 (missing translators in help/about dialog)
0179  * about plugin: added info about translation team
0180  * added screenshot of the edit_label dialog
0181  * bugfix: tooltips of the fileinfo dialog were not translated
0182  * new make target: "make msgstats" to show the progress of translations
0183  * compile fix for armv7l
0184  * playback: dropped Phonon support (was broken and no longer supported by KF5)
0185  * bugfix: hourglass cursor was not taken back in playback setup dialog
0186  * RPM: format of changelog has changed
0187  * changed plugin install directory and prefix/suffix
0188  * curve widget: use same colors as in frequency response widget, for better
0189    readability on bright color themes
0190 
0191 0.9.0 [2015-05-25]
0192 
0193  * first version hosted on KDE (kdereview) and SourceForge
0194  * added command line parameter for selecting the GUI type
0195  * in MDI mode: new menu entry + function to arrange sub windows vertically
0196  * handbook: added text command reference
0197  * handbook: added plugin reference
0198  * enabled the "Help" buttons of all plugins and let them open the corresponding
0199    section in the handbook
0200  * make system: new target "update-handbook" (updates command, file info
0201    and plugin cross references)
0202  * make system: fixed dependency problem in translation
0203  * new commands: "window:sendkey", "window:screenshot", "window:close"
0204    and "window:resize"
0205  * built-in variable ${LANG} for kwave commands
0206  * support for delayed command execution
0207  * debug plugin: always compiled in, but only visible in debug build
0208  * new command sync(): wait for commands scheduled with delayed
0209  * bugfix: exporting a mono file as MP3 produced a stereo MP3 file
0210  * MP3: emphasis, copyrighted, original got lost during save/load
0211  * file info dialog: MPEG settings were not handled properly
0212  * bugfix: assert/numeric overflow in selectnextlabels() at end of file
0213  * new plugin: stringenter
0214  * bugfix: minimized windows were not migrated properly when switching GUI type
0215  * new command: window:minimize
0216  * bugfix: missing range check in noise generator (when used per script)
0217  * bugfix: saveblocks plugin did not work when omitting file extension
0218  * saveblocks plugin: use escaped strings for storing settings instead of base64
0219 
0220 0.8.99-2 [2015-01-02]
0221 
0222  * bugfix: wrong sub window mode when switching to tab mode when having only
0223    one sub window (workaround for bug in Qt)
0224  * bugfix: recording did not work in MDI and Tab mode (wrong file context)
0225  * bugfix: fixed passing a text command as first command line parameter
0226  * new commands: delayed, window:click, window:sendkey, window:close,
0227    window:resize, window:screenshot
0228 
0229 0.8.99 [2014-12-28]
0230 
0231  * GUI: implemented SDI, MDI and Tab GUI modes
0232  * bugfix: deadlock in class Track
0233  * bugfix: segfault during shutdown of logger
0234  * bugfix: segfault when unloading plugins (on some systems)
0235  * bugfix: "zoom to selection" was not disabled if nothing was selected
0236  * bugfix: toolbar buttons for cut/copy/erase/delete did not properly get
0237    enabled/disabled on change of selection
0238  * bugfix: overview widget did not properly refresh after deleting all tracks
0239  * bugfix: assert in vorbis decoder when opening file with bitrate -1
0240  * menu subsystem: added support for lists within a menu
0241  * menu subsystem: show/hide toplevel menu entries
0242  * menu subsystem: added support for exclusive selection (radio buttons)
0243  * menu subsystem: let KDE chose shortcuts automatically
0244  * added menu entry to clear "recently opened files" list
0245  * implemented URL scheme for passing text commands from the command line
0246    example: kwave --iconic --disable-splashscreen test.wav \
0247                     kwave:plugin%3Aexecute?normalize \
0248                     kwave:save \
0249                     kwave:quit
0250  * using perl scripts creating for i18n from menus.config and for getting
0251    entries from lsm files, no longer need awk, sort, uniq
0252  * creating menu translation template directly per perl script instead
0253    of generated dummy cpp file (requires "msgcat")
0254  * menu translations: assign a context to each menu entry
0255  * bugfix: division through zero on ogg files with invalid bitrate info
0256  * manual: added section about GUI types
0257  * i18n: translations were missing in kwave.desktop
0258 
0259 0.8.12 [2014-06-04]
0260 
0261  * recording via PulseAudio, by Joerg-Christan Boehme <joerg@chaosdorf.de>
0262  * bugfix: "Close" button of the record dialog did not save settings
0263  * bugfix: amplify free plugin: untranslated action names in progress bar
0264  * bugfix: sonagram plugin did not honor the windowing function parameter
0265  * bugfix: coherency problems in overview cache
0266  * bugfix: metadata got lost after cut/undo/redo
0267  * bugfix: save/as check against overwriting existing files failed
0268  * bugfix: undo/redo did not work after recording
0269  * bugfix: signal was "modified" after canceled record (empty) / done
0270  * bugfix: wrong calculation of zoom and window geometry at startup
0271  * bugfix: wrong scaling of overview in sonagram window
0272  * bugfix: playback pointer did not update synchronously across tracks
0273  * bugfix: brought back support for optimized memcpy (from xine-lib)
0274  * updated memcpy.c + cpu detection, including AVX assembler support
0275  * new command line option: "--logfile=<FILE>" for logging to a file
0276  * brought back the horizontal scroll bar
0277  * support for swap files to store undo data
0278  * speedup: too many copy-on-write operations, use more const data
0279  * improved robustness against out of memory situations
0280  * memory manager: added statistics for debugging
0281  * memory settings: only use up to 25% of process address space
0282  * internal cleanups: renamed openSampleReader -> openReader,
0283    fixed signature of Signal/SignalManager::openWriter
0284  * speedup: use stripe list instead of raw data for saving undo data
0285  * debug plugin: added functions "labels_at_stripes", "sawtooth_verify"
0286    and "dump_metadata"
0287  * automatic defragmentation of stripes
0288  * sonagram plugin: use Qt Concurrent framework -> more than factor 40
0289    faster on a quad core cpu
0290  * got rid of KDE ThreadWeaver, replaced with Qt Concurrent framework
0291  * debug plugin: added function "fm_sweep"
0292  * workaround for broken WAV files with zeroed fact chunk
0293  * fixed many 32/64 bit issues
0294  * new build target "make wrapper": creates a wrapper script to start Kwave
0295    for test/debug purpose
0296  * new build target "make dep": creates a binary debian package
0297    (for personal use and testing purposes)
0298  * mouse wheel + Ctrl: zoom in/out aligns signal to mouse position
0299  * record plugin: level meter is always enabled, simplified dialog
0300  * PulseAudio playback: fixed wrong timeout calculation
0301  * requires at least Qt-4.7 + FLAC-1.2.0
0302 
0303 0.8.11 [2013-11-24]
0304 
0305  * added spanish translation, provided by Carlos R. <pureacetone@gmail.com>
0306  * bugfix: file names were not properly escaped in context of file/open,
0307    file/openrecent and drag&drop
0308  * bugfix: saveblocks() did not abort properly when pressing cancel
0309  * unclean shutdown of the file progress dialog when saving
0310  * noise plugin: add noise (mix) instead of overwrite, with adjustable
0311    level in percent or dB
0312  * pause button: change tooltip to "continue" if paused
0313  * new command line option: "--disable-splashscreen"
0314  * new command line option: "--iconic" to start minimized
0315  * fixed quoting errors in CMakeLists.txt (cmake-2.8.12 complained)
0316  * bugfix: ASCII encoder: escape special characters in meta data
0317  * implementation of ASCII import
0318  * memory settings: raised default memory limits
0319  * bugfix: crash in file info dialog / auto generate keywords
0320  * MP3 plugin: use ID3 tag TSSE for software version
0321  * ASCII codec: implemented support for labels
0322 
0323 0.8.10 [2013-02-09]
0324 
0325  * file name cleanup: removed "Kwave" prefix
0326  * bugfix: added range checks for track selection commands
0327  * reverted changes in sample writer due to problems in debug mode (commits
0328     ee54660d4380d264b7346a904eff9dd8d8d00a93 and
0329     6fba04db879ea7ae1fdf79141dd93d47f9c1d403)
0330  * bugfix: unwanted termination if splash screen closed while the first
0331    toplevel widget still was starting up
0332  * moved code into namespace "Kwave"
0333  * cleanup: remove support for outdated FLAC API versions below 1.1.3
0334  * removed unused code: libkwave/FileFormat.*
0335  * renamed source files with "Kwave" in the name
0336  * added subsystem prefix to inclusion of Qt header files
0337  * using bit types from qt (e.g. u_int32_t => quint32)
0338  * compile with DQT_NO_CAST_TO_ASCII and QT_NO_CAST_FROM_ASCII
0339  * bugfix: recording via OSS did not handle invalid devices properly
0340  * improved auto detect of svg-to-png conversion,
0341    added support for "rsvg-convert" (SF bug #38)
0342  * removed dependency to ImageMagick if "rsvg" is available
0343  * replaced libkwave/byteswap.h with generic Qt functions
0344  * replaced some Qt classes with their KDE equivalent:
0345    KLineEdit, KComboBox, KDialogButtonBox, KPushButton, KTabWidget, KTextEdit
0346  * using KDE standard buttons in dialogs
0347  * simplified plugin loading mechanism, do load/unload only at start/end of
0348    the program
0349  * delete plugin settings of old versions when detected
0350  * using QLibrary instead of functions from libdl
0351  * bugfix: shutdown sequence was incomplete
0352  * bugfix: keyboard shortcut for first menu entry did not work
0353  * bugfix: ambiguous keyboard shortcut for "File/New Window"
0354  * bugfix: undo of "modify label" caused loss of other labels
0355  * bugfix: use timeout for phonon playback, to avoid hang on unusable devices
0356  * using klocale for formating numbers of samples
0357  * added common base class for all codec plugins
0358  * reduced quality level of sample rate converter from "best" to "medium",
0359    to improve speed
0360  * refactored playback handling (controller vs. plugin)
0361  * workaround for bug in Phonon: no device names available in first call to
0362    Phonon::BackendCapabilities::availableAudioOutputDevices()
0363  * moved playback test into worker thread, for better GUI responsiveness
0364  * Phonon playback: changed to own mainloop with timeout support to avoid
0365    application hang on broken audio devices
0366  * bugfix: data loss in sample rate converter when processing streams
0367  * vorbis encoder: call to deprecated API (now use OV_ECTL_RATEMANAGE2_SET)
0368  * using estimated length for streaming file formats without length info
0369  * made sample rate conversion (libsamplerate) mandantory
0370  * increased default memory sizes
0371  * added toolbar buttons for "File/SaveAs" and "File/Close"
0372  * reordered toolbars
0373 
0374 0.8.9  [2012-11-06]
0375 
0376  * new feature: MP3 export via external program "lame", "toolame" and
0377    "twolame", with configurable command line options
0378  * new feature: allow change of compression type via file info
0379  * fix for SF #3528848, removed -Wl,--add-needed from plugin LINK_FLAGS
0380  * speedup: improved performance of sample writer
0381  * wav import/export: support for some more meta data tags
0382  * bugfix: meta data lost when writing wav files that had meta data for
0383    product/album or subject/track at the same time
0384  * bugfix: broken signal/slot connection in SaveBlocks plugin
0385  * workaround for bug in id3lib, SF #3534143:
0386    ignore id3lib crc check result for MPEG Layer II files
0387  * bugfix: Gentoo ebuild lacked required svg use flag for media-gfx/imagemagick
0388    and media-gfx/graphicsmagick
0389  * bugfix: File/SaveAs now uses last recently used directory and extension
0390    together with the user defined file name
0391  * bugfix: PluginManager::sync caused application slowdown or stale GUI
0392 
0393 0.8.8  [2012-05-20]
0394 
0395  * new feature: seek functionality for playback
0396  * new feature: added toolbar with record/playback/scroll functions
0397  * migration to GIT as source code management
0398  * documentation update
0399  * allowing zoom and scroll while a plugin is running
0400  * allow "close" and "quit" while playback is running
0401  * allow track selection change during playback
0402  * fix for namespace collision with libaudiofile
0403  * bugfix: mouse selection update with negative offset failed
0404  * bugfix: wrong focus of progress dialog when repairing damaged wav files
0405  * bugfix: missing updates of zoom selection combo box
0406  * bugfix: when viewing with full zoom, scroll by 1 sample was possible
0407  * bugfix: focus was wrong on program start (zoom combo box)
0408  * bugfix: wrong view when moving slider of overview widget to negative value
0409  * bugfix: playback pointer did not disappear after play - pause - stop
0410  * bugfix: creating a label without text was not possible
0411  * bugfix: saving WAV with G.711 and non-16bits/sample produced broken output
0412  * bugfix: handling of shortened tracks in encoders
0413 
0414 0.8.7  [2011-11-27]
0415 
0416  * ebuild update for media-gfx/imagemagick <-> media-gfx/graphicsmagick
0417    (see gentoo bug #314325)
0418  * new feature: "insert at", paste clipboard at given position
0419  * fix for API change in libaudiofile v0.3.1
0420  * speedup: loading ogg/mp3 is much faster now (up to factor 2)
0421  * bugfix: stream name of pulse audio playback used wrong encoding
0422  * update of the Kwave spec file (synced with OpenSuSE build service version)
0423  * new build target "distfiles"
0424  * updated version of the GPL v2 document (GNU-LICENSE)
0425  * support for visualization plugins
0426 
0427 0.8.6  [2011-03-07]
0428 
0429  * bugfix: copy/paste with partial track selection failed
0430  * bugfix: labels update after undo of copy&paste failed on multitrack signals
0431  * string/i18n update from Panagiotis Papadopoulos
0432  * bugfix: invocation of xgettext was wrong, left untranslated strings
0433  * plugin API change: support for translateable short description
0434  * about plugin: use plugin info from PluginManager
0435  * bugfix: last directory of file dialogs sometimes got lost
0436  * bugfix: wrong message when canceling Ogg import
0437  * replaced sched_yield() with QThread::yieldCurrentThread()
0438  * added cmake parameter for disabling optimized memcpy support
0439    -D WITH_OPTIMIZED_MEMCPY=OFF, default is ON
0440  * integrated patch #3021795 for Qt-4.7 compatibility
0441  * bugfix: optimized memcpy for PPC (SF bug #3068664)
0442  * doc: upgrade to DocBook XML V4.2 / V1.1
0443  * build fixes for qt-4.7
0444  * no longer using QSplashScreen (has side effects, operates as modal window)
0445  * bugfix: startup as unique application did not work correctly
0446  * bugfix: potential crash in message loop of progress dialog
0447  * bugfix: handling of track selection was wrong in reverse plugin
0448  * workaround for bug in libaudiofile: some files have sampe rate zero,
0449    falling back to 8000 samples/sec in that case (audio/x-ircam, sun, BE)
0450  * bugfix: reverse failed on files smaller than the internal block size
0451  * using entities for URLs in handbook, to simplify maintenance
0452  * bugfix in cmake files: some invocations of STREQUAL lacked quotes
0453 
0454 0.8.5  [2009-12-24]
0455 
0456  * new feature: playback via PulseAudio
0457  * applied kwave-0.8.2-nolinguas.patch (see gentoo bug #267702)
0458  * support for the Gentoo build system that steals .po files
0459  * no longer default to english language for documentation and gui l10n
0460  * fixed use count mismatch of plugins
0461  * bugfix: playback control: continuing after pause continued from start
0462  * bugfix: G.711 encoded wav files support only 16 bit signed format
0463  * new assignment for mouse wheel:
0464    - without modifier key: scroll left/right
0465    - with Shift: page left/right
0466    - with Ctrl: zoom in/out
0467    - with Alt: vertical zoom in/out
0468  * bugfix: support sysinfo.mem_unit when >= 4GB RAM are installed
0469  * bugfix: crash in progress dialog handling (crashed when closing a plugin
0470    after finishing it's work)
0471  * new ebuild for Gentoo
0472 
0473 0.8.4  [2009-09-26]
0474 
0475  * new feature: support for primitive macros (batch files), playback only
0476  * new plugin: change sample rate
0477  * using libsamplerate (new dependency)
0478  * new feature: sample rate conversion on clipboard data
0479  * new feature: ability to set recording start time in advance
0480    (feature requested by John David Thompson)
0481  * bugfix: drag&drop of files on the main window was broken
0482  * workaround for bug in id3lib which crashed in ID3_Tag::GetSize()
0483    with some MP3 files (see id3lib upstream bug at SF #2821464)
0484  * bugfix: recording via ALSA, crash on snd_pcm_close(),
0485    see SF bug #2816544
0486  * bugfix: playback plugin: infinite loop when switching from OSS to ALSA
0487  * bugfix: forcing clipboard and drag&drop data to uncompressed mode
0488  * bugfix: deadlock in progress bar handling
0489  * bugfix: crash when unloading plugins with queued events
0490  * help/about dialog: hide "translators" tab if no translator available
0491  * help/about dialog: hack to allow web addresses of translators
0492  * bugfix: selection was not set after "paste" and undo of other operations
0493  * bugfix: label handling in context of "delete" and "undo" was broken
0494  * bugfix: invalidation of overview cache after delete was not correct
0495  * bugfix: artifacts in track display in min/max overview mode
0496  * bugfix: add/delete/modify of labels did not set the state of the
0497    current file to "modified"
0498  * bugfix: record dialog caused shutdown to hang when closed while recording
0499  * bugfix: decoding 32bit/sample was broken
0500  * bugfix: recording level meter consumed 100% cpu
0501  * new make target: "make apidoc" for internal doxygen documentation
0502  * bugfix: some images and icons in non-english documentation were missing
0503  * volume plugin: preview was not updated on first use of plugin
0504 
0505 0.8.3-2 [2009-07-04]
0506 
0507  * bugfix: re-enabled detection of optimized memcpy function
0508  * bugfix: deadlock in recording plugin and plugin management
0509    (see SF bug #2816544)
0510  * bugfix: ID3 tag import did not work
0511  * taking ID3 tag for "album" as "product" in wav meta data
0512  * taking ID3 tag for "track" as "subject" in wav meta data
0513 
0514 0.8.3  [2009-06-28]
0515 
0516  * integrated 05-do-not-install-so-symlinks.diff from Debian
0517    (thanks to Aurelien)
0518  * cs i18n update from Pavel Fric
0519  * new plugin: normalize
0520  * progress bar in volume plugin did not work
0521  * flattened "Fx" menu, no submenus for amplify and filter
0522  * bugfix: workaround for libaudiofile bug produced wrong header
0523    in 24bit/sample mode
0524  * bugfix: "fade outro" was broken
0525  * bugfix: the dialog when playing the test sound in the playback
0526    setup dialog did not appear
0527  * replaced qreal with double (fixes build problems on arm)
0528  * show hourglass / progress bar when undo/redo is running
0529  * flattened "Calculate" menu, no submenus for "Frequencies"
0530  * wav encoder: auto-switch to unsigned format for <= 8bit and
0531    signed format for > 8 bit per sample
0532  * volume plugin: show a little "preview" for guessing the level
0533  * bugfix: after deleting a track, file info was not updated
0534  * about plugin: separate tab for translators
0535  * made plugin API version configurable per plugin
0536  * recognize mime type "audio/x-vorbis+ogg" (found in KDE-4)
0537  * updated czech gui translation and user manual from Pavel Fric
0538  * bugfix: crashes when deleting objects that still have event queued
0539    with Qt::QueuedConnection -> now using Qt::BlockingQueuedConnection
0540  * new plugin: reverse
0541  * speedup: limiting the number of progress bar updates per second
0542  * memory manager: fixed multithreading issues, improved OOM behavior
0543  * bugfix: received SIGBUS in SwapFile when disk was full
0544  * improved performance of memory management
0545  * require Qt4 v4.5.0 or newer
0546 
0547 0.8.2  [2009-04-25]
0548 
0549  * bugfix: minor off-by-one bug in buffer handling
0550  * wav/RIFF parser: be more robust if the file has not been correctly padded
0551  * bugfix in wav encoder: padding for info and label chunk was missing
0552  * bugfix: if two markers were too close and displayed at the same
0553    pixel position they eliminated each other through XOR mode
0554  * bugfix: numeric overflow when trying to select labels in high zoom factors
0555  * bugfix: not all positions were selectable due to internal rounding errors
0556  * silence plugin now supports all modes
0557  * use "unsigned" sample format per default when creating new files
0558    with <= 8 bits/sample
0559  * bugfix: playback position was shown on startup
0560  * bugfix: show correct file size in progress dialog
0561  * bugfix: crash when deleting label from end of signal
0562  * bugfix: overview was wrong when deleted space after signal was visible
0563  * bugfix: overview was not always synchronized after delete/insert
0564  * bugfix: "modified" state got lost during undo
0565  * use ALSA per default for playback/record if nothing has been selected yet
0566  * fixed calculation of undo/redo sizes
0567  * undo/redo handling for sample range and track selection
0568  * processing updates of overview widget in a background thread
0569  * memory management: no longer evaluate RLIMIT_RSS, gives more
0570    available physical memory
0571  * portability fix: swapfile creation/destruction went wrong
0572  * feature: memory for undo/redo can now be configured
0573  * bugfix: handling of "continue without undo" produced wrong undo/redo states
0574    and asked several times
0575  * bugfix: file progress did not do GUI updates, cancel button did not work
0576  * bugfix: assert in record plugin if no valid sample rate available
0577  * speedup for generation of signal overviews in min/max mode
0578  * bugfix: MultiTrackWriter produced one extra sample (off by one error)
0579  * workaround for bug in libaudiofile: sometimes libaudiofile produces
0580    broken files as it uses 'float' for internal calculations (wrong size
0581    of 'data' and 'RIFF' chunk) => see ubuntu bug #327018
0582  * implemented "debug" plugin, with internal functions for test and
0583    verification (quality improvement)
0584  * added czech gui translation from Pavel Fric <pavelfric@seznam.cz>
0585  * bugfix: after creating a new empty file, "revert" was possible
0586  * speed optimizations in buffer handling
0587  * speedup: limiting the rate of progress updates when loading and saving files
0588  * fixed displayed names of actions based on the "amplifyfree" plugin
0589  * bugfix: menu entry translation did not work correctly
0590  * bugfix: deleteLater on menu nodes did not work,
0591    implemented own garbage collector
0592  * speedup: use different block sizes for interactive and non-interactive mode
0593  * i18n fix: texts in help/about menu were untranslated
0594  * about plugin: new tab for translators
0595 
0596 0.8.1  [2008-12-23]
0597 
0598  * replaced application icon, now using a scalable svg image
0599  * replaced GSL with FFTW3, which is license compatible with Kwave
0600  * use implicit sharing for Label class
0601  * new clipboard implementation, using the clipboard of KDE (X11)
0602  * fixed enable/disable of copy/paste functions depending on clipboard state
0603  * re-enabled function "flush clipboard"
0604  * re-enabled function "invert track selection"
0605  * re-enabled function "select all tracks"
0606  * implemented plugin for "go to position..."
0607  * added status bar item for current cursor position
0608  * show current playback position in status bar
0609  * show selection in overview widget
0610  * bugfix: mode switch in time selection widget did not work properly
0611  * bugfix: handle situation when adding or moving a label to a
0612    location that is already occupied by another label
0613  * show labels in overview widget
0614  * show current playback position in overview widget
0615  * overview widget: dimming parts that are out of view
0616  * no longer needing built in copy of libaudiofile, removed
0617 
0618 0.8.0  [2008-09-27]
0619 
0620  * ported to KDE4 / Qt4
0621  * dropped support for FLAC API v1.1.1 and older
0622  * support for ALSA lib API v1.0.16
0623  * made MP3 decoder disabled per default due to legal issues
0624  * fixed bug in cue list parsing of .wav files
0625  * fixed bugs in recording plugin, recorded too much if recording time
0626    limit was activated or in prerecording mode
0627  * a much nicer splash screen
0628  * bugfix in label handling: support labels with zero-length names
0629  * re-arranged source files for cleaner library interfaces
0630  * re-enabled accelerator keys for 0..9
0631  * using horizontal scrollbar instead of overview widget
0632  * implemented vertical zoom (Ctrl + MouseWheelUp/Down)
0633  * using more standard KDE keyboard shortcuts
0634  * nicer icons for the menus
0635  * using more icons from the crystal icon collection (to clearify
0636    the license situation)
0637  * removed aRts support
0638  * now also available through the openSUSE build service for
0639    various platforms
0640  * respect the LINGUAS environment variable to build only needed
0641    languages (defaulting to all)
0642  * removed changelog from online manual to simplify the work of
0643    translators
0644  * no longer dependent from "recode"
0645  * recording plugin: show current recording time in status bar
0646  * fixed infinite loop on undo/redo of channel selection
0647  * usage of GSL can be disabled through cmake parameter -DWITH_GSL=OFF
0648  * support for OSS v4 (integrated sf feature request #1870434)
0649 
0650 0.7.11 [2007-12-09]
0651 
0652  * new internal streaming architecture, based on Qt instead of aRts
0653  * aRts support is now disabled per default
0654  * some minor bugfixes for x86_64 support
0655  * band pass plugin
0656 
0657 0.7.10 [2007-08-08]
0658 
0659  * build system: using 'METASOURCES=AUTO' (which simplifies a lot)
0660  * ported the build system to cmake
0661  * support for newer APIs of FLAC v1.1.3 and v1.1.4
0662    (closes SF bugs #1713655 and #1757716 + debian bugs #427747, #426668
0663    and #431199)
0664  * replaced problematic code in libaudiofile with new code under the
0665    LGPL, contributed by Bertrand Songis (partially fixes debian bug #419124)
0666  * update of the online documentation to reflect the change of the make system
0667 
0668 0.7.9 [2007-05-01]
0669 
0670  * playback via ALSA: offer the "default" device, if no devices found
0671    offer the "null" device
0672  * implemented import and export of labels, currently only for uncompressed
0673    wav files
0674  * new plugin for saving blocks between labels as separate files
0675  * new function: expand selection to labels
0676  * new function: select next/previous range between labels
0677  * bugfix: don't change the file name when saving only the selection
0678  * new configure option: --enable-doc=yes/no to enable/disable the
0679    generation of the online documentation (default=yes)
0680 
0681 0.7.8 [2006-12-31]
0682 
0683  * bugfix: workaround for bug in ALSA, crashed when initializing
0684    the dsnoop plugin
0685  * bugfix: error in swap file handling, one sample was destroyed
0686    when resizing. Affects cut, delete, crop and many other functions.
0687  * fixed the incorrect usage of the word "loose" (thanks to J.T. Hundley)
0688  * bugfix: went back to old implementation of ThreadsafeX11Guard class
0689    in order to fix a deadlock (closes sourceforge bug #1623357)
0690  * documentation update: mention Subversion instead of CVS
0691  * zero plugin: new mode, support for inserting a range filled with silence
0692  * fixed the macro functions "Fade Leadin" and "Fade Leadout", using the
0693    new mode of the 'zero' plugin
0694  * export of ASCII format files
0695 
0696 0.7.7 [2006-09-17]
0697 
0698  * new feature: implemented a small widget that shows the current
0699    selection position and the selection borders
0700  * new feature: context menu for the signal widget (right mouse button)
0701  * improved file open dialog: show "All Files" and "All Supported Files"
0702  * bugfix: error in handling of mouse selection
0703  * bugfix: recording only used the first channel
0704    (closes sourceforge bug #1551050)
0705  * install plugins kde_moduledir/plugins/kwave instead of
0706    kde_datadir/kwave/plugins
0707 
0708 0.7.6 [2006-06-05]
0709 
0710  * bugfix: recording setup crashed when called for the first time
0711  * bugfix: do no longer crash when recording device is not
0712    present or opening failed
0713  * bugfix: fixed generation of rpm dependency for libmad
0714  * bugfix: update the size of the level meter if the dialog size has changed
0715  * record plugin: added a fancy status bar
0716  * record plugin: added autodetect/scanning for OSS devices
0717  * record plugin: added dsnoop plugin as ALSA source
0718  * record plugin: fewer annoying message boxes, instead show
0719    a short notice in the status bar for some seconds
0720  * record plugin: add logarithmic scale to the level meter and use 3 colors
0721  * playback plugin: added autodetect/scanning for OSS devices
0722  * playback plugin / ALSA: support for 18 and 20 bits/sample
0723  * playback plugin / ALSA: support for big endian
0724 
0725 0.7.5 [2005-12-31]
0726 
0727  * draw signal in a different color set when not selected
0728  * bugfix: solved deadlock situation when starting a plugin
0729    while another plugin was still running
0730  * workaround for deadlock when trying to close the current
0731    file while a plugin is still running
0732  * bugfix: delete range only in selected tracks
0733  * thrown over board the idea of using gstreamer due to serious license
0734    issues, we will wait until KDEMM is out (KDE-4) instead.
0735 
0736 0.7.4 [2005-10-16]
0737 
0738  * recording via ALSA
0739  * support for the silently changed API of libFLAC++ v1.1.2
0740    (closes sourceforge bug #1243707 + debian bug #289953)
0741  * fixed support of MMX / SSE detection on X64_64 architecture
0742    (closes sourceforge bug #1244320 and debian bugs #288781 +
0743    #327501)
0744  * decided to support gstreamer as streaming engine
0745    in future versions (will make v0.8 if Kwave is aRts-free)
0746  * fixed some German translations
0747    (closes debian bug #313790 and bug #314000)
0748 
0749 0.7.3 [2005-05-26]
0750 
0751  * playback via ALSA
0752  * completely new playback settings dialog, with support for aRts,
0753    ALSA and OSS
0754  * playback plugin: play a test sound
0755  * record plugin: detect when device is alread open, now no longer
0756    blocks. Show an error message.
0757  * smoother signal display in overview mode (no gaps) and improved
0758    polyline mode
0759  * replaced some of Kwave's multithreading classes with classes
0760    from Qt
0761  * compiles under SuSE-9.3
0762  * ebuild file for Gentoo Linux
0763 
0764 0.7.2 [2004-12-31]
0765 
0766  * big rework of the internal streaming/storage subsystem,
0767    support for multiple stripes.
0768    Makes a big speedup when handling large files!
0769    Creating an empty 512MB file before: over 350 sec,
0770    now: about 25 sec (on my system)
0771  * optimized versions of memcpy() for ix86 (using MMX, MMXEXT,
0772    3DNOW, SSE, SSE2) and for PowerPC, copied from the xine project
0773  * some support for X86_64
0774  * bugfix: in memory setup plugin, set virtual memory limit only if
0775    the limit has been enabled (checkbox is clicked)
0776  * bugfix: clipping in Ogg import filter was incorrect
0777  * speedups: import of Ogg and MP3 files improved
0778  * removed code copied from the GSL library, link against the
0779    shared library instead
0780  * added target "package-messages" to the toplevel Makefile,
0781    for translators
0782 
0783 0.7.1 [2004-07-10]
0784 
0785  * FLAC (Free Lossness Audio Codec) import/export plugin
0786  * speedups for loading / saving files
0787  * removed our own copy of libmad from the source tree, now it
0788    should be available in all common distributions
0789  * implemented pre-recording
0790  * implemented recording time limit
0791  * bugfix: minor bug in the recording state machine
0792  * bugfix: solved some layout issues in the about- and sonagram plugins
0793  * bugfix: cancel while saving to .ogg works now
0794  * update of the online documentation, many screenshots
0795  * improved Makefile dependencies of the plugins, now parallel builds
0796    also work and speed up the creation of plugins
0797 
0798 0.7.0 [2003-12-01]
0799 
0800  * first version with recording functionality (still alpha)
0801  * removed workaround for uic invocation
0802  * bugfix: handling of persistent and unique plugins was wrong,
0803    which caused playback to work only in the first main window
0804    instance
0805  * added project files for kdevelop-3
0806 
0807 0.6.7 [2003-06-28]
0808 
0809  * new plugin: "pitch_shift"
0810  * new plugin: "lowpass"
0811  * new plugin: "notch_filter", contrinuted by Dave Flogeras
0812  * included a bugfixed version of the synth_pitch_shift aRts plugin
0813  * new feature: "pre-listen", first implementation in pitch_shift plugin
0814  * ported to work with Qt-3.1 without Qt-2 compatibility,
0815    also compiles with -DQT_NO_COMPAT -DQT_CLEAN_NAMESPACE
0816 
0817 0.6.6 [2003-03-29]
0818 
0819  * works with KDE-3.1
0820  * many improvements on the build system. Now compiles under Debian,
0821    Mandrake, RedHat, Gentoo and SuSE
0822  * starting up with last window size
0823  * Xt toolkit option for geometry works again, including workaround
0824    for bug in KDE3's geometry management.
0825    example: "kwave -geometry 800x600"
0826  * bugfix: select to left selected one sample less then needed
0827  * volume plugin: simple clipping
0828  * volume plugin: mode for "multiply with /divide through factor"
0829  * newsignal and selectrange plugin: got rid of KDoubleNumInput and
0830    it's weird display and entry behavior
0831  * selectrange plugin: also select start position of selection
0832  * can use libmad and libaudiofile from the host system if usable
0833  * show the fileinfo plugin when saving under a different mime type
0834 
0835 0.6.5 [2002-11-09]
0836 
0837  * MP3 import with ID3 tag support through id3lib and libmad
0838  * Ogg/Vorbis import and export (only ABR mode)
0839  * new plugin "volume"
0840  * show selected range as time (feature requested by Christian Hollaender)
0841  * support for saving compressed .wav files
0842  * thrown away Qt2/KDE2 compatibility, now only supports Qt3/KDE3
0843  * playback plugin: enabled the "select..." button for choosing
0844    other playback devices (feature requested by Len Ovens)
0845  * solved problem with name mangling in plugins and different gcc versions
0846  * works with gcc-3.2 / solved __dso_handle problem
0847  * stricter checks for programs in configure script
0848 
0849 0.6.4 [2002-06-30]
0850 
0851  * support for different file formats / integrated libaudiofile
0852  * drag and drop bugfix: dropping into the same signal left from
0853    the selection removed wrong range
0854  * auto-repair for structurally damaged wav files
0855  * bugfix: save selection works again
0856  * integrated libkwavemt into libkwave
0857  * using time instead of zoom factor, e.g. set zoom to "1 minute"
0858    (feature requested by Gilles Caulier)
0859  * menu entries for playback control
0860  * some more icons in the menus
0861  * replaced KFileDialog with subclass KwaveFileDialog (works
0862    around some bugs in KDE)
0863  * added a little chapter about digital audio basics to online help
0864  * added "select range" plugin
0865 
0866 0.6.3 [2002-03-01]
0867 
0868  * simple drag and drop
0869  * french translation
0870  * handling of "signal modified"
0871  * shows error message and aborts if loading failed
0872 
0873 0.6.2 [2001-12-24]
0874 
0875  * new plugin "amplifyfree"
0876  * new plugin "noise"
0877  * >>> new aRts plugin adapter framework <<<
0878    now Kwave is able to use existing aRts plugins in it's own plugins
0879    for sound processing
0880  * changed documentation to XML / Docbook-4.1
0881  * recovery of damaged files if non-zero file length but data length
0882    entry in the wav header is zero (e.g. happens when krecord crashes
0883    during recording)
0884  * bugfix: freeing virtual memory fixed in MemoryManager
0885  * bugfix: problem with TSS in TSS_Object cleanup
0886 
0887 0.6.1-1 [2001-09-01]
0888 
0889  * bugfix: class Track made duplicate entry in stripe list when inserting
0890    signals into an empty track
0891  * fixed that weird layout behavior in dialogs, seems that Qt has
0892    problems with complex nested layouts :(
0893 
0894 0.6.1 [2001-08-24]
0895 
0896  * >>> USE OF VIRTUAL MEMORY <<<
0897  * changed Makefiles: html docu stays in distribution due to too much
0898    trouble with the KDE documentation tools
0899  * when inserting from clipboard into a signal with a different number
0900    of tracks, the result will be mixed (still not optimized/slow)
0901  * fixed compile problem with gcc-2.96 / gcc-3.0
0902  * fixed missing header file in NewSigDlg.ui
0903  * the RPM should be relocatable again
0904  * fixed bug in shutdown sequence, now clipboard is flushed before the
0905    application closes.
0906 
0907 0.6.0 [2001-07-29]
0908 
0909  * >>> PORTED TO QT-2 AND KDE2 <<<
0910  * completely new internal architecture
0911  * plugins can be located in a user directory
0912  * libkwave is included and no longer supported (at least by me) as
0913    a separate package
0914  * playback via aRts
0915  * many more bugfixes, too many to mention here...
0916 
0917 0.5.5-1 [2001-02-23]
0918 
0919  * bugfix: selection across end of file no longer possible
0920  * bugfix: no overflow in wav header when saving large wav
0921    files above 268MB
0922    (bug reported by Sven-Steffen Arndt, ssa29@gmx.de )
0923 
0924 0.5.5 [2000-12-01]
0925 
0926  * new playback handling, allows pause/continue
0927  * limited the playback buffer to be between 256 and 65536 bytes
0928    due to problems (system hang) with small playback buffers with
0929    16..64 bytes (might be a hardware problem)
0930  * introduced a toolbar for some standard operations
0931  * fixed some bugs concerning selection with the mouse
0932  * rework of the overview widget (used in main window and sonagram)
0933  * fixed menu command "zoom selection"
0934  * sonagram: saving to file, auto-brightness adjust
0935  * replaced QFileDialog with KFileDialog
0936  * tested with AMD Athlon-optimized compiler (patched pegcs)
0937  * some fixes for safer multithreading
0938  * checking for much more header files at configure time (due to a
0939    problem reported by issiac@evcom.net )
0940 
0941 0.5.4-4 [2000-10-03]
0942 
0943  * added classes Mutex and MutexGuard
0944  * sonagram: set a transparent background for the image
0945  * added sizeHint() and minimumSize() to ScaleWidget and OverViewWidget
0946  * sonagram: removed (need for) SonagramContainer, using
0947    QGridLayout instead
0948  * moved SignalProxy to the mt subdirectory
0949  * fixed X11 synchronization problem with SignalProxy
0950  * added TSS (thread-specific-storage) support to the mt classes
0951  * added some multithreading support classes: Thread, AsynchObject, ...
0952  * removed the "get" prefix from all member functions. This is the
0953    new KDE/QT coding style.
0954  * updated the online documentation to point to the new Kwave
0955    homepage on http://kwave.sourceforge.net/
0956  * class ImageView: always repaints (maybe image data has changed)
0957  * bugfix: selection and playpointer will not be drawn if no signal
0958    is loaded
0959 
0960 0.5.4-3 [2000-09-09]
0961 
0962  * the sonagram window updates it's title if the signal's
0963    name changed
0964  * found a solution for the problem of synchronizing X11
0965    and QT in a multithreaded environment
0966  * fixed bug in the "Halt" function (playback)
0967 
0968 0.5.4-2 [2000-08-20]
0969 
0970  * geometry/layout management for the MainWidget
0971  * limited the displayed height of a signal. If not all signals fit
0972     onto the screen, a scrollbar appears on the right side of the
0973     signal.
0974  * limited the size of the TopWidget to a reasonable
0975    minimum size
0976  * automatic dependencies for the plugins work again
0977 
0978 0.5.4-1 [2000-07-29]
0979 
0980  * fixed layout of playback dialog
0981  * started to implement a new plugin interface
0982  * geometry/layout management for the sonagram settings dialog
0983  * formatting of selection and file time (KwavePlugin::ms2string)
0984  * plugins can now consist of multiple source files
0985 
0986 0.5.4 [2000-07-12]
0987 
0988  * some more minor changes to the Makefiles
0989  * split the documentation output into "de" and "en" part
0990  * made symbolic links to the english help directory from the "de"
0991    and "default" directory during make install and uninstall and also
0992    in the post and postun scripts of the specfile
0993    The user should at least get the english help...
0994  * alpha version of english documentation done
0995  * automatic update of the revision history in the docbook file if this
0996    file is modified (only english version)
0997  * CVS is up on sourceforge.net
0998  * changed some header lines in this file
0999  * started on writing a new documentation / online help using docbook
1000 
1001 0.5.3 [2000-06-12]
1002 
1003  * if a file with invalid size (e.g. recorded by "arecord") is loaded,
1004    shows a message and truncates the input at the end of the file
1005  * found out that we need ALSA support for 24 and 32 bits/sample
1006  * >>> playback in stereo <<<
1007  * selected channels (x) are mixed to the output device's channels (y)
1008    at playback using a x:y translation matrix with linear scaling, all
1009    values for x and y except zero are allowed
1010  * playback only for selected channels
1011  * rework of the settings/playback dialog (plugin)
1012  * heavy reword on the playback code
1013  * fixed severe bug in SignalManager::readWavChunk(), chrashed if there
1014    was data after the wav chunk
1015 
1016 0.5.2-12 [2000-06-02]
1017 
1018  * copied the AsyncSync class into libgui, should be used for threadsafe
1019    usage of the qt library
1020  * moved handling of the "selected" flag from class SignalManager
1021    to class Signal
1022  * fixed selection of channels if appended or deleted
1023 
1024 0.5.2-11 [2000-05-28]
1025 
1026  * included config.h in each source file (except the plugins)
1027  * export to ASCII for multi-channel signal (multi-channel import has
1028    still to be done, currently only mono)
1029  * fixed many memory leaks and inconsistent delete operations (e.g. used
1030    "delete" instead of "delete[]")
1031  * included support for (and tested with) the error detection and memory
1032    debugging tool "Insure++ Lite 4.1" (./configure --enable-insure=yes ...)
1033    -> thanks to ParaSoft Corporation for making this limited version of
1034       the tool available (http://www.parasoft.com)
1035  * SignalWidget uses three layers for drawing, speeds up the redraws
1036    after mouse selection by about factor 14(!!!) on my system :-))
1037 
1038 0.5.2-10 [2000-05-21]
1039 
1040  * some minor bugfixes in the Makefiles
1041  * save the kwave.spec and include it into the source archive, this
1042    lets "rpm -ta kwave-x.x.x-x.tar.gz" work
1043  * wrote a new README file, moved Martin's version to README.OLD
1044  * RPM_OPT_FLAGS are appended to the compiler options, this lets
1045    pentium optimizations work :-)
1046  * shows a message box if loading of a file failed
1047 
1048 0.5.2-9 [2000-05-19]
1049 
1050  * list of recent files is synchronized across all toplevel windows
1051  * fixed dozens of memory leaks, missing ASSERT constructions, missing
1052    variable initializations and possible divisions through zero
1053  * Help menu aligned to the right side (MenuRoot now is able to process
1054    the special command "#separator")
1055 
1056 0.5.2-8 [2000-05-18]
1057 
1058  * replaced all occurances of sprintf with snprintf, strcpy with strncpy
1059    (in 92 places) !
1060  * doesn't show any zoom factor if no signal is loaded
1061  * handling of channel add/delete: selection/speakers are shifted
1062  * changed some variables/parameters to "unsigned" (simplifies range checks)
1063  * beautified this file
1064  * beautified the whole source code according to my favorite coding style.
1065    -> thanks to the developers of the "Artistic Style" package,
1066       astyle-1.11.4-1 made good work :-)
1067  * fixed that annoying flicker in the help/about dialog
1068  * checking for sizes of char, short and int at configure time
1069  * globals.app will not be used (obsolete, should be removed from libkwave)
1070  * MessagePort will not be used (obsolete, should be removed from libkwave)
1071  * multiple toplevel windows are possible
1072  * made X toolkit parameters work (especially "-geometry")
1073  * bugfix concerning loading/saving 8 bit .wav-files (always unsigned !)
1074  * >>> COMPLETE REWORK OF THE INTERNAL COMMAND STRUCTURE <<<
1075    - made use of a combination of signals/slots and string messages
1076    - hierarchical processing: commands are are forwarded "upwards"
1077      until they reach a TopWidget
1078    - the TopWidget (highest level) dispatches the commands and forwards
1079      them to the lower levels
1080 
1081 0.5.2 [2000-04-24]
1082 
1083  * rpm package should now be installable without conflicts and compile
1084    without any previous installation of kwave
1085  * removed the "${KDEDIR}/share/doc/HTML/default" directory from the rpm
1086    so that it doesn't conflict with the already existing one
1087  * shift+Home/shift+End selects from the current left/right position
1088    up to the start/end of the signal
1089  * bugfix in display of signal: signal is no longer inverted
1090  * selectrange() works now
1091  * the zoom factor combo box reflects the current "real" zoom factor
1092  * some bugfixes in menu handling / cleanups
1093  * complete rework of zoom and offset handling:
1094    - simple poly-lines instead of lowpass interpolation if zoom factor
1095      has less than 10 pixels per sample
1096    - lowpass interpolation if more than 10 pixels per sample
1097  * bugfix in KWaveApp: now sets globals.app to this if it was null before,
1098    now doesn't crash if it loads a file specified at cmdline
1099 
1100 0.5.1-4 [2000-04-16]
1101 
1102  * >>> now compiles and runs under RedHat 6.1 / Halloween IV <<<
1103    >>> as well as under SuSE 6.2                             <<<
1104  * version info of libkwavegui.so is set to the package's version
1105  * bugfix in plugins/template/Makefile.am: will not create .moc files on
1106    make distclean and other targets
1107  * compiler flags are passed through to plugin compilation
1108  * compiling with --no-rtti. This was necessary to compile against the
1109    kde libraries of RedHat that seem to contain no rtti. As a side effect
1110    all warnings on linking programs/libs disappeared :-)
1111  * configure-parameter --enable-debug has effect again
1112  * >>> ASCII import and export works now (mono only) <<<
1113  * bugfixes in some plugins, all compile now without warnings/errors
1114  * plugins are processed in alphabetical order
1115  * all plugins are automatically found and compiled
1116  * new target "make src.rpm" makes only the source rpm
1117 
1118 0.5.1-3 [2000-04-03]
1119 
1120  * display will be scrolled left or zoomed if something from the end
1121    of the signal is deleted
1122  * curve parameters of fade in / fade out work again
1123 
1124 0.5.1-2 [2000-03-16]
1125 
1126  * converted many "klocale->translate(...)"s into "i18n(...)"
1127  * target "make messages" works again
1128  * converter for menus.config, creates a dummy .cpp-file that is handled
1129    by i18n
1130 
1131 0.5.1-1 [2000-03-13]
1132 
1133  * new target "make rpm" creates binary and source RPM packages
1134  * fixed the shared-library-problem in the build system
1135 
1136 0.5.1 [2000-02-28]
1137 
1138  * menu items can belong to groups
1139  * renamed SignalWidget::info to "refresh"
1140  * many cleanups in the header-Files in src and libgui
1141  * the menu management has completely been rewritten:
1142    - Menu, NumberedMenu and MenuCommand classes are deleted
1143    - new classes: MenuNode, MenuItem, MenuSub, MenuToplevel and MenuRoot
1144  * menu items can have icons
1145  * menu nodes can have unique string ids
1146  * special menu commands start with a "#"
1147  * first attempts for internationalization
1148  * list of recent files is sorted by time of last usage
1149 
1150 
1151 0.5.0-1 [1999-12-27]
1152 
1153  * moved my modifications from the Makefiles to Makefile.am
1154  * included targets "make release", "make patchlevel" and some scripts
1155 
1156 1999-12-19 (by Thomas.Eschenbacher@gmx.de)
1157 
1158  * remade my modifications of some Makefiles and of the configure script that
1159    were lost during Martin's changes
1160  * changed shortcut for mixpaste from CTRL-SHIFT-X to CTRL-SHIFT-C
1161  * added the "crop" command to the edit menu
1162  * made the "mixpaste" command work
1163  * corrected the call of "delete", now really deletes instead of cutting
1164    and copying the selection to the clipboard (saves clipboard content)
1165 
1166 1999-12-18 (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1167 
1168  * changed filenames to reflect class names
1169  * one class per file is now the standard
1170  * stripped leading "Kwave" in class names for most classes
1171 
1172 1999-12-10 (by Thomas.Eschenbacher@gmx.de)
1173 
1174  * removed -Werror compiler option (caused trouble with configure script)
1175  * fixed a nasty bug in SignalManager::save that caused crashes on
1176    several positions in the program and libstdc++
1177 
1178 1999-12-09 (by Thomas.Eschenbacher@gmx.de)
1179 
1180  * gave the destructor of SignalManager some code, this fixes
1181    a huge memory leak !
1182  * added a TODO file
1183  * added -Werror to the c++ compiler options when debugging enabled
1184  * some include file cleanups in libgui
1185 
1186 1999-12-07 (by Thomas.Eschenbacher@gmx.de)
1187 
1188  * SignalManager::writeWavChunk uses buffers for writing (much faster!)
1189  * bugfix: caption of main window changes after "SaveAs"
1190  * bugfix: selected resolution takes effect
1191  * bugfix: caption of main window changes after "SaveAs"
1192  * bugfix: SignalManager::writeWavChunk now doesn't destroy the signal's
1193    data while saving
1194  * make distclean in the projekt root directory also removes zero-length
1195    files, *.orig, *.rej and *~ (just makes cleaner than before)
1196  * symbolic links to Makefile, Makefile.in and Makefile.am in the plugins
1197    directory are deleted with "make distclean" and rebuilt on "make"
1198    (changes in the referenced Makefiles in the template directory will not
1199    be reflected thousand times when creating a patch with diff)
1200  * cleanups, removed some old backup files
1201  * improved support for debugging accessible through
1202  * "configure --enable-debug=yes" (-g and -DDEBUG compiler flags)
1203  * rewritten big parts of Makefile.in for the plugins
1204  * added -O2 compiler optimization
1205 
1206 1999-12-03 (by Thomas.Eschenbacher@gmx.de)
1207 
1208  * merged with Martin Wilz's version
1209 
1210 1999-11-12 (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1211 
1212  * version numbering script donated by Thomas Eschenbacher
1213  * now using KTMainwindow for top level widgets
1214  * using timer to check message port -> alternative (threadsafe) message
1215    passing instead of signal/slot
1216  * labeling code rewritten, now incompatible with old releases
1217  * batch loading routines
1218 
1219 1999-09-07 (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1220 
1221  * deleting channels works again
1222  * fixed savelabel dialog
1223  * corrected envelope dialog, string handling
1224  * connected many functions via the new string-based way of invocation
1225  * fixed some dependencies between old code and new classes
1226    (there's still more to do !)
1227  * saving should now work again
1228  * trimmed down Clipboard class
1229  * Color class as wrapper to QColor (may become independent later)
1230  * reworking Curve Class for creation via string, interpolation now
1231    uses curve objects
1232  * moved gui functions into a new library (libkwavegui)
1233  * new Classes: Parser DynamicLoader Filter (previously was a struct)
1234  * moved gui-independent functions into a library (libkwave)
1235  * rework of dialogs into single files and single plugins
1236  * new calling scheme via string commands. This will allow scripting and macro
1237    definitions. Threading is made a whole lot easier, because a only a
1238    string has to be passed and gets expanded into the needed set of
1239    parameters in each thread
1240  * io functions and playback adapted to SignalManager
1241  * Introduction of SignalManager class for multiple channel management
1242 
1243 0.29.5 [1998-12-25] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1244 
1245  * Just a fix for an annoying bug while zooming out
1246 
1247 0.29.4 [1998-12-22] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1248 
1249  * removed a memory leak in playback
1250  * triple-checked the missing Accelerators in the Menumanager. It seems to
1251    be a bug in qpopmenu, I'll wait for qt to be fixed, or until a workaround
1252    is known
1253  * recent Files are updated again, while the program is running
1254  * kwave now keeps track of last directory saved to; for user convenience
1255  * reestablished selection mechanism to match versions
1256    before 0.29.3 and corrected some otherwise screwed-up behavior
1257  * _now_ all parameters to destructors should have vanished
1258 
1259 0.29.3 [1998-12-18] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1260 
1261  * developement has slowed down a bit, this release is not as complete as I
1262    wished but since 0.29.2 has a destructor with parameters accidentally left
1263    in, and so does not compile on all systems -> here we go again...
1264 
1265  * reworked selection routines into a new class, code is still rather
1266    confusing, but seems to work
1267  * added checkmark functionality again
1268  * converted file-menus to new menu-scheme
1269  * added gui to mix channels together, the needed functions for mixing
1270    are still missing
1271  * Halt button by Gerhard Zintel
1272 
1273 0.29.2 [1998-12-15] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1274 
1275  * moved clipboard functionality to its own class
1276  * dynamic allocation of menu entries used by all classes but TopWidget
1277  * import of ascii data files
1278 
1279 0.29.1 [1998-12-13] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1280 
1281  * Bugfix for multichannel save. Now the saved files should work with other prgs
1282  * local snap to peak by Gerhard Zintel
1283 
1284 0.29.0 [1998-11-12] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1285 
1286  * changed version numbering and filename as suggested by
1287    Version 1.1 of "How To Name Things" from sunsite. The last digit will
1288    always mark be 0 for releases uploaded to ftp.kde.org.
1289  * added windowing (Hamming Hanning, Blackmann) functions
1290  * contribution from Gerhard Zintel displaying notes in fftview
1291  * Added pitch display window
1292  * implemented cursor and db scale for fft-view
1293  * added reselection and cursor change
1294  * added possibility of different display modes in Frequency representation
1295  * fixed severe quantization bug in saving 16Bit routine, reported by ?
1296  * mmaping support contributed by Juhana Kouhia
1297  * added as new Possibility to generate Signals: pulse trains
1298  * added wrapper for systems with no posixthreads ->
1299    still needs handling by configure script
1300    (change Makefile for not linking libpthread and doing a define)
1301  * First use of multiple threads (pthreads) in some functions
1302  * Pitch generation now independent of additive synthesis
1303  * added import function for ascii files
1304  * Ascii label saving now also by frequency
1305  * Label generation according to Period Detection (autocorellation)
1306  * Sonagram, FFTView and Distortion-Dialog  now use ScaleWidgets
1307  * New ScaleWidget gives the user more information
1308  * Improved ProgressDialog and Interpolation class to allow multiple threads
1309  * fixed some minor bugs
1310 
1311 0.28 [1998-07-15] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1312 
1313  * changes in curvewidget (recent point has another pixmap).
1314  * sorting of labels now works without overwriting of QGList::compareItems.
1315  * bug fix for saving selection.
1316  * save Block function added.
1317  * signal finding function in markers.cpp: gui improved.
1318  * some smaller bug fixes.
1319 
1320 0.27 [1998-07-14] (by Martin Wilz <mwilz@ernie.mi.uni-koeln.de>)
1321 
1322  * first release, but never uploaded, because ftp.kde.org was down.
1323