Ejemplo n.º 1
0
        private void AddElement(BlockElement element)
        {
            element.TimeSignature = _timeSignature;
            element.Tempo         = _piece.Tempo;

            if (_midiStrategy.OpenBlocks == 0)
            {
                _piece.AddElement(element, true);
            }
            else
            {
                try
                {
                    BlockElement block = (BlockElement)_piece.Elements[_piece.Elements.Count - 1];
                    for (int i = 1; i < _midiStrategy.OpenBlocks; i++)
                    {
                        block = (BlockElement)block.Elements[block.Elements.Count - 1];
                    }

                    block.AddElement(element, true);
                }
                catch (Exception) { }
            }

            _midiStrategy.OpenBlocks++;
        }
Ejemplo n.º 2
0
        private void AddToPiece(Element element)
        {
            if (ConversionState == ConversionState.Normal)
            {
                Piece.AddElement(element, true);
            }
            else
            {
                var block = (BlockElement)Piece.Elements[Piece.Elements.Count - 1];
                for (int i = 1; i < _midiStrategy.OpenBlocks; i++)
                {
                    block = (BlockElement)block.Elements[block.Elements.Count - 1];
                }

                block.AddElement(element, true);
            }
        }