Esempio n. 1
0
        public static D_Note noteFromToken(String token, int current_scope_octave, D_Note previous_note)
        {
            NoteLevel noteLevel            = noteLevelDictionary[token[0]];
            int       length_in_sixteenths = 16 / StringUtil.getNumberFromString(token);

            if (token.Contains('.'))
            {
                length_in_sixteenths = (int)((double)length_in_sixteenths * 1.5);
            }

            if (noteLevel == NoteLevel.rest)
            {
                return(D_NoteFactory.create_rest(length_in_sixteenths));
            }
            else
            {
                NoteAlteration alteration = getNoteNoteAlteration(token);

                int octave = getNoteOctave(token, current_scope_octave);

                D_Note new_note = D_NoteFactory.create_note(noteLevel, alteration, octave, length_in_sixteenths);
                if (previous_note != null)
                {
                    setRelativeOctave(new_note, previous_note);
                }
                return(new_note);
            }
        }
Esempio n. 2
0
 public static D_Note create_note(NoteLevel level, NoteAlteration alteration, int octave, int beats)
 {
     return(new D_Note(
                level,
                beats,
                octave,
                alteration,
                false
                ));
 }
Esempio n. 3
0
 public D_Note(NoteLevel level, int length, NoteTie note_tie = NoteTie.none, int octave = 1,
               NoteAlteration alteration = NoteAlteration.none, bool is_rest            = false)
 {
     this.level           = level;
     this.length          = length;
     this.octave          = octave;
     this.alteration      = alteration;
     this.is_rest         = is_rest;
     this.length_modifier = has_length_modifier(length);
     this.note_tie        = note_tie;
 }
Esempio n. 4
0
 static int getNoteAlteration(NoteAlteration alteration)
 {
     return(note_alterations[alteration]);
 }