Example #1
0
    def __init__(self, qscore, note, screenPos):
        super(NotesMenu, self).__init__(qscore)
        self.note = note
        qscore.clearDragSelection()
        self.menu = QMenuIgnoreCancelClick(qscore)
        kit = qscore.score.drumKit
        for noteHead in kit.allowedNoteHeads(note.drumIndex):

            def noteAction(nh=noteHead):
                qscore.sendFsmEvent(Event.MenuSelect(nh))

            self.menu.addAction(noteHead, noteAction)
        QtCore.QTimer.singleShot(0, lambda: self.menu.exec_(screenPos))
Example #2
0
class NotesMenu(FsmState):
    def __init__(self, qscore, note, screenPos):
        super(NotesMenu, self).__init__(qscore)
        self.note = note
        qscore.clearDragSelection()
        self.menu = QMenuIgnoreCancelClick(qscore)
        kit = qscore.score.drumKit
        for noteHead in kit.allowedNoteHeads(note.drumIndex):

            def noteAction(nh=noteHead):
                qscore.sendFsmEvent(Event.MenuSelect(nh))

            self.menu.addAction(noteHead, noteAction)
        QtCore.QTimer.singleShot(0, lambda: self.menu.exec_(screenPos))

    def send(self, event):
        msgType = type(event)
        if msgType == Event.MenuSelect:
            command = ToggleNote(self.qscore, self.note, event.data)
            self.qscore.addCommand(command)
            return Waiting(self.qscore)
        elif msgType == Event.MenuCancel:
            return Waiting(self.qscore)
        elif msgType == Event.Escape:
            self.menu.close()
            return Waiting(self.qscore)
        elif msgType == Event.StartPlaying:
            self.menu.close()
            return Playing(self.qscore)
        else:
            return self
Example #3
0
class NotesMenu(FsmState):
    def __init__(self, qscore, note, screenPos):
        super(NotesMenu, self).__init__(qscore)
        self.note = note
        qscore.clearDragSelection()
        self.menu = QMenuIgnoreCancelClick(qscore)
        kit = qscore.score.drumKit
        for noteHead in kit.allowedNoteHeads(note.drumIndex):
            def noteAction(nh = noteHead):
                qscore.sendFsmEvent(Event.MenuSelect(nh))
            self.menu.addAction(noteHead, noteAction)
        QtCore.QTimer.singleShot(0, lambda: self.menu.exec_(screenPos))

    def send(self, event):
        msgType = type(event)
        if msgType == Event.MenuSelect:
            command = ToggleNote(self.qscore, self.note, event.data)
            self.qscore.addCommand(command)
            return Waiting(self.qscore)
        elif msgType == Event.MenuCancel:
            return Waiting(self.qscore)
        elif msgType == Event.Escape:
            self.menu.close()
            return Waiting(self.qscore)
        elif msgType == Event.StartPlaying:
            self.menu.close()
            return Playing(self.qscore)
        else:
            return self
Example #4
0
 def __init__(self, qscore, note, screenPos):
     super(NotesMenu, self).__init__(qscore)
     self.note = note
     qscore.clearDragSelection()
     self.menu = QMenuIgnoreCancelClick(qscore)
     kit = qscore.score.drumKit
     for noteHead in kit.allowedNoteHeads(note.drumIndex):
         def noteAction(nh = noteHead):
             qscore.sendFsmEvent(Event.MenuSelect(nh))
         self.menu.addAction(noteHead, noteAction)
     QtCore.QTimer.singleShot(0, lambda: self.menu.exec_(screenPos))