Example #1
0
    def parseNote(self):
        note = Note()
        flags = self.readByte()
        
        if flags & 32:
            note.type = self.readByte()
            if note.type == 2:
                note.tied = True
            elif note.type == 3:
                note.dead = True

        if flags & 1:
            note.duration = self.readByte()
            note.nuplet = self.readByte()

        if flags & 16:
            note.dynamic = self.readByte()
        else:
            note.dynamic = 6

        if flags & 32:
            note.fret = self.readByte()
        
        if flags & 128:
            note.lfinger = self.readByte()
            note.rfinger = self.readByte()

        if flags & 8:
            self.parseNoteEffect(note)

        return note