The program directly access's the sound and the mixer device. If you use it as non-root, these devices must be accessible for the user. Because /dev/dsp and /dev/mixer are symbolic links on the most systems, the devices behind the links must be accessible. On most machines this are /dev/dsp0 and /dev/mixer0. To give the devices accessible log in as root. Enter chmod 777 /dev/dsp0 and chmod 777 /dev/mixer0 .
I link against the Qt-library. It is called libqt.so. In some newer distributions there is no libqt.so anymore, it is replaced by the libqt-mt.so. The Multi-Threading variant of it. So if you have problems linking against libqt.so (because it does not exist), try the libqt-mt.so instead. Change the -lqt in the makefile and replace it by a --lqt-mt .
Here some words from Christoph to install a sounddriver on a Dell Inspiron.
2001-09-21: Version 4.0
Better mixer control. KHdRecord selects the recording input device at the mixer. This should reduce noise.
Introducing the Analyze Mode. KHdRecord analyzes the input signal and records only, if a signal level is reached. This can be used to watch citizen band or radio traffic.
2002-02-02: Version 5.0
Added Recording lists. Enter start and stop time, and the program automatically starts recording at that time.
Also added a 40KBit/sec mono mode for pure voice recordings. Create your own voicemail with this program.
2002-03-08: Version 6.0
Added Timed Split mode. A file is splitted every n-seconds.
Does not hang, if the sound-device is not available.
Allows to select the sound devices like /dev/dsp1.
Command line mode, to record without the GUI.
2002-03-10: Version 6.1
Typos in the documentation corrected.
Corrected error in the writing of wav files.
2002-05-05: Version 6.2
Added server mode to KHdRecord. It transfers the music over network to the client, which plays it. This combination is a simple audio streamer.
2002-05-29: Version 6.2 -- Source Update
Modified include files to compile also with QT3.
Minor changes: Version 6.3 -- Remote mode.
Minor changes: Version 6.4 -- Removed initialization error in ProgramState.
Minor changes: Version 6.5 -- Change to Lame 3.92. Also changed menu state during recordings.
2002-09-08: Version 6.6 -- Removed problems when linking
against the qt-mt (multithrading) library. Mandrake users should be able
to compile/run without problems.
Added input level meter.
2002-09-14: Version 7.0 -- Added Ogg/Vorbis encoding possibility
I have not so much experience with the Ogg/Vorbis encoder. It seems to be more complex than the Lame-Api. It works on my system, and the output seems to be OK. Please report errors using Ogg/Vorbis. The latest libraries are here available.
2002-10-06: Version 7.1 -- Removed problems when recording into Ogg/Vorbis
(sorry about that, my fault).
Added 320Kbit/sec mode for Paul.
2002-10-19: Version 7.2 -- Corrected NULL-pointer problem when running as server.
2002-10-24: Version 7.3 -- GUI enhancements: recording mode is stored in the settings. File selection box depends on current recording mode.
2002-12-28: Version 7.4 -- Experimental artsd support.
Typical the artsd prevents this program from accessing the /dev/dsp device. Kill the artsd process, if it blocks the program.
Armin Bühler sent me an method to use the artsd. On one of my computers it works, on the other it fails. I haven't detected the reason. Try it on your own risk. Select as input device "artsd", and the program should get the musik data over artsd, without talking directly to /dev/dsp.
2003-01-18: Version 7.5 -- Analyze mode also on commandline
The analyze mode is now also available when using the command line. Also added better error handling, when outputfile can not be written.
In MP3 mode, when the soundcards returns a different sampling rate than 44100 Hz, this rate is used. This should solve some problems with soundcards, which deliver only 48 KHz. The Ogg/Vorbis libraries still demand the 44100 Hz.
2003-05-11: Version 7.6 -- Found freezing window bug
Some people told me about a freezing KHdRecord window. But I could not recreate that problem. After upgrading to Suse 8.2 I also got this problem. After some debugging I found the problem in the thread-safe reliability of the QT-library. I followed the instructions in their documentation and now the problem seems to be solved.
The program was tested on Suse 8.1 and 8.2.
2003-10-24: Version 7.8 -- Minor changes
Changed date and time input to a QT widget. Removed ogg-library from distribution. Don't panic - ogg is supported, but I don't deliver the libraries, because ogg is pre-installed on every better distribution.
Also upgraded lame to 3.93.1. The precompiled lame library is still delivered.
2006-07-10: Version 8 -- Compile changes for Suse 10.1
The client KHdClient connects over the network to KHdRecord.
Then it plays the music stream delivered over the network.
Because it might be some complicated, here an image of the structure.
The executable (compiled on Suse 8.2 / Kernel 2.4 / Qt3)
Most people don't like this program. I have downloads of 100 source packages per week, but I got only 3 postcards at all. So what is the reason, that you don't like it?