"For many, a computer is for playing games. To me, the computer is the game"- John Gluck
The source for the 0.3 version is included on the cover CD of the December 2001 issue of LINUXformat magazine. The tarball is in the Desktop/KOssMixer directory of the CD.
Many of today's sound card use DSPs (Digital Signal Processors) that can be programmed by downloading software to them. Some of the sound card and mixer features will therefore, depend on the software that is downloaded to the DSP by the driver. This explains why various iterations of drivers can add or remove sound card features.
While this program was specifically written for OSS, ALSA drivers also work if you enable the OSS compatibility. You can find information for setting up ALSA with OSS compatibility here. The program is written for KDE 2.2 and can be used as a replacement for kmix.
I was pleasantly surprised to see that there were over 400 downloads in the first week after the initial release. There were no bug reports. The second release had several hundred downloads in the first few days.
I consider the state of this project to be beta but is fully functional. I do plan to add a few more features and of course suggestions and feedback
are welcome (see distribution).
More seriously though, there are several reasons:
To try out programming for KDE and the best way is to do something fairly simple. To do something in the Open Source world since I've been using the fruits of many developers' labors for many years. Sourceforge is kind enough to host projects like this for free and I wanted to try it out. Other folks might like it. This project will serve as a stepping stone to more serious and complex projects. I am interested in sound and DSP. This porject begins to touch on the area.
Those who had the vision and imagination that made computers, programming languages, and the internet possible. To the authors who wrote the books I studied to understand and use all this stuff. All the unsung heros who labor into the the night surviving on cold pizza and coffee making technology real. The folks who worked long and hard to make KDE a reality. The folks at Trolltech who authored Qt and made a free version available. All the folks who work on linux. It's not flashy but it's the heart of the system. Everyone who worked on XFree86 without which KDE wouldn't exist.
My wife and kids who love and encourage me even though I sometimes seem to forget them. They endure my long hours without compliant. I don't know how they do it but I love them for all they are.
I could use your help. If you try this program, please share your experiences by e-mailing me. Just use the help-> report bug menu entry and write me a short note.
You can also e-mail me at jgluckca@altavista.com
Remember, we programmers who write these things and offer them for free, do it for fun. Getting feedback gives us incentive to continue. I know your time is valuable and a few minutes spent giving some constructive feedback will help us create better apps that will save you more time.
I am particularly interested in the following. Even if you don't have all of this information it's still useful:
1 - What is your sound card.
2 - Which kernel version or distro are you using.
3 - What new features would you like to see.
4 - What (if anything) would you change.
5 - What problems (if any) did you have using the mixer.
6 - Which version of KDE and Qt you are using.
7 - Will you continue using KOssMixer.
The general steps under Linux are as follows:
tar -C /usr/src -xvzf kossmixer.gz
cd /usr/src/kossmixer
./configure
make
make install (you will probably need to do this as root)
The first time you start the mixer, it will tell you that the configuration file wasn't found. This is normal. Just save the settings and you will not see the message again.
It is easy to use terms in a confusing manner when refering to a sound mixer. To eliminate the possibility of confusion, for the purposes of the description, the following terms will be used:
Mixer: This is the entire mixer display.
Control: A single control such as volume or treble.
Channel: For stereo controls this is the left or right elements. For mono controls it is equivalent to the control.
Each control will have at one slider if it is mono and two sliders if it is stereo. The slider(s) allow you to set the level of the control. In the case of stereo controls, it is possible to operate each channel independantly or to have the channels track each other. When the channels track, varying either slider will move both sliders. The yellow indicator (LED) labeled Trk allows control over this feature. When the trk LED is bright, both sliders will operate as one.
If a control is capable of being used as a recording input, it will have a red LED labeled Rec. To select the control for recording, click the Rec LED to make it bright. For many sound cards it is not possible to have more than one input used for recording at a time. KOssMixer detects this and will not allow a second input to be selected as a record source. In order to deactivate a record source, simply click the Rec LED to make it dark.
All controls have a mute leds at the bottom. These set the effective level of the control to zero or off on a per channel basis. The slider will still move and the requested levels will be remembered but no change in the level will occur until the mute is deactiveated by clicking the green LED to make it dark.
In addition to the basic operations described, a few special features are also available:
Hide or show individual controls by doubleclicking the control's icon. Change the displayed name of the control by doubleclicking the name.
Hiding a control can be useful when your mixer has a control but you don't have anything connected to it. I recommend you mute the control before hiding to eliminate the possibility that electrical noise will distort your sound playback.
Changing the name of a control is often useful because the mixers define generic names that do not necessarily correspond to their use or what is connected to them. For example you may have a line input with a tape deck connected. You may prefer to rename Line to Tape. Another example is the SoundBlaster Live which defines a control called IGain that is really the record level control. You may prefer to name this Rec Level.
My system used for development is:
Dual Pentium III 768Meg RAM Matrox G400 Max with 32Meg RAM Dual head display NEC MultiSync FE1250+ 22 inch monitor Optiquest V775 17 inch monitor SoundBlaster Live with Messina Media Series speakers 3 IDE and 1 SCSI harddisk for a total of about 80 Gigs Toshiba SCSI CD-ROM Yamaha SCSI CD-RW Creative IDE DVD 100BaseT Ethernet for my internal LAN 100BaseT Ethernet for cable modem connection
Linux kernel 2.4.10 XFree86 4.1 KDE 2.2.1 Qt 2.3.1 egcs-1.1.2 / egcs-2.91.66 19990314/Linux KDevelop 2.0 gdb 5.0 / DDD 3.33 audiofile 0.2.2 libpng 1.0.12 jpeg 6b