コード例 #1
0
        private void OnVolumeChangedBySystem(Rational rational)
        {
            if (this.FromMainThread(() => OnVolumeChangedBySystem(rational)))
            {
                return;
            }
            if (_draggingVolume)
            {
                return;
            }
            var dB = rational.ToDouble();

            if (dB < -100)
            {
                dB = double.NegativeInfinity;
            }
            else if (dB > 0)
            {
                dB = 0;
            }
            _volumeRecursion++;
            try
            {
                VolumeControlValue = dB;
            }
            finally
            {
                _volumeRecursion--;
            }
        }
コード例 #2
0
ファイル: Utility.cs プロジェクト: Helios-vmg/napalm
        public static double LinearToLog(Rational linear)
        {
            var linearD = linear.ToDouble();

            if (linearD <= 0)
            {
                return(-100);
            }
            return(Math.Log10(linearD) * 20);
        }
コード例 #3
0
 private void SetSeekBarToolTip(Rational time)
 {
     seekBarTooltip.SetToolTip(SeekBar, Utility.AbsoluteFormatTime(time.ToDouble()));
 }
コード例 #4
0
ファイル: Utility.cs プロジェクト: Helios-vmg/napalm
 public static string AbsoluteFormatTime(Rational time, bool ms = false)
 {
     return(AbsoluteFormatTime(time.ToDouble(), ms));
 }
コード例 #5
0
ファイル: Utility.cs プロジェクト: Helios-vmg/napalm
        public static double LogToLinear(Rational log)
        {
            var logD = log.ToDouble();

            return(Math.Pow(10, logD / 20));
        }