[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