public override List <MusicalSymbol> Convert(Piece piece) { _piece = piece; _symbols = new List <MusicalSymbol>(); _previousOctave = 4; _previousNote = Enums.NoteType.C; _currentClefType = _piece.Clef; _symbols.Add(new Clef((ClefType)_piece.Clef, (int)(_piece.Clef + 1) * 2)); _currentTimeSignature = _piece.TimeSignature; _symbols.Add(new PSAMControlLibrary.TimeSignature(TimeSignatureType.Numbers, (uint)_piece.TimeSignature.Top, (uint)_piece.TimeSignature.Bottom)); RunActions(piece.Elements); CheckEndingRepeat(); return(_symbols); }
private void HandleNote() { var note = (Models.Note)_element; // Octave if (_mustAlterOctave) { _previousOctave = _alterOctave; _mustAlterOctave = false; } else { CalculateOctave(note); } _previousNote = note.NoteType; // Note tie type var noteTieType = NoteTieType.None; if (note.IsTied) { noteTieType = NoteTieType.Start; _isTied = true; } else if (_isTied) { noteTieType = NoteTieType.Stop; _isTied = false; } // Create and add new note var newNote = new PSAMControlLibrary.Note(note.NoteType.ToString(), (int)note.AlterType, _previousOctave, (MusicalSymbolDuration)note.DurationType, NoteStemDirection.Up, noteTieType, new List <NoteBeamType> { NoteBeamType.Single }) { NumberOfDots = note.Dots }; _symbols.Add(newNote); }
public NoteBuilder(Enums.NoteType note) { Element = new Note { NoteType = note }; }