Exemplo n.º 1
0
        private void Read(BinaryReader reader)
        {
            // determine where all the sections are
            HeaderSection      = new(reader);
            ProtocolSection    = new(reader);
            AdcSection         = new(reader);
            DacSection         = new(reader);
            StringsSection     = new(reader);
            TagSection         = new(reader);
            DataSection        = new(reader);
            SynchArraySection  = new(reader);
            EpochSection       = new(reader);
            EpochPerDacSection = new(reader);
            AdcPerDacSection   = new(reader);
            UserListSection    = new(reader);
            StatsRegionSection = new(reader);
            MathSection        = new(reader);
            ScopeSection       = new(reader);
            DeltaSection       = new(reader);
            VoiceTagSection    = new(reader);
            AnnotationSection  = new(reader);
            StatsSection       = new(reader);

            // populate header values from each section
            ReadGroup1();
            ReadGroup2();
            ReadGroup3();
            ReadGroup5();
            ReadGroup6();
            ReadGroup7();
            ReadGroup9();
            ReadGroup10();
            ReadGroup12();

            // use header values to put additional information in the header object
            float tagTimeMult = (fSynchTimeUnit == 0)
                ? SamplePeriod / ChannelCount
                : fSynchTimeUnit / 1e6f;

            Tags = TagSection.GetTags(tagTimeMult);
        }