protected override EdfPlusAnnotationDataBlock GetBlock(int index) { lock (BlocksList) { EdfPlusAnnotationDataBlock result = base.GetBlock(index); if (result == null) { _getBlockBusy = true; try { if (DoReadBlockDataFromFile(index)) { result = base.GetBlock(index); } } finally { _getBlockBusy = false; } } return(result); } }
public bool AddBlock(int blockNr, double onset) { Debug.Assert(blockNr >= 0, TALConsts.InvalidBlockIndex); Debug.Assert(double.IsNaN(onset) || (onset >= 0), TALConsts.InvalidBlockOnset); _lastError = TalError.None; DoSetBlocksListCapacity(blockNr); while (blockNr >= BlocksList.Count) { BlocksList.Add(null); } if (BlocksList[blockNr] != null) { Block(blockNr).DataRecOnset = onset; } else { EdfPlusAnnotationDataBlock newBlock = new EdfPlusAnnotationDataBlock(this, blockNr, onset) { Modified = true }; BlocksList[blockNr] = newBlock; } return(Block(blockNr) != null); }