Skip to content
Snippets Groups Projects
Commit 2c85f486 authored by Josh Roberson's avatar Josh Roberson
Browse files

fix smoothfade for osx.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 7f88c954
No related branches found
No related tags found
No related merge requests found
......@@ -378,30 +378,46 @@ static float oldvol = 0;
static float mutevol = 0;
#endif
#ifndef __Darwin__
static int mutedlevel(int orig, int mutelevel)
{
int l = orig >> 8;
int r = orig & 0xff;
l = (float)(mutelevel) * (float)(l) / 100.0;
r = (float)(mutelevel) * (float)(r) / 100.0;
return (l << 8) | r;
#else
static float mutedlevel(float orig, float mutelevel)
{
float master = orig;
master = mutelevel * master / 100.0;
return master;
#endif
}
static void mute(void)
{
#ifndef __Darwin__
int vol;
int start;
int x;
#else
float vol;
float start = 1.0;
float x;
#endif
int start;
int x;
vol = getvol();
oldvol = vol;
if (smoothfade)
if (smoothfade)
#ifdef __Darwin__
start = mutelevel;
#else
start = 100;
else
start = mutelevel;
#endif
for (x=start;x>=mutelevel;x-=stepsize) {
mutevol = mutedlevel(vol, x);
setvol(mutevol);
......@@ -423,23 +439,31 @@ static void unmute(void)
{
#ifdef __Darwin__
float vol;
float start;
float x;
#else
int vol;
#endif
int start;
int x;
#endif
vol = getvol();
if (debug)
#ifdef __Darwin__
printf("Unmute from '%f' (should be '%f') to '%f'!\n", vol, mutevol, oldvol);
mutevol = vol;
if (vol == mutevol) {
#else
printf("Unmute from '%04x' (should be '%04x') to '%04x'!\n", vol, mutevol, oldvol);
#endif
if ((int)vol == mutevol) {
#endif
if (smoothfade)
start = mutelevel;
else
#ifdef __Darwin__
start = 1.0;
#else
start = 100;
#endif
for (x=start;x<100;x+=stepsize) {
mutevol = mutedlevel(oldvol, x);
setvol(mutevol);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment