/// <summary> /// Update the internal state of the instance. /// </summary> public void UpdateInternalState() { if (IsUsed && NeedToUpdateInternalState) { MixBufferVolume.CopyTo(PreviousMixBufferVolume); } NeedToUpdateInternalState = false; }
/// <summary> /// Update the <see cref="SplitterDestination"/> from user parameter. /// </summary> /// <param name="parameter">The user parameter.</param> public void Update(SplitterDestinationInParameter parameter) { Debug.Assert(Id == parameter.Id); if (parameter.IsMagicValid() && Id == parameter.Id) { DestinationId = parameter.DestinationId; parameter.MixBufferVolume.CopyTo(MixBufferVolume); if (!IsUsed && parameter.IsUsed) { MixBufferVolume.CopyTo(PreviousMixBufferVolume); NeedToUpdateInternalState = false; } IsUsed = parameter.IsUsed; } }
/// <summary> /// Clear the volumes. /// </summary> public void ClearVolumes() { MixBufferVolume.Fill(0); PreviousMixBufferVolume.Fill(0); }