/// <summary> /// Fills the <paramref name="parameters"/> collection with Parameters. /// </summary> /// <param name="parameters">Must not be null.</param> protected virtual void ReadParameters(VstParameterCollection parameters) { int count = ReadParameterHeader(parameters); for (int i = 0; i < count; i++) { string name = Reader.ReadString(); float value = Reader.ReadSingle(); if (parameters.Contains(name)) { VstParameter parameter = parameters[name]; parameter.Value = value; } else { OnParameterNotFound(parameters, name, value); } } }
/// <summary> /// Метод, используемый для считывания значений параметров из файла. /// </summary> /// <param name="stream"></param> /// <param name="activeParameters"></param> public static void ReadParameters(Stream stream, VstParameterCollection activeParameters) { using (var reader = new BinaryReader(stream, Encoding.Default, true)) { foreach (var param in activeParameters) { var name = reader.ReadString(); if (!activeParameters.Contains(name)) { throw new ArgumentException("File contains wrong values."); } var normalizedValue = reader.ReadSingle(); if (normalizedValue < 0 || normalizedValue > 1) { throw new ArgumentException("File contains wrong values."); } activeParameters[name].NormalizedValue = normalizedValue; } } }
/// <summary> /// Fills the <paramref name="parameters"/> collection with Parameters. /// </summary> /// <param name="parameters">Must not be null.</param> protected virtual void ReadParameters(VstParameterCollection parameters) { int count = ReadParameterHeader(parameters); for (int i = 0; i < count; i++) { string name = Reader.ReadString(); float value = Reader.ReadSingle(); if (parameters.Contains(name)) { VstParameter parameter = parameters[name]; parameter.Value = value; } else OnParameterNotFound(parameters, name, value); } }