Esempio n. 1
0
 private void GetMeasureData()
 {
     if (m_Experiment == null)
     {
         return;
     }
     if (m_MeasureScalarData == null || m_MeasureScalarData.Label() != txtMeasureName.Text)
     {
         MeasureElement[] measureArray   = m_Experiment.GetAllMeasureElements();
         MeasureElement   measureElement = measureArray.First(x => x.GetName() == txtMeasureName.Text);
         if (measureElement != null && measureElement.IsScalar())
         {
             m_MeasureScalarData = measureElement.GetValue() as MeasureScalarData;
         }
     }
 }
Esempio n. 2
0
        static TimeLogger()
        {
            Enabled          = false;
            _measureElements = new MeasureElement[_maxQueryFrames];
            for (int i = 0; i < _maxQueryFrames; ++i)
            {
                _measureElements[i] = new MeasureElement
                {
                    FrameID        = 0,
                    QueryOcclusion = new GPUQuery(D3DDevice.Device, new QueryDescription()
                    {
                        Type = QueryType.Occlusion
                    }),
                    QueryPipelineStats = new GPUQuery(D3DDevice.Device, new QueryDescription()
                    {
                        Type = QueryType.PipelineStatistics
                    }),
                    QueryTimeStampDisjoint = new GPUQuery(D3DDevice.Device, new QueryDescription()
                    {
                        Type = QueryType.TimestampDisjoint
                    }),
                    QueryTimeStampFrameBegin = new GPUQuery(D3DDevice.Device, new QueryDescription()
                    {
                        Type = QueryType.Timestamp
                    }),
                    QueryTimeStampFrameEnd = new GPUQuery(D3DDevice.Device, new QueryDescription()
                    {
                        Type = QueryType.Timestamp
                    })
                };
            }

            _timer           = new System.Timers.Timer(1000);
            _timer.Elapsed  += HandleTimedEvent;
            _timer.AutoReset = true;

            Clear();
            _timer.Start();
        }
Esempio n. 3
0
        public static Score GetScore(TextAsset text)
        {
            var document = GetXmlDocument(text.text);

            var score = new Score();

            var movementTitleNode = document.SelectSingleNode("score-partwise/movement-title");

            if (movementTitleNode != null)
            {
                score.MovementTitle = movementTitleNode.InnerText;
            }

            score.Identification = GetIdentification(document);

            var partNodes = document.SelectNodes("score-partwise/part-list/score-part");

            if (partNodes != null)
            {
                foreach (XmlNode partNode in partNodes)
                {
                    var part = new Part();
                    score.Parts.Add(part);

                    if (partNode.Attributes != null)
                    {
                        part.Id = partNode.Attributes["id"].InnerText;
                    }

                    var partNameNode = partNode.SelectSingleNode("part-name");

                    if (partNameNode != null)
                    {
                        part.Name = partNameNode.InnerText;
                    }

                    var measuresXpath = string.Format("//part[@id='{0}']/measure", part.Id);

                    var measureNodes = partNode.SelectNodes(measuresXpath);

                    if (measureNodes != null)
                    {
                        foreach (XmlNode measureNode in measureNodes)
                        {
                            var measure = new Measure();

                            if (measureNode.Attributes != null)
                            {
                                var     measureWidthAttribute = measureNode.Attributes["width"];
                                decimal w;
                                if (measureWidthAttribute != null && decimal.TryParse(measureWidthAttribute.InnerText, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out w))
                                {
                                    measure.Width = w;
                                }
                                //后面加上用于读取小节序号
                                var measureNumberAttribute = measureNode.Attributes["number"];
                                int i;
                                if (measureNumberAttribute != null && int.TryParse(measureNumberAttribute.InnerText, NumberStyles.Integer, CultureInfo.InvariantCulture, out i))
                                {
                                    measure.Number = i;
                                }
                            }

                            var attributesNode = measureNode.SelectSingleNode("attributes");

                            if (attributesNode != null)
                            {
                                measure.Attributes = new MeasureAttributes();

                                var divisionsNode = attributesNode.SelectSingleNode("divisions");
                                if (divisionsNode != null)
                                {
                                    measure.Attributes.Divisions = Convert.ToInt32(divisionsNode.InnerText);
                                }



                                var keyNode = attributesNode.SelectSingleNode("key");

                                if (keyNode != null)
                                {
                                    measure.Attributes.Key = new Key();

                                    var fifthsNode = keyNode.SelectSingleNode("fifths");
                                    if (fifthsNode != null)
                                    {
                                        measure.Attributes.Key.Fifths = Convert.ToInt32(fifthsNode.InnerText);
                                    }

                                    var modeNode = keyNode.SelectSingleNode("mode");
                                    if (modeNode != null)
                                    {
                                        measure.Attributes.Key.Mode = modeNode.InnerText;
                                    }
                                }

                                measure.Attributes.Time = GetTime(attributesNode);

                                measure.Attributes.Clef = GetClef(attributesNode);
                            }

                            var dictionNode = measureNode.SelectSingleNode("direction");

                            if (dictionNode != null)
                            {
                                measure.Attributes.Speed = GetSpeed(dictionNode);
                            }


                            var childNodes = measureNode.ChildNodes;

                            foreach (XmlNode node in childNodes)
                            {
                                MeasureElement measureElement = null;

                                if (node.Name == "note")
                                {
                                    var newNote = GetNote(node);
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Note, Element = newNote
                                    };
                                }
                                else if (node.Name == "backup")
                                {
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Backup, Element = GetBackupElement(node)
                                    };
                                }
                                else if (node.Name == "forward")
                                {
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Forward, Element = GetForwardElement(node)
                                    };
                                }
                                else if (node.Name == "barline")
                                {
                                    var barlineNode = node.ChildNodes[0];
                                    measure.Attributes.BarLine = barlineNode.InnerText;
                                }

                                if (measureElement != null)
                                {
                                    measure.MeasureElements.Add(measureElement);
                                }
                            }

                            part.Measures.Add(measure);
                        }
                    }
                }
            }

            return(score);
        }
Esempio n. 4
0
        public static Score GetScore(string filename)
        {
            var document = GetXmlDocument(filename);

            var score = new Score();

            score.Systems = 0;

            var movementTitleNode = document.SelectSingleNode("score-partwise/movement-title");

            if (movementTitleNode != null)
            {
                score.MovementTitle = movementTitleNode.InnerText;
            }

            score.Identification = GetIdentification(document);

            var partNodes = document.SelectNodes("score-partwise/part-list/score-part");


            var    layoutNode = document.SelectSingleNode("score-partwise/defaults/page-layout");
            var    marginNode = layoutNode.SelectSingleNode("page-margins");
            double width      = Convert.ToDouble(layoutNode.SelectSingleNode("page-width").InnerText);

            Console.WriteLine(width);
            var    marginlistLeft  = marginNode.SelectNodes("left-margin");
            var    marginlistRight = marginNode.SelectNodes("right-margin");
            double marginLeft      = Convert.ToDouble(marginlistLeft.Item(0).InnerText);

            Console.WriteLine(marginLeft);
            double marginRight = Convert.ToDouble(marginlistLeft.Item(0).InnerText);

            Console.WriteLine(marginRight);

            score.Scale = (width - marginLeft - marginRight) / 1055;
            Console.WriteLine("Scale is: " + score.Scale);

            if (partNodes != null)
            {
                foreach (XmlNode partNode in partNodes)
                {
                    var part = new Part();
                    score.Parts.Add(part);

                    if (partNode.Attributes != null)
                    {
                        part.Id = partNode.Attributes["id"].InnerText;
                    }

                    var partNameNode = partNode.SelectSingleNode("part-name");

                    if (partNameNode != null)
                    {
                        part.Name = partNameNode.InnerText;
                    }

                    var measuresXpath = string.Format("//part[@id='{0}']/measure", part.Id);

                    var measureNodes = partNode.SelectNodes(measuresXpath);

                    if (measureNodes != null)
                    {
                        foreach (XmlNode measureNode in measureNodes)
                        {
                            var measure = new Measure();

                            if (measureNode.Attributes != null)
                            {
                                var     measureWidthAttribute = measureNode.Attributes["width"];
                                decimal w;
                                if (measureWidthAttribute != null && decimal.TryParse(measureWidthAttribute.InnerText, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out w))
                                {
                                    measure.Width = w / (decimal)score.Scale;
                                }
                            }
                            if (measureNode.Attributes != null)
                            {
                                var     measureWidthAttribute = measureNode.Attributes["width"];
                                decimal w;
                                if (measureWidthAttribute != null && decimal.TryParse(measureWidthAttribute.InnerText, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out w))
                                {
                                    measure.Width = w;
                                }

                                var measureNumberAttribute = measureNode.Attributes["number"];

                                int n;
                                if (measureNumberAttribute != null && int.TryParse(measureNumberAttribute.InnerText, out n))
                                {
                                    measure.Number = n;
                                }
                            }


                            if (measureNode.SelectSingleNode("print") != null)
                            {
                                score.Systems++;
                                measure.NewSystem = true;
                                Console.WriteLine("NEW SYSTEM: MEASURE " + measure.Number);
                            }


                            var attributesNode = measureNode.SelectSingleNode("attributes");

                            if (attributesNode != null)
                            {
                                measure.Attributes = new MeasureAttributes();

                                var divisionsNode = attributesNode.SelectSingleNode("divisions");
                                if (divisionsNode != null)
                                {
                                    measure.Attributes.Divisions = Convert.ToInt32(divisionsNode.InnerText);
                                }

                                var keyNode = attributesNode.SelectSingleNode("key");

                                if (keyNode != null)
                                {
                                    measure.Attributes.Key = new Key();

                                    var fifthsNode = keyNode.SelectSingleNode("fifths");
                                    if (fifthsNode != null)
                                    {
                                        measure.Attributes.Key.Fifths = Convert.ToInt32(fifthsNode.InnerText);
                                    }

                                    var modeNode = keyNode.SelectSingleNode("mode");
                                    if (modeNode != null)
                                    {
                                        measure.Attributes.Key.Mode = modeNode.InnerText;
                                    }
                                }

                                measure.Attributes.Time = GetTime(attributesNode);

                                measure.Attributes.Clef = GetClef(attributesNode);
                            }

                            var childNodes = measureNode.ChildNodes;

                            foreach (XmlNode node in childNodes)
                            {
                                MeasureElement measureElement = null;

                                if (node.Name == "note")
                                {
                                    var newNote = GetNote(node);
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Note, Element = newNote
                                    };

                                    var note = (Note)measureElement.Element;
                                    note.MeasureNumber = measure.Number;
                                }
                                else if (node.Name == "backup")
                                {
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Backup, Element = GetBackupElement(node)
                                    };
                                }
                                else if (node.Name == "forward")
                                {
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Forward, Element = GetForwardElement(node)
                                    };
                                }

                                if (measureElement != null)
                                {
                                    measure.MeasureElements.Add(measureElement);
                                }
                            }

                            part.Measures.Add(measure);
                        }
                    }
                }
            }

            return(score);
        }
Esempio n. 5
0
        public static Score GetScore(string filename)
        {
            var document = GetXmlDocument(filename);

            var score = new Score();

            var movementTitleNode = document.SelectSingleNode("score-partwise/movement-title");

            if (movementTitleNode != null)
            {
                score.MovementTitle = movementTitleNode.InnerText;
            }

            score.Identification = GetIdentification(document);

            var partNodes = document.SelectNodes("score-partwise/part-list/score-part");

            if (partNodes != null)
            {
                foreach (XmlNode partNode in partNodes)
                {
                    var part = new Part();
                    score.Parts.Add(part);

                    if (partNode.Attributes != null)
                    {
                        part.Id = partNode.Attributes["id"].InnerText;
                    }

                    var partNameNode = partNode.SelectSingleNode("part-name");

                    if (partNameNode != null)
                    {
                        part.Name = partNameNode.InnerText;
                    }

                    var measuresXpath = string.Format("//part[@id='{0}']/measure", part.Id);

                    var measureNodes = partNode.SelectNodes(measuresXpath);

                    if (measureNodes != null)
                    {
                        foreach (XmlNode measureNode in measureNodes)
                        {
                            var measure = new Measure();

                            if (measureNode.Attributes != null)
                            {
                                var measureWidthAttribute = measureNode.Attributes["width"];
                                if (measureWidthAttribute != null)
                                {
                                    measure.Width = Convert.ToInt32(measureWidthAttribute.InnerText);
                                }
                            }

                            var attributesNode = measureNode.SelectSingleNode("attributes");

                            if (attributesNode != null)
                            {
                                measure.Attributes = new MeasureAttributes();

                                var divisionsNode = attributesNode.SelectSingleNode("divisions");
                                if (divisionsNode != null)
                                {
                                    measure.Attributes.Divisions = Convert.ToInt32(divisionsNode.InnerText);
                                }

                                var keyNode = attributesNode.SelectSingleNode("key");

                                if (keyNode != null)
                                {
                                    measure.Attributes.Key = new Key();

                                    var fifthsNode = keyNode.SelectSingleNode("fifths");
                                    if (fifthsNode != null)
                                    {
                                        measure.Attributes.Key.Fifths = Convert.ToInt32(fifthsNode.InnerText);
                                    }

                                    var modeNode = keyNode.SelectSingleNode("mode");
                                    if (modeNode != null)
                                    {
                                        measure.Attributes.Key.Mode = modeNode.InnerText;
                                    }
                                }

                                measure.Attributes.Time = GetTime(attributesNode);

                                measure.Attributes.Clef = GetClef(attributesNode);
                            }

                            var childNodes = measureNode.ChildNodes;

                            foreach (XmlNode node in childNodes)
                            {
                                MeasureElement measureElement = null;

                                if (node.Name == "note")
                                {
                                    var newNote = GetNote(node);
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Note, Element = newNote
                                    };
                                }
                                else if (node.Name == "backup")
                                {
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Backup, Element = GetBackupElement(node)
                                    };
                                }
                                else if (node.Name == "forward")
                                {
                                    measureElement = new MeasureElement {
                                        Type = MeasureElementType.Forward, Element = GetForwardElement(node)
                                    };
                                }

                                if (measureElement != null)
                                {
                                    measure.MeasureElements.Add(measureElement);
                                }
                            }

                            part.Measures.Add(measure);
                        }
                    }
                }
            }

            return(score);
        }
    public static Score GetScore(string filename)
    {
        pmn = 100;
        dictNoteTiedStart = new Dictionary <int, Note>();
        Measure measureLast = new Measure();

        measureLast.Attributes      = new MeasureAttributes();
        measureLast.Attributes.Time = new Time();
        //Debug.LogWarning("GetScore " + filename);

        //var document = GetXmlDocument(filename);
        var document = GetXmlDocumentContent(filename);

        var score = new Score();

        var movementTitleNode = document.SelectSingleNode("score-partwise/movement-title");

        if (movementTitleNode != null)
        {
            score.MovementTitle = movementTitleNode.InnerText;
        }

        score.Identification = GetIdentification(document);

        var partNodes = document.SelectNodes("score-partwise/part-list/score-part");

        if (partNodes != null)
        {
            foreach (XmlNode partNode in partNodes)
            {
                var part = new Part();
                score.Parts.Add(part);

                if (partNode.Attributes != null)
                {
                    part.Id = partNode.Attributes["id"].InnerText;
                }

                var partNameNode = partNode.SelectSingleNode("part-name");

                if (partNameNode != null)
                {
                    part.Name = partNameNode.InnerText;
                }

                var measuresXpath = string.Format("//part[@id='{0}']/measure", part.Id);

                var measureNodes = partNode.SelectNodes(measuresXpath);

                if (measureNodes != null)
                {
                    measureStartPost = 0;

                    foreach (XmlNode measureNode in measureNodes)
                    {
                        var measure = new Measure();

                        if (measureNode.Attributes != null)
                        {
                            var measureWidthAttribute = measureNode.Attributes["number"];
                            int n;
                            if (measureWidthAttribute != null && int.TryParse(measureWidthAttribute.InnerText,
                                                                              NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out n))
                            {
                                measure.Number = n;
                            }
                        }

                        var attributesNode = measureNode.SelectSingleNode("attributes");

                        if (attributesNode != null)
                        {
                            measure.Attributes = new MeasureAttributes();

                            var divisionsNode = attributesNode.SelectSingleNode("divisions");
                            if (divisionsNode != null)
                            {
                                measure.Attributes.Divisions     = Convert.ToInt32(divisionsNode.InnerText);
                                measureLast.Attributes.Divisions = measure.Attributes.Divisions;
                            }
                            else
                            {
                                measure.Attributes.Divisions = measureLast.Attributes.Divisions;
                            }

                            var keyNode = attributesNode.SelectSingleNode("key");

                            if (keyNode != null)
                            {
                                measure.Attributes.Key = new Key();

                                var fifthsNode = keyNode.SelectSingleNode("fifths");
                                if (fifthsNode != null)
                                {
                                    measure.Attributes.Key.Fifths = Convert.ToInt32(fifthsNode.InnerText);
                                }

                                var modeNode = keyNode.SelectSingleNode("mode");
                                if (modeNode != null)
                                {
                                    measure.Attributes.Key.Mode = modeNode.InnerText;
                                }
                            }


                            measure.Attributes.Time = GetTime(attributesNode);
                            if (measure.Attributes.Time.Beats != 0)
                            {
                                measureLast.Attributes.Time.Beats = measure.Attributes.Time.Beats;
                            }
                            else
                            {
                                measure.Attributes.Time.Beats = measureLast.Attributes.Time.Beats;
                            }

                            if (measure.Attributes.Time.Mode != string.Empty)
                            {
                                measureLast.Attributes.Time.Mode = measure.Attributes.Time.Mode;
                            }
                            else
                            {
                                measure.Attributes.Time.Mode = measureLast.Attributes.Time.Mode;
                            }

                            measure.Attributes.Clef = GetClef(attributesNode);
                        }
                        else
                        {
                            measure.Attributes = measureLast.Attributes;
                        }

                        measure.StartPos = (int)measureStartPost;

                        var childNodes = measureNode.ChildNodes;

                        nonChordPos = 0;
                        chordtPos   = 0;
                        float lastPostEnd = 0;
                        foreach (XmlNode node in childNodes)
                        {
                            MeasureElement measureElement = null;

                            if (node.Name == "note")
                            {
                                var newNote = GetNote(node);
                                if (newNote == null)
                                {
                                    continue;
                                }

                                measureElement = new MeasureElement {
                                    Type = MeasureElementType.Note, Element = newNote
                                };
                                if (!newNote.IsChordTone)
                                {
                                    newNote.StartPos = nonChordPos;
                                    chordtPos        = nonChordPos;
                                    nonChordPos      = nonChordPos + newNote.Duration;
                                }
                                else
                                {
                                    newNote.StartPos = chordtPos;
                                }

                                newNote.Pmn = pmn;

                                if (lastPostEnd < newNote.StartPos + newNote.Duration)
                                {
                                    lastPostEnd = newNote.StartPos + newNote.Duration;
                                }
                            }
                            else if (node.Name == "backup")
                            {
                                measureElement = new MeasureElement
                                {
                                    Type    = MeasureElementType.Backup,
                                    Element = GetBackupElement(node)
                                };
                            }
                            else if (node.Name == "forward")
                            {
                                measureElement = new MeasureElement
                                {
                                    Type    = MeasureElementType.Forward,
                                    Element = GetForwardElement(node)
                                };
                            }
                            else if (node.Name == "direction")
                            {
                                var directiontype = node.SelectSingleNode("direction-type");

                                if (directiontype != null)
                                {
                                    var metronome = directiontype.SelectSingleNode("metronome");
                                    if (metronome != null)
                                    {
                                        var perminute = metronome.SelectSingleNode("per-minute");

                                        int perminuteResult;
                                        if (perminute != null &&
                                            int.TryParse(perminute.InnerText, NumberStyles.AllowDecimalPoint,
                                                         CultureInfo.InvariantCulture, out perminuteResult))
                                        {
                                            pmn = perminuteResult;
                                            Debug.Log("pmn " + pmn);
                                        }
                                        else
                                        {
                                            Debug.Log("per-minute == null");
                                        }
                                    }
                                    else
                                    {
                                        //Debug.Log("metronome == null");
                                    }
                                }
                                else
                                {
                                    //Debug.Log("directiontype == null");
                                }
                            }

                            if (measureElement != null)
                            {
                                //Debug.Log("measure.MeasureElements.Add(measureElement)");
                                measure.MeasureElements.Add(measureElement);
                            }
                        }

                        measureStartPost = measureStartPost + lastPostEnd;
                        measure.Duration = measureStartPost - measure.StartPos;
                        part.Measures.Add(measure);
                    }
                }
            }
        }

        return(score);
    }
Esempio n. 7
0
        static void Main(string[] args)
        {
            try
            {
                //Program.TestPath();

                string projectPath  = Directory.GetCurrentDirectory() + "\\..\\..\\";
                string resourcePath = projectPath + "Resources\\";
                //string musicXmlName = "Dichterliebe01.mxl";
                //string musicXmlName = "89280-Twinkle_Twinkle_Little_Star.mxl";
                string musicXmlName = "3375816-Twinkle_Twinkle_little_star.mxl";

                Score score = MusicXml.MusicXmlParser.GetScore(musicXmlName);
                for (int index = 0; index < score.Parts.Count; ++index)
                {
                    Console.WriteLine("Name {0}", score.Parts[index].Name);
                }

                Part mainPart = score.Parts[0];
                for (int index = 0; index < mainPart.Measures.Count; ++index)
                {
                    List <MeasureElement> measureElementList = mainPart.Measures[index].MeasureElements;
                    for (int noteIndex = 0; noteIndex < measureElementList.Count; ++noteIndex)
                    {
                        MeasureElement measureElement = measureElementList[noteIndex];

                        /// <chord/> 화음
                        /// <staff/> 메인 반주
                        /// <rest/> 쉼
                        /// ? 잇단음표
                        /// ? 이음줄

                        try
                        {
                            switch (measureElement.Type)
                            {
                            case MeasureElementType.Note:
                                Note note = measureElement.Element as Note;
                                Console.WriteLine("Note Octave {0}", note.Pitch.Octave);
                                Console.WriteLine("Note Step {0}", note.Pitch.Step);
                                break;

                            case MeasureElementType.Backup:
                                Backup backup = measureElement.Element as Backup;
                                Console.WriteLine("Backup Duration {0}", backup.Duration);
                                break;

                            case MeasureElementType.Forward:
                                Forward forward = measureElement.Element as Forward;
                                Console.WriteLine("Forward Duration {0}", forward.Duration);
                                break;
                            }
                        }
                        catch (Exception _e)
                        {
                            Console.WriteLine("exception {0}", _e);
                            Console.WriteLine("index {0}", index);
                            Console.WriteLine("noteIndex {0}", noteIndex);
                        }
                    }
                }

                //Program.ReadMusicXml( resourcePath + musicXmlName );

                string txtName = "Test_do.txt";

                //string decompressName = "new.gz";
                string decompressName = "Dichterliebe01.mxl";

                //string zipName = "testZipFile.zip";
                //string zipName = "Dichterliebe01.mxl";
                string zipName = "89280-Twinkle_Twinkle_Little_Star.mxl";

                //string fullPath = "F:\\workspace_suny\\TestProject\\Test_MXL\\Test_MXL\\Resources\\Test_do.txt";
                //string path = Path.Combine(Environment.CurrentDirectory, @"Resources\", "Test_do.txt");

                // 1.
                // Starting file is 26,747 bytes.
                //string anyString = File.ReadAllText(txtPath + txtName);
                //Console.WriteLine("anyString: {0}", anyString);

                // 2.
                // Output file is 7,388 bytes.
                //CompressStringToFile(decompressPath + decompressName, anyString);

                //string decompressName = "89280-Twinkle_Twinkle_Little_Star.mxl";

                //DecompressStringFromFile( decompressPath + decompressName );

                //string noteData = DecompressToPath( decompressPath + "zipFolder", decompressPath + zipName, decompressPath + "extractFolder" );

                //loadXML(decompressPath + decompressName);
            }
            catch (Exception _exception)
            {
                Console.WriteLine("Exception: {0}", _exception);
                // Could not compress.
            }

            Console.ReadLine();
        }