File: README

package info (click to toggle)
kwave 0.7.2-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 9,048 kB
  • ctags: 4,906
  • sloc: cpp: 31,275; ansic: 13,111; sh: 9,511; perl: 2,724; makefile: 786; asm: 145
file content (359 lines) | stat: -rwxr-xr-x 13,286 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
This is the "Kwave" source distribution, a sound editor for KDE3.

 ----------------------------------------------------------------------------
| It is hosted on SourceForge, so you are welcome to visit                   |
| the Kwave homepage at: "http://kwave.sourceforge.net".                     |
 ----------------------------------------------------------------------------

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.

0. PREFACE:
==========

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!

If you run in problems when compiling, maybe your Qt/KDE paths are not
properly set up. So try the following before the first make and watch
carefully what the output of the compile/make system says:

(for SuSE + Qt3/KDE3)
export QTDIR=/usr/lib/qt3
export KDEDIRS=/opt/kde3

Note: You might have to change the Qt and KDE paths above according
      to your distribution

Hint: If you have a multiprocessor system, you can speed up the build
      by processing multiple targets at once by setting:

      export MAKE_FLAGS="-j4"

      where "4" is some number higher than the number of CPUs you have
      (factor 2 seemed to be reasonable on my dual-processor board)


1. COMPILING MANUALLY:
=====================

>>> 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 under your
favorite source-code directory (or under /tmp), change to this directory
and then type:

make -f Makefile.dist
make
make install

2. RPM-SUPPORT:
==============

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.7.2.tar.gz) and
then type:

rpmbuild -ta kwave-0.7.2.tar.gz

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.7.2.tar.gz

compiles for pentium architecture.


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

Assuming that you already have unpacked the source archive in some
directory you can simply type

make -f Makefile.dist

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

Instructions on how to get the sources via CVS can be found in the
Kwave handbook and on the Kwave project homepage at SourceForge
(see "http://sourceforge.net/cvs/?group_id=6478").

Please note that the online documentation in not included in CVS, 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).


3. RELOCATING THE BINARY RPM:
============================

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/local) and install it on an other system
and/or into a different directory.

For example: you got the binary rpm from a friend who has a SuSE system
(where the KDE base dir is /opt/kde2 or /opt/kde3) and want to install it
on RedHat (where the KDE base dir is /usr). Then just give a different
prefix when installing the rpm:

rpm -Uvh --prefix=/usr kwave-0.7.2.i386.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...

4. PENTIUM OPTIMIZATION:
=======================

Yes, you can compile the RPM packages for pentium and pentium pro by using
some defines in your rpmrc file. There are also some instructions on how to
build optimized for AMDs Athlon in the online documentation (The Kwave
Handbook).

You can modify your ~/.rpmmacros file, there you can specify option
lines like these:

optflags: i386 -O2 -m486 -DNDEBUG
optflags: i586 -O2 -march=pentium -DNDEBUG -fomit-frame-pointer
optflags: i686 -O2 -march=pentiumpro -DNDEBUG -fomit-frame-pointer

(found that at "http://www.keywarrior.net/duesti/rpmopt.en.html")

This means that on an i586 architecture the rpm package will be compiled
using -march=pentium and so on, you might extend or adapt these to your
own needs.

The options specified here are set into the environment variable
RPM_OPT_FLAGS during compilation, so if you don't have an rpm based
environment and have to compile like in (1) you can set this variable
manually and get the same effect. For example:

export RPM_OPT_FLAGS="-O2 -march=pentium -fomit-frame-pointer"

Then go to chapter 1 and do ./configure / make / make install...


5. REQUIREMENTS FOR BUILDING THE ONLINE HELP:
============================================

(NOTE: you don't have to do this if you have the sources from a
tar.gz archive or source RPM - but it is the only way to get the
online help if you checked out via CVS)

Since version 0.6.3 you do no longer need the docbook utils :)
Instead you will need

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


6. REQUIREMENTS:
===============

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

* autoconf >= 2.50                   (always good for making trouble :-( )
* automake >= 1.8                    (or at least version 1.7 ! )
* libtool >= 1.5                     (needed for configure)
* 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)
* recode >= 3.6                      (for online help)

* arts >= 1.3                        (aRts sound server support)
* libmad + libmad-devel >= 0.15      (for MP3 import)
* id3lib >= 3.8.2                    (for MP3 tag import, see www.id3lib.org)
* 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)
* gsl >= 1.4                         (for Sonagram plugin / FFT)

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

Nearly everything from ftp.kde.org, especially the following
packets should be sufficient for building:

[WARNING: this list might be a bit outdated]

* qt3 + qt3-devel + qt3-devel-tools  (the Qt library)
* kdelibs3(-devel)                   (the KDE base libraries)
* kdemultimedia3-sound               (multimedia/aRts support)
  kdemultimedia3-devel
* kdesdk3                            (some additional tools)
* kdesdk3-translate                  (for xml2pot and others)

known distributions / architectures:
------------------------------------

* Gentoo Linux / i586 (Athlon-XP)
  [my current development system]

* SuSE-9.1/9.2 / i386, i586, athlon-xp (with KDE-3.3.2)
  [should work]

* SuSE-9.0 / i386, i586, athlon-xp (with KDE-3.1.4)
  [might still work my current development system]

* SuSE-8.1/8.2 / i386, i686, athlon, k7 (with KDE-3.0 and KDE-3.1)
  [might work, no longer supported,
   needs libart_lgpl-devel for getting KDE-3.1 to work]

* SuSE <= 8.0 / i386 (with KDE3 + autoconf/automake updated)
  [might work, no longer supported]

* Debian on alpha, arm, i386, ia64, m68k, mips, mipsel, powerpc, s390
  and sparc (packages provided by Aurelien Jarno <aurelien@aurel32.net>)

* Mandrake Linux 8.1, (packages provided by Gilles Caulier)
  [no longer supported]

* RedHat-6.1 (Halloween IV) / i386
  [tested v0.5.x with it, but now no longer tested]

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

currently not well supported 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:

* SuSE-9.2
	libjack-devel

* Debian / Sid (supported by Aurelien Jarno):
	 make imagemagick gettext gcc g++ recode libtool automake1.6
	 xlibs-dev kdelibs4-dev kdemultimedia-dev poxml
	 khelpcenter libflac-dev libflac++-dev
 	 libgsl0 libgsl0-dev
	 (had to do: 'apt-get install -t testing libid3-3.8.3-dev')

* RedHat-8.0 / 9.0:
	 ImageMagick, recode, id3lib, audiofile, audiofile-devel
	 needs "export QTDIR=/usr/lib/qt-3.1" to compile

* Mandrake-9.0:
         kdelibs, kdelibs-devel, libqt3, libqt3-devel, libarts, libarts-devel,
         audiofile, libaudiofile0, libarts, libarts-devel, kdesdk, libalsa2,
         libalsa2-devel, libpng3-devel, autoconf2.5, recode, ImageMagick,
         gettext, XFree86-devel, id3lib-3.8.2-1, id3lib-3.8.2-1-devel,
         libogg0, libogg0-devel, libvorbis0, libvorbis0-devel, libvorbisfile3,
         libvorbisenc2

* Mandrake-10.0:
	 kdemultimedia1-common-devel

* Mandrake-9.1:
	like Mandrake-9.0, but additionally:
	libnas2, libnas2-devel, libfam0-devel, libpng3, libpng3-devel

* Slackware 9.0:
	(too many packages to mention here, I have given it up...)


7. KNOWN PROBLEMS / SOME HINTS:
==============================

* autoconf/automake problems:
  --------------------------
  those are always good for making trouble. Don't blame us, it's the fault
  of the autoconf/automake programmers who invent new features and
  incompatibilites without even thinking about keeping compatibility.
  -> solution: on trouble, try to downgrade autoconf/automake

* 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

* errors during "make -f Makefile.dist":
  -------------------------------------
  If you see errors about invalid or missing macros when processing
  Makefile.dist: please try updating your automake, autoconf and
  libtool packages and try again.

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


8. SOME HISTORY:
===============

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 <Thomas.Eschenbacher@gmx.de>