Tree [09d4a1] /

File Date Author Commit
 .kdev4 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [2f424c] signal_views branch: merged rev2604..2621 from ...
 bin 2009-09-15 Thomas Eschenbacher Thomas Eschenbacher [e500db] update the version, version_tag and date in the...
 cmake 2011-03-27 Thomas Eschenbacher Thomas Eschenbacher [37935a] fix for KwaveL10N.cmake, made kdevelop crash
 doc 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [2f424c] signal_views branch: merged rev2604..2621 from ...
 kwave 2011-04-10 Thomas Eschenbacher Thomas Eschenbacher [737452] removed MetaDataList::labels()
 libgui 2011-04-10 Thomas Eschenbacher Thomas Eschenbacher [f1b1ca] implemented MetaDataList::toSortedList()
 libkwave 2011-04-16 Thomas Eschenbacher Thomas Eschenbacher [09d4a1] allow deleting items in a 'UndoModifyMetaDataAc...
 plugins 2011-04-10 Thomas Eschenbacher Thomas Eschenbacher [d92b3d] removed MetaDataList::setLabels()
 po 2011-03-27 Thomas Eschenbacher Thomas Eschenbacher [0e39e0] fixed i18n error: wrong translation of 'Redo'
 AUTHORS 2009-05-31 Thomas Eschenbacher Thomas Eschenbacher [5f66b8] (i18n update)
 CHANGES 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [f5ef3e] ebuild update for media-gfx/imagemagick <-> med...
 CMakeLists.txt 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [2f424c] signal_views branch: merged rev2604..2621 from ...
 GNU-LICENSE 2007-01-16 Thomas Eschenbacher Thomas Eschenbacher [e5d8a6] moved the label list into the fileinfo which is...
 LICENSES 2011-04-10 Thomas Eschenbacher Thomas Eschenbacher [33b508] fixed handling of file info changes, with undo/...
 README 2009-07-05 Thomas Eschenbacher Thomas Eschenbacher [717dc6] using libsamplerate (new dependency)
 TODO 2011-04-10 Thomas Eschenbacher Thomas Eschenbacher [f1b1ca] implemented MetaDataList::toSortedList()
 VERSION 2010-05-30 Thomas Eschenbacher Thomas Eschenbacher [4da44c] using new meta data class for encoder/decoder
 config.h.cmake 2010-06-24 Thomas Eschenbacher Thomas Eschenbacher [92acd6] added cmake parameter for disabling optimized m... 2009-09-13 Thomas Eschenbacher Thomas Eschenbacher [fbc5c6] ported make target 'make apidoc' for internal d...
 kwave.ebuild 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [f5ef3e] ebuild update for media-gfx/imagemagick <-> med...
 kwave.kdev4 2009-07-18 Thomas Eschenbacher Thomas Eschenbacher [3be366] (switched to kdevelop-4)
 kwave.lsm 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [2f424c] signal_views branch: merged rev2604..2621 from ... 2011-03-08 Thomas Eschenbacher Thomas Eschenbacher [2f424c] signal_views branch: merged rev2604..2621 from ...

Read Me

This is the "Kwave" source distribution, a sound editor for KDE.

| It is hosted on SourceForge, so you are welcome to visit                   |
| the Kwave homepage at: "".                     |

If you are interested what has been done and what has to be done, then
look at the files "CHANGES" and "TODO" included in this package.

The project is developed and published under the GNU GENERAL PUBLIC LICENSE
(Version 2, from June 1991), take a look at the file "GNU-LICENSE" included
in the source package.


Please note that required packages for compiling Kwave vary between
different distributions and versions. It is practically impossible
to give a complete list of packages and versions, so if you can't
get along, please feel free to ask on the Kwave mailing list!


>>> NOTE: You don't have to do this on an rpm based system, you can
          easily build a rpm package of Kwave. Please skip this and
	  advance to section 2.

It's quite simple. First get the source archive, unpack it in a driectory
of your choice and then generate it in a separate build directory.
For example:

cd ${HOME}/src
tar -xvzf kwave-0.8.4-1.tar.bz2
mkdir kwave-build
cd kwave-build
cmake ../kwave-0.8.4

make install


You can build nice binary and/or source rpm packages of kwave in one
of the following ways. Note: Either you do everything as root or you
must have write permissions in the following directories:

* /tmp
* /usr/src/packages/BUILD
* /usr/src/packages/RPMS
* /usr/src/packages/SOURCES
* /usr/src/packages/SPECS
* /usr/src/packages/SRPMS

Installing the rpm package normally requires root permissions.

2.1 Building a binary rpm from archive file:

Simply get the source archive (for example kwave-0.8.4-1.tar.bz2) and
then type:

rpmbuild -ta kwave-0.8.4-1.tar.bz2

If you want to build for a different architecture than your current, you
might want to add the parameter "--target ...", for example:

rpmbuild -ta --target i586 kwave-0.8.4-1.tar.bz2

compiles for i586 architecture.

2.2 Building a source and binary rpm from the source tree (SVN):

Assuming that you already have unpacked the source archive in some
directory, like in chapter 1, but instead of the combination
"make" / "make install" you do

make src.rpm          (and you get only a source rpm)
make rpm              (and you get both, a binary and a source rpm)

Instructions on how to get the sources via SVN can be found in the
Kwave handbook and on the Kwave project homepage at SourceForge
(see "").

Please note that the online documentation in not included in SVN, so you
have to go to the "doc" subdirectory, remove the file "changes.docbook"
and type "make" there. This requires a working docbook/sgml environment
that is sometimes problematic (see below).


The binary rpm package of kwave is "relocatable". This means that you can
build the package on a system with the KDE base directory set to some
location (like for example /usr) and install it on an other system
and/or into a different directory.

rpm -Uvh --prefix=/usr/local kwave-0.8.4-1.i586.rpm

This modifies the path where the program is installed and it is strongly
recommended that this is a directory that is contained in the KDEDIRS
environment variable, otherwise Kwave would be unable to find it's menu
configuration, plugins, preset files and so on...


>>> Please read the preface (section 0) before this <<<

The revision codes (numbers after the '-') should not be so important.
As a rule of thumb one can say that the nearer your version number is
the better it will work.

For compilation you need a working autoconf/automake environment, a good
C/C++ compiler, the qt and the kde libraries.

I am currently developing under a Gentoo Linux distribution
(i586 architecture) using at least the following packages:

* cmake >= 2.4.6                     (the cmake build system)
* gcc >= 3.0                         (the C / C++ compiler)

* make >= 3.80
* libstdc++-v3 >= 3.3.4              (C++ library, including STL)
* glibc >= 2.3                       (the GNU C library)
* kernel-headers                     (needed by glibc-devel)
* gettext >= 0.12                    (for internationalization)
* rpm >= 4.0                         (optional, for rpm support)
* ImageMagick >= 6.1                 (needed to create scaled Kwave icons)

* libmad + libmad-devel >= 0.15      (for MP3 import)
* id3lib >= 3.8.2                    (for MP3 tag import, see
* libogg >= 1.1.2                    (for Ogg/Vorbis import/export)
* libvorbis >= 1.1.0                 (for Ogg/Vorbis import/export)
* flac >= 1.1.0                      (for FLAC import/export)
* fftw >= 3.0                        (for Sonagram plugin / FFT)
* samplerate >= 0.1.3                (for sample rate conversion)

Some tools that are normally installed in every distribution:
* sed, awk, bash, msgmerge, msgfmt, xgettext, expand, cat,
  sort, uniq, find, bzip2

Nearly everything from, especially the following
packets should be sufficient for building:

[WARNING: this list might be a bit outdated]

* qt4 + qt4-devel                    (the Qt library)
* libkde4(-devel)                    (the KDE base libraries)
* kdemultimedia4-sound               (multimedia/aRts support)
* kdesdk4                            (some additional tools)
* kde4-i10n-devel                    (for xml2pot and others)

These programs are needed for generating the online help;

* po2xml and xml2pot (included in the "kdesdk" package)
* msgmerge (included in the "gettext" package)
* kbabel (also included in kdesdk)
* checkXML (included in kdelibs)

known distributions / architectures:

see the Kwave homepage:

Compilation might also work on many other distributions and different
versions of compilers and libraries, or even on different architectures.

So if you have success in compiling and using kwave under a different system,
please let me know !

If the program does NOT compile, please let me know too - and/or consider
an update of your system if your packages are older than those mentioned

currently tested distributions:

I have currently installed some distributions for testing purposes and
for getting an impression how Kwave builds/behaves on them. Here what I
made running and what I had to install additionally:

* OpenSuSE-10.2
	had to build and update cmake-2.4.6 from source rpm,
	for example from

* Debian (e.g. ppc)
	for getting a newer version of cmake (>= 2.4.6) I had to do:
	in sources.lst: deb-src testing main contrib
	apt-get -b -t testing source cmake
	dpkg --install cmake_<version>_<arch>.deb
	apt-get install kdemultimedia-dev libflac++dev libid3-dev imagemagick kdesdk

(other distributions should work out-of-the-box,


* missing files:
  Depending on your distribution, one ore more components might require
  additional packages. For example if there is a package like
  kdelibs-artsd-devel, install it too!

  Hint for SuSE users:
  => on CD1 (or on the DVD1) there is a file named "ARCHIVES.gz".
     If you want to find out which package does contain a missing program or
     file, you can do the following:

     gzip -dc ARCHIVES.gz | grep name_of_the_missing_file

* warnings about invalid character set when creating online documentation:
  This is quite "normal", because some tools are not aware of the
  UTF-8 encoding that is used in the .docbook and the .po files.

* hint: compiling in parallel with distcc:
  I successfully compiled Kwave on many systems with the following

  CC=distcc CXX="distcc g++" cmake ...your parameters...
  make -j <JOBS>

  (replace <JOBS> with a number of parallel jobs, for example the
   number of CPUs on all hosts + number of distcc hosts)


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 I started
to fix some little bugs here and there and stepped into the source code of
the program deeper and deeper. Up to today I have extended, rewritten or
revised nearly every component of the program and spend much time on it.
Since summer 1999 I have taken over the project leadership and I am still
working on it.

So good luck, and feel free to keep me informed about bugs and wishes...

   Thomas Eschenbacher <>