[LAD] announcing envy24control, mudita (*) edition.
Tim E. Real
termtech at rogers.com
Tue Jul 27 20:08:11 UTC 2010
On July 26, 2010 04:50:04 am fons at kokkinizita.net wrote:
> On Sun, Jul 25, 2010 at 04:55:10PM -0700, Niels Mayer wrote:
> > On Sun, Jul 25, 2010 at 3:23 PM, <fons at kokkinizita.net> wrote:
> > > - The analog gain sliders behave strangly. They seem to 'detent'
> > > on the scale marks, it's quite impossible to set a value *near*
> > > a scale mark while at the same time the resulotion halfway
> > > between scale marks seems to be OK.
> >
> > This is a side effect of routines I added to draw markings in the
> > scale widgets. GTK automatically auto-detents at the markings -- it's
> > certainly not what I wanted. (See volume.c: e.g.
> > draw_24bit_attenuator_scale_markings(), draw_dac_scale_markings() &
> > draw_dac_scale_markings() called out of
> > envy24control.c:create_analog_volume()).
>
> I just don't believe that GTK can't create a slider without these
> detents (which don't work well either). It would be utterly broken.
> Try using such a fader for any real audio work.
Tested: Oh dear. I see what you guys mean now.
It's not hysteresis I was seeing, per se, but a desire for the
slider to snap to the marker detents.
Which is caused by adding the marks to the sliders in the first place.
Possible fixes:
1) Draw the markings as a completely separate entity
from the sliders. We don't necessarily need tick marks,
but we get to still keep the handy page up/down snaps,
as they are part of gtk_adjustment etc.
2) Sub-class gtk_scale, and by necessity gtk_vscale.
I could take a stab at it. But do we want this?
I think 1) is the best attempt for now.
Let me take a look at how to draw them on their own.
They must expand when the the sliders expand, of course.
So maybe a bunch of labels inside an expanding vbox.
Tim.
More information about the Linux-audio-dev
mailing list