Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="parameters"></param>
        public void ChangeVolume(ChangeVolumeParameters parameters, int minimumValue, int maximumValue)
        {
            switch (parameters.ChangeType)
            {
            case ChangeVolumeParameters.EChangeType.Fixed:
                Volume = parameters.Value;
                break;

            case ChangeVolumeParameters.EChangeType.Relative:
                Volume = MathUtils.ClipValue(Volume + parameters.Value, 0, 127);
                break;

            case ChangeVolumeParameters.EChangeType.Percentage:
                Volume = (int)(Volume * (float)parameters.Value / 100.0 + 0.5);
                break;

            case ChangeVolumeParameters.EChangeType.Mapped:
                Volume = MathUtils.MapValue(Volume, 0, 127, parameters.Value, parameters.ToValue);
                break;

            case ChangeVolumeParameters.EChangeType.SmartMapped:
                Volume = MathUtils.MapValue(Volume, minimumValue, maximumValue, parameters.Value, parameters.ToValue);
                break;

            default:
                throw new ApplicationException("Illegal ChangeVolumeParameter");
            }

            Update("ContentChanged");
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="parameters"></param>
        /// <param name="minimumVolume"></param>
        /// <param name="maximumVolume"></param>
        public void ChangeVolume(ChangeVolumeParameters parameters, int minimumVolume, int maximumVolume)
        {
            foreach (ITimbre timbre in this.Timbres.TimbresCollection)
            {
                IParameter currentVolumeParameter = timbre.GetParam(ParameterNames.TimbreParameterName.Volume);

                switch (parameters.ChangeType)
                {
                case ChangeVolumeParameters.EChangeType.Fixed:
                    currentVolumeParameter.Value = parameters.Value;
                    break;

                case ChangeVolumeParameters.EChangeType.Relative:
                    currentVolumeParameter.Value = MathUtils.ClipValue(currentVolumeParameter.Value + parameters.Value, 0, 127);
                    break;

                case ChangeVolumeParameters.EChangeType.Percentage:
                    currentVolumeParameter.Value = (int)(currentVolumeParameter.Value * (float)parameters.Value / 100.0 + 0.5);
                    break;

                case ChangeVolumeParameters.EChangeType.Mapped:
                    currentVolumeParameter.Value = MathUtils.MapValue(currentVolumeParameter.Value, 0, 127, parameters.Value, parameters.ToValue);
                    break;

                case ChangeVolumeParameters.EChangeType.SmartMapped:
                    currentVolumeParameter.Value = MathUtils.MapValue(currentVolumeParameter.Value, minimumVolume, maximumVolume, parameters.Value, parameters.ToValue);
                    break;

                default:
                    throw new ApplicationException("Illegal ChangeVolumeParameter");
                }

                Update("ContentChanged");
            }
        }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="memory"></param>
 public ChangeVolumeWindow(ChangeVolumeParameters changeVolumeParameters)
 {
     _parameters = changeVolumeParameters;
     InitializeComponent();
 }