public MeasureClef(ClefSignMusicXML clefSign, int lineOfStaff, int octaveChange, AbstractStaff staff)
 {
     _visualsHost = new DrawingVisualHost();
     _lineOfStaff = lineOfStaff;
     _clefSign    = clefSign;
     MusicSymbols.TryGetClefSymbol(clefSign, octaveChange, out _symbol);
     this.staff = staff;
 }
        public MeasureClef(ClefMusicXML clef, AbstractStaff staff)
        {
            var octaveChange = 0;

            if (!String.IsNullOrEmpty(clef.ClefOctaveChange))
            {
                octaveChange = int.Parse(clef.ClefOctaveChange);
            }
            if (MusicSymbols.TryGetClefSymbol(clef.Sign, octaveChange, out string symbol))
            {
                _clefSign = clef.Sign;
                _symbol   = symbol;
            }
            else
            {
                throw new ArgumentException("An error occured while parsing clef symol");
            }
            if (int.TryParse(clef.Line, out int line))
            {
                _lineOfStaff = line;
            }

            this.staff = staff;
        }