Re: to infinity and beyond (Re: ArtsCompressor state)


On Tue, Sep 07, 2004 at 11:02:11PM +0200, Tim Janik wrote:
> On Tue, 7 Sep 2004, Stefan Westerfeld wrote:
> > There is no scale in beast currently which allows infinity on it,
> > currently, though. Maybe 100 or 20 is a good enough approximation for
> > infinity in practice.
> i'm not sure what "infinity" is here. suppose you have a scale ranging
> from +12 to -96 (dB), do you:
> a) want the GUI to only do s/-96/-oo/ ?
>    (this could easily be done with a property hint)
> b) want the GUI to provide a normal slider intervall [+12,-96[ but at
>    position -96 display -oo and pass -G_MAXDOUBLE to the module?
>    (this would better be done by (a) and implementing the
>    -96 => -oo substitution in the module)
> c) want the GUI to do a *real* interpolation to oo? say we subtitute
>    "only" 1000 for oo: we still get major oscillations.
>    [...]
> as a consequence, beast currently supplies a usable scale down to a comparatively
> small dB value (most dB scales out there don't actually scale down to -96), but
> doesn't cheat by simply displaying "-96" as "-oo".

In the cases I know, it is in fact not so important to get an
interpolation to infinity (its hard to define what that means, anyway).

Its just that I would like to implement for instance in the compressor
that you can use the boundary case of oo:1 compression, which basically
means that the compressor is just acting as a limiter.

For the user, it would be nice to _know_ that actually limiting is
taking place, so I'd like to have a slider like this:

|        |        |            |             |
1:1     2:1      4:1          8:1           oo:1

>From the implementation point of view, it is okay if 19.99 is right next
to infinity (or similar). And its also okay if I have to special case
this one value of the ratio_to_one property (20) in the module to mean
something else than ratio_to_one normally means.

   Cu... Stefan
  -* Stefan Westerfeld, stefan space twc de (PGP!), Hamburg/Germany
     KDE Developer, project infos at *-         

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]