示例#1
0
    protected virtual void Dispose(bool disposing)
    {
        if (_disposed)
        {
            return;
        }

        if (disposing)
        {
            foreach (var effect in _effectList)
            {
                effect.Dispose();
            }
            _effectList.Clear();

            _param?.Dispose();

            _logger.LogInformation($"[vst host] disposing");
        }

        _disposed = true;
    }
        protected virtual void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
                _logger.LogInformation($"[vst host] stop : opened effect [{EffectMap.Count}]");
                foreach (var(ptr, effect) in EffectMap)
                {
                    _logger.LogInformation($"[vst] try stop [{ptr}]");
                    effect.Dispose();
                }
                _logger.LogInformation($"[vst host] left [{EffectMap.Count}]");

                EffectMap.Clear();
                _param.Dispose();
            }

            _disposed = true;
        }