scale is for limiting the number of decimals, but the problem is the comma or
the point. Alsaplayer want a comma with my french locale, and if it is a point,
it accept only the leading 1 or 0, but nothing after.

Another way will be to test the locale in use, and sed the value to change the
point against a comma when needed. But I have no idea where I can test the
locale.

Le Thu, 28 Sep 2006 16:44:44 +0200,
"Hans Voss" <[EMAIL PROTECTED]> a écrit :

> Dominque
> 
> As Thomas said, it is due to the output of BC.
> 
> Tou should try to get the 'bc' command 'scale=4' in there somewhere.
> 
> On 9/28/06, Dominique Michel <[EMAIL PROTECTED]> wrote:
> > I see something new. When I start alsaplayer from a terminal, and issue the
> > volume control command from another term, the program understand well both
> > 0.5 and 0,5. But not when I start it from my menu.
> >
> > Dominique
> >
> > Le Thu, 28 Sep 2006 13:20:32 +0200,
> > Dominique Michel <[EMAIL PROTECTED]> a écrit :
> >
> > > Hi, I am on gentoo and I have done a menu script to have an alsaplayer
> > > control in the panel. I modified some fvwm-crystal scripts for that.
> > >
> > > The problem is at I use french locales:
> > > LANG="fr_CH.UTF-8"
> > > LANGUAGE="fr_CH.UTF-8"
> > > LC_ALL="fr_CH.UTF-8"
> > >
> > > and when I change to English locales, the volume and the speed control
> > > stop to work correctly.
> > >
> > > I have the following code:
> > >
> > > In Mixer-alsaplayer:
> > >
> > > DestroyMenu /Volume
> > > AddToMenu /Volume
> > > + " 0 db%" Mixer-Volume '1,0'
> > > + "-3 db%" Mixer-Volume '0,707'
> > > + "-6 db%" Mixer-Volume '0,5'
> > > + "-12 dB%" Mixer-Volume '0,25'
> > > + "-18 db%" Mixer-Volume '0,125'
> > > + "-24 db%" Mixer-Volume '0,0625'
> > > + " 0" Mixer-Volume '0,0'
> > >
> > > DestroyFunc Mixer-Volume
> > > AddToFunc Mixer-Volume
> > > + I Exec exec alsaplayer --volume $0
> > >
> > > In Music-alsaplayer:
> > >
> > > DestroyFunc /Music-generator
> > > AddToFunc /Music-generator
> > > + I DestroyMenu recreate /Music
> > > + I AddToMenu /Music '$[gt.Volume]'             Popup /Volume
> > >
> > > The problem is at when I change to English locales, alsaplayer want to
> > > get "." as decimal character, not a ","
> > >
> > > I try to change the code as follow:
> > >
> > > DestroyFunc Mixer-Volume
> > > AddToFunc Mixer-Volume
> > > + I SetEnv x "$0"
> > > + I PipeRead "echo SetEnv y $(( $[x]/1000000 ))"
> > > + I Exec exec xmessage x: $[x]
> > > + I Exec exec xmessage y: $[y]
> > > + I Exec exec $[A_Player] --volume $[y]
> > >
> > > DestroyMenu /Volume
> > > AddToMenu /Volume
> > > + " 0 db%" Mixer-Volume '1000000'
> > > + "-3 db%" Mixer-Volume '707000'
> > > + "-6 db%" Mixer-Volume '500000'
> > > + "-12 dB%" Mixer-Volume '250000'
> > > + "-18 db%" Mixer-Volume '125000'
> > > + "-24 db%" Mixer-Volume '62500'
> > > + "-30 db%" Mixer-Volume '31250'
> > > + "-36 db%" Mixer-Volume '15625'
> > > + " 0" Mixer-Volume '0'
> > >
> > > But the shell output integer number in y, it mean only 1 or 0.
> > >
> > > I try this too:
> > >
> > > + I PipeRead "echo SetEnv y $(( $[x]/1000000|bc-l ))"
> > >
> > > but it work the same, I get only 1 or 0 in y.
> > >
> > > And it is even worse, because when I run
> > >
> > > $ echo 500000/1000000|bc -l
> > >
> > > the shell output is always
> > >
> > > .50000000000000000000
> > >
> > > and that even when I use the french locales.
> > >
> > > Is it possible to get this script to work in any locale case?
> > >
> > > Dominique
> > >
> >
> >
> 
> 

Reply via email to