Exemplo n.º 1
0
        protected override void ProcessingStopped()
        {
            _running = false;
            _thread.Join();

            _seekWindow?.Close();
            _seekWindow?.Dispose();
            _reader.Dispose();
            _fileStream.Dispose();
            _reader     = null;
            _fileStream = null;
            _seekWindow = null;
        }
Exemplo n.º 2
0
        public override bool PrepareProcessing()
        {
            if (!File.Exists(FileName))
            {
                GlobalSettings.Instance.Errors.Add(new Error($"File not found: {FileName}"));
                return(false);
            }

            try {
                _fileStream = File.OpenRead(FileName);
            } catch (Exception e) {
                GlobalSettings.Instance.Errors.Add(new Error($"Could not open {FileName}. Unknown exception: {e}"));
                return(false);
            }

            _reader = new BinaryReader(_fileStream);

            if (_buffer == null || _buffer.Samplerate != Samplerate)
            {
                _buffer = new TimeLocatedBuffer(GlobalSettings.Instance.BufferSize(Samplerate), Samplerate);
            }

            _stateBag = new List <StateEntry>();

            _buffer.ResetTime();
            _fileTargetPosition = 0;

            if (GlobalSettings.Instance.DockPanelInstance != null)
            {
                _seekWindow = new FileNodeWindow();
            }

            _servedLookup = new List <bool>(Enumerable.Range(0, _portOut.Connections.Count).Select(i => false));

            return(true);
        }