[Patch] Kmix alsa addtions

Helio Chissini de Castro helio at conectiva.com.br
Tue Dec 28 13:16:33 GMT 2004


Hello all..

Merry late xmas and new year first :-)

So lets discuss about the "hell knowed as emu10k1".
Sinec i have all three generations of this chip at home ( Live, Live 5.1 
PLatinum, Audigy 2 ZS ), i know everything that i need about this beasts

First of all, your patch is ok, but really is uneffective for Audigy and not 
helthy for non emu10k1 based. Let me explain why.
Audigy cards have a different approach than other emu10k1 based cards ( yes, 
there's nothing related to chip itself ).
After profiled Creative mixer and some tech docs, mainly this one 
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-kernel/Documentation/Audigy-mixer.txt?view=markup, 
i discovered that there's no unique record channel and a mix record channel 
on audigy cards, as were on regular other boards.
There's just the main Analog Mix record level, and all channels are routed 
directly to record. So, for alsa point of view everything have a "Playback 
volume". The main difference is that the volume on input channels are treated 
like the "volume level" for this channel, which are recorded by default.
The Windows Audigy mixer
(article http://alive.singnet.com.sg/audigy/review/apps.htm )
shows that all input ( treated as record enable devices ) are grouped, and you 
can individually change the voluem of this ones, but not mute and note that 
you don't have both Play and record channels, like the patch. This redirect 
to very cleaver and important opinion of kamix author about kmix current 
state and lack of some features like grouped channels, which is basically the 
same as Creative did. http://kde-apps.org/content/show.php?content=10654
About the patch, you split as a record and playback channels the devices, but 
if you superpose kmix over any other mixer ( try alsamixer ), yuo can see 
that all record channels are completly useless, since they didn't do nothing. 
But, you can clearly see the Playback changes.

So, Christian, i propose we follow the ideas of kamix author, and add new type 
of widgets and MOVE definitively to the profile based kmix. Until then, we 
will have more and more troubles with different cards, since i received some 
reports that nforce 3 card will have differences too, and i didn't expect 
things will be better and simple to maintain the current "one mixer fits them 
all" kmix.

Walt, i know this can be a little frustrating doing such a large patch and not 
working or accepted, but believe me, i have the same problem as you since 
acquired new Audigy card, and hope we need proper fix in the kmix 
architecture to assure that everyone can have kmix well fitted to their card.

[]'s and peace


On Thu 23 Dec 2004 14:28, Walt H wrote:
> Christian Esken wrote:
> >Am Freitag 17 Dezember 2004 18:53 schrieb Walt H:
> >>Hello,
> >>
> >>I've put together some (rough) patches to handle a situation that arises
> >>in kmix when using the Alsa drivers for an emu10k1 based soundcard
> >
> >Hi Walt,
> >
> >this is great. There are so many KMIx bugreports with emu based
> > soundcards. So I am very glad about your patches.
>
> Good to hear :)
>
> >>(audigy for me). What these patches do:
> >>
> >>Allow both output / input for a specific channel and separate the two.
> >>This allows you to, for example, have separate volume controls for both
> >>playback and capture for the Microphone, CD etc...
> >
> >I have to discuss this with Helio.
> >
> >>I'm not a very experienced C/C++ coder, so these patches may be a bit
> >>rough. I've tested the resulting app on my audigy based system as well
> >>as my other non-audigy based systems with good results. I checked out
> >>the kmix source via CVS to see if this issue was corrected yet, and
> >>didn't see that it was. So, I hacked this up. Hope it's useful.
> >
> >The patch is quite big and I am currently trying to understand it.
> >
> >As far as I see you made an own method createVolumeObject(), which
> >might be a good idea (lets see).
> >
> >The thing I haven't understood yet: What getRecordStatus() is good for?
>
> Sorry about that. I should've explained what I was doing better.
> Basically, much of the large size of the patch comes from copy/paste of
> the code that was located under openMixer().  I relocated the volume
> object creation to createVolumeObject(), which now gets called at least
> once within the 'for each elem' loop. In the case where an element can
> be both play and record, the createVolume... code gets called twice with
> the masterIdx incremented appropriately. Once as a playback object, and
> once as a record object with canRecord set to true.
>
> The getRecordStatus method checks to if an element is a recordable
> element and is mostly called from the get and set volume methods. This
> is done so that each independent volume level for both playback and
> record level can be retrieved  on an element which is capable of both
> playback and record. In this way, I can separate the two so that I can
> show the element in both the output and input sections of the mixer ui
> with their respective volumes.
>
> Does this help?
>
> >>My code only handles Alsa based soundcards. I haven't even looked /
> >
> >This is fine.
> >
> >Chris
>
> Good. I've been running kmix with the patch applied on 3 separate
> computers in my house (1 audigy based sound) with no obvious ill effects
> for the past week.  I have not, however, tested this patch on any other
> emu based sound card systems. I would think that if they're similar to
> how my Audigy works (element is both playback / record), that it should
> operate fine. Be nice to get some additional feedback from users :)
>
> Thanks,
>
> -Walt
>
>
> _______________________________________________
> kde-multimedia mailing list
> kde-multimedia at kde.org
> https://mail.kde.org/mailman/listinfo/kde-multimedia

-- 
Helio Chissini de Castro
Conectiva Labs - Brasil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-multimedia/attachments/20041228/bce5bc80/attachment.sig>
-------------- next part --------------
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia


More information about the kde-multimedia mailing list