On August 10, 2010 10:06:17 am you wrote:
Just applied the patches, compiled... AWESOME!
Sliders, dB scales and
meters in "Monitor Inputs" and "Monitor PCMs" resize when the window
is stretched! I'm looking forward to the completion of your TODO items
in AUTHORS esp the digital mixer meter resizing with stretchy scales
just like the mixer's channel meters. Let me know when you have things
finalized, and I'll add a mudita24 1.04 version to
http://nielsmayer.com/envy24control/ .
I will shrink the meters slightly, simply to
align better with
the slider scales.
Uh, if you don't mind, I actually want to increase the mixer sliders to
around -60dB, instead of -48dB which I think may be a wee bit too high.
The meters will only be as long as the -48dB mark,
but the sliders will be longer, if it doesn't look too bad and there's
enough room.
Of course the new resizeability feature brings up the issue that the
sliders can become long enough to display different positions for two
sliders at the same attenuator dB value. Perhaps this could be
remedied by an on-release callback that sets the slider back to the
center of it's actual dbFS value, e.g. -1.5dB, -3.0, -4.5, -6.0 etc...
This becomes especially noticeable on a stretched slider in "Monitor
Inputs" or "Monitor PCMs" due to the 1.5dB steps provided by the 24bit
attenuators feeding the digital mixer. It doesn't seem to be as
noticeable with the 0.5dB steps in the "Analog Volumes" panel.
However, on a fully-height-expanded window, you can notice, for
example, two sliders of a stereo pair showing the same dB value but
slightly different positions visually.
One "regression" in your change: formerly,
you could click within the
scale/labeling area to set focus on a given slider. This is a large
and easy-to-click area if you just want to set GUI focus to that
particular channel and use the scroll-wheel or keyboard up/down arrows
to change values). Because if you click in the slider area to set the
selection, unless you click on the slider itself, the value gets
changed.
Agreed. Good idea. Will try to allow that. Should be straight forward.
I totally neglected the mouse wheel! (I use a trackball).
Will investigate to make sure wheel works OK.
I am aware of the issues when clicking on a slider, or moving
it with the mouse. I'm working on it.
Part of the problem with the sliders is that they operate with
floating point. If you click on a slider it outputs a fractional
value even if it's already on an integer value, especially
when the slider is stretched.
When you click on a slider, it sometimes goes back one fractional
step, which may be enough to cause it to go back one integer step.
I need to round() some of the values at several places in my code,
but when I tried it I got a pre-c99 compiler warning about
warning: incompatible implicit declaration of built-in function ‘round’.
So I left it alone. Perhaps with your -lm fix this will go away,
or else we can just modernize the build as 'c99 compatible'.
With proper rounding some of these issues might go away.
One more thing: Because of my use of
gtk_adjustment_get_page_increment()
and friends, which require gtk+ 2.14, I think it may be necessary to
release this as a separate program than envy24control.
There may be people out there with old setups who need the old one.
The ALSA folks may not like replacing the old one with mudita24 for
that reason.
Seems like there should be a way for their build system to handle
skipping programs that use gtk2 if only gtk1 available ... at least
for the myriad packages in
alsa-tools "Specialist tools for ALSA" -- which might also be a
perfectly appropriate place to put a latest-gtk2-using tool providing
special control to a specific set of cards. I haven't surveyed the
other packages to see what kind of dependencies they have... I'm
CC'ing to alsa-devel in hopes of getting an answer on this.
(thread summary:
http://linuxaudio.org/mailarchive/lad/2010/8/8/172623
http://linuxaudio.org/mailarchive/lad/2010/8/8/172629 )
Good idea. I'm not sure
what the correct course of action is.
Let's see what the ALSA community recommends.
I was only thinking of folks with old distros+gtk who might want
to use mudita24. (Alas, that might not be possible.)
That's why completely replacing envy24control with mudita24 worried me a bit.
This has been an interesting summer project!
Mudita24 is an important app, as you say, especially for those with expensive
professional envy24-based gear. The meters, the markings, the feel. Good!
Tim.