Browse Source

Initial German translation

master
Nils 4 years ago
parent
commit
a7a88d0c3d
  1. 23
      engine/track.py
  2. 429
      qtgui/designer/mainwindow.py
  3. 465
      qtgui/designer/mainwindow.ui
  4. 28
      qtgui/mainwindow.py
  5. 25
      qtgui/menu.py
  6. 27
      qtgui/musicstructures.py
  7. 11143
      qtgui/resources.py
  8. 2
      qtgui/resources/translations/config.pro
  9. BIN
      qtgui/resources/translations/de.qm
  10. 1262
      qtgui/resources/translations/de.ts
  11. 1
      qtgui/scorescene.py
  12. 89
      qtgui/submenus.py
  13. 22
      qtgui/trackEditor.py

23
engine/track.py

@ -987,8 +987,8 @@ class Track(object):
#TODO: However, it is even less elegant to put this call in all rhythm editing methods and functions. inserts, block duplicate, content links, augment, tuplets undo etc.
#Taken out an placed in tempo Export. #self.score.tempoTrack.expandLastBlockToScoreDuration() #we guarantee that the tempo track is always at least as long as the music tracks.
midiNotesBinaryCoxData = bytes() # Create a binary blob that contains the MIDI events
instrumentChangesBinaryCoxData = bytes() # same as above, but only for instrument changes.
midiNotesBinaryCboxData = bytes() # Create a binary blob that contains the MIDI events
instrumentChangesBinaryCboxData = bytes() # same as above, but only for instrument changes.
originalPosition = self.state.position()
self.getPreliminaryData()
@ -1007,9 +1007,9 @@ class Track(object):
assert self.initialMidiBankMsb == initialProgamChange.msb
assert self.initialMidiBankLsb == initialProgamChange.lsb
if initialProgamChange.program >= 0: #-1 is off.
instrumentChangesBinaryCoxData += cbox.Pattern.serialize_event(0, 0xC0 + self.initialMidiChannel, initialProgamChange.program, 0)
instrumentChangesBinaryCoxData += cbox.Pattern.serialize_event(0, 0xB0 + self.initialMidiChannel, 0, self.initialMidiBankMsb) #position, status byte+channel, controller number, controller value
instrumentChangesBinaryCoxData += cbox.Pattern.serialize_event(0, 0xB0 + self.initialMidiChannel, 32, self.initialMidiBankLsb) #position, status byte+channel, controller number, controller value
instrumentChangesBinaryCboxData += cbox.Pattern.serialize_event(0, 0xC0 + self.initialMidiChannel, initialProgamChange.program, 0)
instrumentChangesBinaryCboxData += cbox.Pattern.serialize_event(0, 0xB0 + self.initialMidiChannel, 0, self.initialMidiBankMsb) #position, status byte+channel, controller number, controller value
instrumentChangesBinaryCboxData += cbox.Pattern.serialize_event(0, 0xB0 + self.initialMidiChannel, 32, self.initialMidiBankLsb) #position, status byte+channel, controller number, controller value
localRight = self.right #performance
resultAppend = result.append #performance
@ -1027,13 +1027,13 @@ class Track(object):
resultAppend(expObj)
dur = expObj["completeDuration"]
if expObj["type"] != "InstrumentChange":
for blob in expObj["midiBytes"]: #a list of
midiNotesBinaryCoxData += blob
for blob in expObj["midiBytes"]: #a list of
midiNotesBinaryCboxData += blob
if expObj["type"] == "Chord" or expObj["type"] == "Rest": #save for later when we create Beams. No other use.
_allExportedChordsAppend(expObj)
else:
for blob in expObj["midiBytes"]: #a list of
instrumentChangesBinaryCoxData += blob
instrumentChangesBinaryCboxData += blob
elif r == 2: #block end. Again, this is already the previous state. right now we are in the next block already.
lastBlock = self.blocks[self.state.blockindex-1] #why -1? see comment above
@ -1161,13 +1161,12 @@ class Track(object):
metaData["duration"] = self.state.tickindex #tickindex is now at the end, so this is the end duration. This includes Blocks minimumDuration as well since it is included in left/right
metaData["beams"] = resultBeamGroups
#Notes
t = (midiNotesBinaryCoxData, 0, self.state.tickindex)
#Notes
t = (midiNotesBinaryCboxData, 0, self.state.tickindex)
self.sequencerInterface.setTrack([t]) #(bytes-blob, position, length) #tickindex is still on the last position, which means the second parameter is the length
#Instrument Changes
self.sequencerInterface.setSubtrack(key="instrumentChanges", blobs=[(instrumentChangesBinaryCoxData, 0, self.state.tickindex),]) #(bytes-blob, position, length)
self.sequencerInterface.setSubtrack(key="instrumentChanges", blobs=[(instrumentChangesBinaryCboxData, 0, self.state.tickindex),]) #(bytes-blob, position, length)
self.toPosition(originalPosition, strict = False) #has head() in it
return result

429
qtgui/designer/mainwindow.py

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.13.1
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!
@ -14,6 +14,7 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1036, 625)
MainWindow.setWindowTitle("Laborejo")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralwidget)
@ -26,6 +27,7 @@ class Ui_MainWindow(object):
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.toolBar = QtWidgets.QToolBar(MainWindow)
self.toolBar.setWindowTitle("toolBar")
self.toolBar.setMovable(False)
self.toolBar.setFloatable(False)
self.toolBar.setObjectName("toolBar")
@ -39,8 +41,10 @@ class Ui_MainWindow(object):
self.menuObjects.setObjectName("menuObjects")
self.menuGeneric = QtWidgets.QMenu(self.menubar)
self.menuGeneric.setEnabled(True)
self.menuGeneric.setTitle("&Generic")
self.menuGeneric.setObjectName("menuGeneric")
self.menuType_Here = QtWidgets.QMenu(self.menuGeneric)
self.menuType_Here.setTitle("T&ype Here")
self.menuType_Here.setObjectName("menuType_Here")
self.menuTracks = QtWidgets.QMenu(self.menubar)
self.menuTracks.setObjectName("menuTracks")
@ -55,6 +59,7 @@ class Ui_MainWindow(object):
self.menu.setObjectName("menu")
self.menu_2 = QtWidgets.QMenu(self.menubar)
self.menu_2.setEnabled(False)
self.menu_2.setTitle("|")
self.menu_2.setObjectName("menu_2")
self.menuEdit_MusicItem = QtWidgets.QMenu(self.menubar)
self.menuEdit_MusicItem.setObjectName("menuEdit_MusicItem")
@ -80,287 +85,482 @@ class Ui_MainWindow(object):
self.leftToolBar.setSizePolicy(sizePolicy)
self.leftToolBar.setMinimumSize(QtCore.QSize(26, 0))
self.leftToolBar.setMaximumSize(QtCore.QSize(26, 16777215))
self.leftToolBar.setWindowTitle("leftToolBar")
self.leftToolBar.setMovable(False)
self.leftToolBar.setAllowedAreas(QtCore.Qt.LeftToolBarArea)
self.leftToolBar.setFloatable(False)
self.leftToolBar.setObjectName("leftToolBar")
MainWindow.addToolBar(QtCore.Qt.LeftToolBarArea, self.leftToolBar)
self.actionUp = QtWidgets.QAction(MainWindow)
self.actionUp.setText("u&p")
self.actionUp.setToolTip("up")
self.actionUp.setShortcut("Up")
self.actionUp.setObjectName("actionUp")
self.actionDown = QtWidgets.QAction(MainWindow)
self.actionDown.setText("d&own")
self.actionDown.setToolTip("down")
self.actionDown.setShortcut("Down")
self.actionDown.setObjectName("actionDown")
self.actionLeft = QtWidgets.QAction(MainWindow)
self.actionLeft.setText("&left")
self.actionLeft.setToolTip("left")
self.actionLeft.setShortcut("Left")
self.actionLeft.setObjectName("actionLeft")
self.actionRight = QtWidgets.QAction(MainWindow)
self.actionRight.setText("&right")
self.actionRight.setToolTip("right")
self.actionRight.setShortcut("Right")
self.actionRight.setObjectName("actionRight")
self.actionModal1 = QtWidgets.QAction(MainWindow)
self.actionModal1.setText("&modal1")
self.actionModal1.setIconText("modal1")
self.actionModal1.setToolTip("modal1")
self.actionModal1.setShortcut("1")
self.actionModal1.setObjectName("actionModal1")
self.actionModal2 = QtWidgets.QAction(MainWindow)
self.actionModal2.setText("modal&2")
self.actionModal2.setToolTip("modal2")
self.actionModal2.setShortcut("2")
self.actionModal2.setObjectName("actionModal2")
self.actionModal3 = QtWidgets.QAction(MainWindow)
self.actionModal3.setText("modal&3")
self.actionModal3.setToolTip("modal3")
self.actionModal3.setShortcut("3")
self.actionModal3.setObjectName("actionModal3")
self.actionModal4 = QtWidgets.QAction(MainWindow)
self.actionModal4.setText("modal&4")
self.actionModal4.setToolTip("modal4")
self.actionModal4.setShortcut("4")
self.actionModal4.setObjectName("actionModal4")
self.actionModal5 = QtWidgets.QAction(MainWindow)
self.actionModal5.setText("modal&5")
self.actionModal5.setToolTip("modal5")
self.actionModal5.setShortcut("5")
self.actionModal5.setObjectName("actionModal5")
self.actionModal6 = QtWidgets.QAction(MainWindow)
self.actionModal6.setText("modal&6")
self.actionModal6.setToolTip("modal6")
self.actionModal6.setShortcut("6")
self.actionModal6.setObjectName("actionModal6")
self.actionModal7 = QtWidgets.QAction(MainWindow)
self.actionModal7.setText("modal&7")
self.actionModal7.setToolTip("modal7")
self.actionModal7.setShortcut("7")
self.actionModal7.setObjectName("actionModal7")
self.actionModal8 = QtWidgets.QAction(MainWindow)
self.actionModal8.setText("modal&8")
self.actionModal8.setToolTip("modal8")
self.actionModal8.setShortcut("8")
self.actionModal8.setObjectName("actionModal8")
self.actionModal9 = QtWidgets.QAction(MainWindow)
self.actionModal9.setText("modal&9")
self.actionModal9.setToolTip("modal9")
self.actionModal9.setShortcut("9")
self.actionModal9.setObjectName("actionModal9")
self.actionModal0 = QtWidgets.QAction(MainWindow)
self.actionModal0.setText("modal&0")
self.actionModal0.setToolTip("modal0")
self.actionModal0.setShortcut("0")
self.actionModal0.setObjectName("actionModal0")
self.actionDelete = QtWidgets.QAction(MainWindow)
self.actionDelete.setShortcut("Del")
self.actionDelete.setObjectName("actionDelete")
self.actionBackspace = QtWidgets.QAction(MainWindow)
self.actionBackspace.setShortcut("Backspace")
self.actionBackspace.setObjectName("actionBackspace")
self.actionShift_modal1 = QtWidgets.QAction(MainWindow)
self.actionShift_modal1.setText("sh&ift+modal1")
self.actionShift_modal1.setShortcut("Shift+1")
self.actionShift_modal1.setObjectName("actionShift_modal1")
self.actionShift_modal2 = QtWidgets.QAction(MainWindow)
self.actionShift_modal2.setText("shi&ft+modal2")
self.actionShift_modal2.setShortcut("Shift+2")
self.actionShift_modal2.setObjectName("actionShift_modal2")
self.actionShift_modal3 = QtWidgets.QAction(MainWindow)
self.actionShift_modal3.setText("shift+modal3")
self.actionShift_modal3.setShortcut("Shift+3")
self.actionShift_modal3.setObjectName("actionShift_modal3")
self.actionShift_modal4 = QtWidgets.QAction(MainWindow)
self.actionShift_modal4.setText("shift+modal4")
self.actionShift_modal4.setShortcut("Shift+4")
self.actionShift_modal4.setObjectName("actionShift_modal4")
self.actionShift_modal5 = QtWidgets.QAction(MainWindow)
self.actionShift_modal5.setText("shift+modal5")
self.actionShift_modal5.setShortcut("Shift+5")
self.actionShift_modal5.setObjectName("actionShift_modal5")
self.actionShift_modal6 = QtWidgets.QAction(MainWindow)
self.actionShift_modal6.setText("shift+modal6")
self.actionShift_modal6.setShortcut("Shift+6")
self.actionShift_modal6.setObjectName("actionShift_modal6")
self.actionShift_modal7 = QtWidgets.QAction(MainWindow)
self.actionShift_modal7.setText("shift+modal7")
self.actionShift_modal7.setShortcut("Shift+7")
self.actionShift_modal7.setObjectName("actionShift_modal7")
self.actionShift_modal8 = QtWidgets.QAction(MainWindow)
self.actionShift_modal8.setText("shift+modal8")
self.actionShift_modal8.setShortcut("Shift+8")
self.actionShift_modal8.setObjectName("actionShift_modal8")
self.actionShift_modal9 = QtWidgets.QAction(MainWindow)
self.actionShift_modal9.setText("shift+modal9")
self.actionShift_modal9.setShortcut("Shift+9")
self.actionShift_modal9.setObjectName("actionShift_modal9")
self.actionShift_modal0 = QtWidgets.QAction(MainWindow)
self.actionShift_modal0.setText("shift+modal0")
self.actionShift_modal0.setShortcut("Shift+0")
self.actionShift_modal0.setObjectName("actionShift_modal0")
self.actionAddCursorNoteToChord = QtWidgets.QAction(MainWindow)
self.actionAddCursorNoteToChord.setShortcut("Return")
self.actionAddCursorNoteToChord.setShortcutContext(QtCore.Qt.WindowShortcut)
self.actionAddCursorNoteToChord.setObjectName("actionAddCursorNoteToChord")
self.actionDeleteCursorNoteFromChord = QtWidgets.QAction(MainWindow)
self.actionDeleteCursorNoteFromChord.setShortcut("Shift+Del")
self.actionDeleteCursorNoteFromChord.setObjectName("actionDeleteCursorNoteFromChord")
self.actionAdd_Track = QtWidgets.QAction(MainWindow)
self.actionAdd_Track.setObjectName("actionAdd_Track")
self.actionTrackUp = QtWidgets.QAction(MainWindow)
self.actionTrackUp.setText("&trackUp")
self.actionTrackUp.setShortcut("PgUp")
self.actionTrackUp.setObjectName("actionTrackUp")
self.actionTrackDown = QtWidgets.QAction(MainWindow)
self.actionTrackDown.setText("trac&kDown")
self.actionTrackDown.setShortcut("PgDown")
self.actionTrackDown.setObjectName("actionTrackDown")
self.actionHead = QtWidgets.QAction(MainWindow)
self.actionHead.setText("&head")
self.actionHead.setShortcut("Home")
self.actionHead.setObjectName("actionHead")
self.actionTail = QtWidgets.QAction(MainWindow)
self.actionTail.setText("tail")
self.actionTail.setShortcut("End")
self.actionTail.setObjectName("actionTail")
self.actionTrackFirst = QtWidgets.QAction(MainWindow)
self.actionTrackFirst.setText("trackFirst")
self.actionTrackFirst.setShortcut("Ctrl+PgUp")
self.actionTrackFirst.setObjectName("actionTrackFirst")
self.actionTrackLast = QtWidgets.QAction(MainWindow)
self.actionTrackLast.setText("trackLast")
self.actionTrackLast.setShortcut("Ctrl+PgDown")
self.actionTrackLast.setObjectName("actionTrackLast")
self.actionSharpen_Note = QtWidgets.QAction(MainWindow)
self.actionSharpen_Note.setShortcut("+")
self.actionSharpen_Note.setObjectName("actionSharpen_Note")
self.actionFlatten_Note = QtWidgets.QAction(MainWindow)
self.actionFlatten_Note.setShortcut("-")
self.actionFlatten_Note.setObjectName("actionFlatten_Note")
self.actionMeasureLeft = QtWidgets.QAction(MainWindow)
self.actionMeasureLeft.setText("measureLeft")
self.actionMeasureLeft.setShortcut("Ctrl+Left")
self.actionMeasureLeft.setObjectName("actionMeasureLeft")
self.actionMeasureRight = QtWidgets.QAction(MainWindow)
self.actionMeasureRight.setText("measureRight")
self.actionMeasureRight.setShortcut("Ctrl+Right")
self.actionMeasureRight.setObjectName("actionMeasureRight")
self.actionStep_Up = QtWidgets.QAction(MainWindow)
self.actionStep_Up.setShortcut("Alt+Up")
self.actionStep_Up.setObjectName("actionStep_Up")
self.actionStep_Down = QtWidgets.QAction(MainWindow)
self.actionStep_Down.setShortcut("Alt+Down")
self.actionStep_Down.setObjectName("actionStep_Down")
self.actionOctave_Up = QtWidgets.QAction(MainWindow)
self.actionOctave_Up.setShortcut("Ctrl+Alt+Up")
self.actionOctave_Up.setObjectName("actionOctave_Up")
self.actionOctave_Down = QtWidgets.QAction(MainWindow)
self.actionOctave_Down.setShortcut("Ctrl+Alt+Down")
self.actionOctave_Down.setObjectName("actionOctave_Down")
self.actionAugment = QtWidgets.QAction(MainWindow)
self.actionAugment.setShortcut("Alt+Right")
self.actionAugment.setObjectName("actionAugment")
self.actionDiminish = QtWidgets.QAction(MainWindow)
self.actionDiminish.setShortcut("Alt+Left")
self.actionDiminish.setObjectName("actionDiminish")
self.actionAppend_Block = QtWidgets.QAction(MainWindow)
self.actionAppend_Block.setObjectName("actionAppend_Block")
self.actionSplit_Current_Block = QtWidgets.QAction(MainWindow)
self.actionSplit_Current_Block.setShortcut("Ins")
self.actionSplit_Current_Block.setObjectName("actionSplit_Current_Block")
self.actionDuplicate = QtWidgets.QAction(MainWindow)
self.actionDuplicate.setShortcut("Alt+Ins")
self.actionDuplicate.setObjectName("actionDuplicate")
self.actionCreate_Linked_Copy = QtWidgets.QAction(MainWindow)
self.actionCreate_Linked_Copy.setShortcut("Alt+Shift+Ins")
self.actionCreate_Linked_Copy.setObjectName("actionCreate_Linked_Copy")
self.actionDelete_Current_Block = QtWidgets.QAction(MainWindow)
self.actionDelete_Current_Block.setObjectName("actionDelete_Current_Block")
self.actionToggle_Notehead_Rectangles = QtWidgets.QAction(MainWindow)
self.actionToggle_Notehead_Rectangles.setCheckable(True)
self.actionToggle_Notehead_Rectangles.setShortcut("F1")
self.actionToggle_Notehead_Rectangles.setObjectName("actionToggle_Notehead_Rectangles")
self.actionPlayPause = QtWidgets.QAction(MainWindow)
self.actionPlayPause.setShortcut("Space")
self.actionPlayPause.setObjectName("actionPlayPause")
self.actionPlayFromBeginning = QtWidgets.QAction(MainWindow)
self.actionPlayFromBeginning.setShortcut("Shift+Space")
self.actionPlayFromBeginning.setObjectName("actionPlayFromBeginning")
self.actionFollow_Playhead = QtWidgets.QAction(MainWindow)
self.actionFollow_Playhead.setCheckable(True)
self.actionFollow_Playhead.setChecked(True)
self.actionFollow_Playhead.setShortcut("F3")
self.actionFollow_Playhead.setObjectName("actionFollow_Playhead")
self.actionPlayFromEditCursor = QtWidgets.QAction(MainWindow)
self.actionPlayFromEditCursor.setShortcut("Ctrl+Space")
self.actionPlayFromEditCursor.setObjectName("actionPlayFromEditCursor")
self.actionStaccato = QtWidgets.QAction(MainWindow)
self.actionStaccato.setShortcut(",")
self.actionStaccato.setObjectName("actionStaccato")
self.actionCopy = QtWidgets.QAction(MainWindow)
self.actionCopy.setShortcut("Ctrl+C")
self.actionCopy.setObjectName("actionCopy")
self.actionCut = QtWidgets.QAction(MainWindow)
self.actionCut.setShortcut("Ctrl+X")
self.actionCut.setObjectName("actionCut")
self.actionPaste = QtWidgets.QAction(MainWindow)
self.actionPaste.setShortcut("Ctrl+V")
self.actionPaste.setObjectName("actionPaste")
self.actionUpOctave = QtWidgets.QAction(MainWindow)
self.actionUpOctave.setText("&upOctave")
self.actionUpOctave.setShortcut("Ctrl+Up")
self.actionUpOctave.setObjectName("actionUpOctave")
self.actionDownOctave = QtWidgets.QAction(MainWindow)
self.actionDownOctave.setText("&downOctave")
self.actionDownOctave.setShortcut("Ctrl+Down")
self.actionDownOctave.setObjectName("actionDownOctave")
self.actionDots = QtWidgets.QAction(MainWindow)
self.actionDots.setShortcut("Q")
self.actionDots.setObjectName("actionDots")
self.actionCC_Mode = QtWidgets.QAction(MainWindow)
self.actionCC_Mode.setCheckable(True)
self.actionCC_Mode.setShortcut("F7")
self.actionCC_Mode.setObjectName("actionCC_Mode")
self.CCactionSplit_Current_Block = QtWidgets.QAction(MainWindow)
self.CCactionSplit_Current_Block.setObjectName("CCactionSplit_Current_Block")
self.actionChange_Grid_Rhythm = QtWidgets.QAction(MainWindow)
self.actionChange_Grid_Rhythm.setCheckable(False)
self.actionChange_Grid_Rhythm.setChecked(False)
self.actionChange_Grid_Rhythm.setShortcut("F2")
self.actionChange_Grid_Rhythm.setObjectName("actionChange_Grid_Rhythm")
self.actionSnap_To_Grid = QtWidgets.QAction(MainWindow)
self.actionSnap_To_Grid.setCheckable(True)
self.actionSnap_To_Grid.setChecked(True)
self.actionSnap_To_Grid.setObjectName("actionSnap_To_Grid")
self.actionAlt_modal1 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal1.setText("&Alt_modal1")
self.actionAlt_modal1.setShortcut("Alt+1")
self.actionAlt_modal1.setObjectName("actionAlt_modal1")
self.actionAlt_modal2 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal2.setText("Alt_modal2")
self.actionAlt_modal2.setShortcut("Alt+2")
self.actionAlt_modal2.setObjectName("actionAlt_modal2")
self.actionAlt_modal3 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal3.setText("Alt_modal3")
self.actionAlt_modal3.setShortcut("Alt+3")
self.actionAlt_modal3.setObjectName("actionAlt_modal3")
self.actionAlt_modal4 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal4.setText("Alt_modal4")
self.actionAlt_modal4.setShortcut("Alt+4")
self.actionAlt_modal4.setObjectName("actionAlt_modal4")
self.actionAlt_modal5 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal5.setText("Alt_modal5")
self.actionAlt_modal5.setShortcut("Alt+5")
self.actionAlt_modal5.setObjectName("actionAlt_modal5")
self.actionAlt_modal6 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal6.setText("Alt_modal6")
self.actionAlt_modal6.setShortcut("Alt+6")
self.actionAlt_modal6.setObjectName("actionAlt_modal6")
self.actionAlt_modal7 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal7.setText("Alt_modal7")
self.actionAlt_modal7.setShortcut("Alt+7")
self.actionAlt_modal7.setObjectName("actionAlt_modal7")
self.actionAlt_modal8 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal8.setText("Alt_modal8")
self.actionAlt_modal8.setShortcut("Alt+8")
self.actionAlt_modal8.setObjectName("actionAlt_modal8")
self.actionAlt_modal9 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal9.setText("Alt_modal9")
self.actionAlt_modal9.setShortcut("Alt+9")
self.actionAlt_modal9.setObjectName("actionAlt_modal9")
self.actionAlt_modal0 = QtWidgets.QAction(MainWindow)
self.actionAlt_modal0.setText("Alt_modal0")
self.actionAlt_modal0.setShortcut("Alt+0")
self.actionAlt_modal0.setObjectName("actionAlt_modal0")
self.actionMidi_In_is_Active = QtWidgets.QAction(MainWindow)
self.actionMidi_In_is_Active.setCheckable(True)
self.actionMidi_In_is_Active.setShortcut("F4")
self.actionMidi_In_is_Active.setObjectName("actionMidi_In_is_Active")
self.actionTie = QtWidgets.QAction(MainWindow)
self.actionTie.setShortcut("I")
self.actionTie.setObjectName("actionTie")
self.actionLegatoSlur = QtWidgets.QAction(MainWindow)
self.actionLegatoSlur.setShortcut("S")
self.actionLegatoSlur.setObjectName("actionLegatoSlur")
self.actionTenuto = QtWidgets.QAction(MainWindow)
self.actionTenuto.setShortcut("E")
self.actionTenuto.setObjectName("actionTenuto")
self.actionTriplet = QtWidgets.QAction(MainWindow)
self.actionTriplet.setShortcut("T")
self.actionTriplet.setObjectName("actionTriplet")
self.actionCustom_Tuplets = QtWidgets.QAction(MainWindow)
self.actionCustom_Tuplets.setEnabled(False)
self.actionCustom_Tuplets.setShortcut("Alt+T")
self.actionCustom_Tuplets.setObjectName("actionCustom_Tuplets")
self.actionPrevailingRest = QtWidgets.QAction(MainWindow)
self.actionPrevailingRest.setEnabled(False)
self.actionPrevailingRest.setObjectName("actionPrevailingRest")
self.actionSplit_in_2 = QtWidgets.QAction(MainWindow)
self.actionSplit_in_2.setShortcut("X")
self.actionSplit_in_2.setObjectName("actionSplit_in_2")
self.actionSplit_in_3 = QtWidgets.QAction(MainWindow)
self.actionSplit_in_3.setShortcut("Shift+X")
self.actionSplit_in_3.setObjectName("actionSplit_in_3")
self.actionCustom_Split = QtWidgets.QAction(MainWindow)
self.actionCustom_Split.setEnabled(True)
self.actionCustom_Split.setShortcut("Alt+X")
self.actionCustom_Split.setObjectName("actionCustom_Split")
self.actionUndo = QtWidgets.QAction(MainWindow)
self.actionUndo.setShortcut("Ctrl+Z")
self.actionUndo.setObjectName("actionUndo")
self.actionRedo = QtWidgets.QAction(MainWindow)
self.actionRedo.setShortcut("Ctrl+Shift+Z")
self.actionRedo.setObjectName("actionRedo")
self.actionJoin_with_next_Block = QtWidgets.QAction(MainWindow)
self.actionJoin_with_next_Block.setShortcut("Shift+Ins")
self.actionJoin_with_next_Block.setObjectName("actionJoin_with_next_Block")
self.actionSet_UpBeat = QtWidgets.QAction(MainWindow)
self.actionSet_UpBeat.setObjectName("actionSet_UpBeat")
self.actionSelectLeft = QtWidgets.QAction(MainWindow)
self.actionSelectLeft.setText("selectLeft")
self.actionSelectLeft.setShortcut("Shift+Left")
self.actionSelectLeft.setObjectName("actionSelectLeft")
self.actionSelectRight = QtWidgets.QAction(MainWindow)
self.actionSelectRight.setText("selectRi&ght")
self.actionSelectRight.setShortcut("Shift+Right")
self.actionSelectRight.setObjectName("actionSelectRight")
self.actionSelectMeasureLeft = QtWidgets.QAction(MainWindow)
self.actionSelectMeasureLeft.setText("selectMeasureLeft")
self.actionSelectMeasureLeft.setShortcut("Ctrl+Shift+Left")
self.actionSelectMeasureLeft.setObjectName("actionSelectMeasureLeft")
self.actionSelectMeasureRight = QtWidgets.QAction(MainWindow)
self.actionSelectMeasureRight.setText("selectMeasureRight")
self.actionSelectMeasureRight.setShortcut("Ctrl+Shift+Right")
self.actionSelectMeasureRight.setObjectName("actionSelectMeasureRight")
self.actionSelectHead = QtWidgets.QAction(MainWindow)
self.actionSelectHead.setText("selectHead")
self.actionSelectHead.setShortcut("Shift+Home")
self.actionSelectHead.setObjectName("actionSelectHead")
self.actionSelectTail = QtWidgets.QAction(MainWindow)
self.actionSelectTail.setText("selectTail")
self.actionSelectTail.setShortcut("Shift+End")
self.actionSelectTail.setObjectName("actionSelectTail")
self.actionSelectTrackUp = QtWidgets.QAction(MainWindow)
self.actionSelectTrackUp.setText("selectTrackUp")
self.actionSelectTrackUp.setShortcut("Shift+PgUp")
self.actionSelectTrackUp.setObjectName("actionSelectTrackUp")
self.actionSelectTrackDown = QtWidgets.QAction(MainWindow)
self.actionSelectTrackDown.setText("selectTrackDown")
self.actionSelectTrackDown.setShortcut("Shift+PgDown")
self.actionSelectTrackDown.setObjectName("actionSelectTrackDown")
self.actionSelectTrackFirst = QtWidgets.QAction(MainWindow)
self.actionSelectTrackFirst.setText("selectTrackFirst")
self.actionSelectTrackFirst.setShortcut("Ctrl+Shift+PgUp")
self.actionSelectTrackFirst.setObjectName("actionSelectTrackFirst")
self.actionSelectTrackLast = QtWidgets.QAction(MainWindow)
self.actionSelectTrackLast.setText("selectTrackLast")
self.actionSelectTrackLast.setShortcut("Ctrl+Shift+PgDown")
self.actionSelectTrackLast.setObjectName("actionSelectTrackLast")
self.actionSelectUp = QtWidgets.QAction(MainWindow)
self.actionSelectUp.setText("selectUp")
self.actionSelectUp.setShortcut("Shift+Up")
self.actionSelectUp.setObjectName("actionSelectUp")
self.actionSelectDown = QtWidgets.QAction(MainWindow)
self.actionSelectDown.setText("selectDo&wn")
self.actionSelectDown.setShortcut("Shift+Down")
self.actionSelectDown.setObjectName("actionSelectDown")
self.actionSelectUpOctave = QtWidgets.QAction(MainWindow)
self.actionSelectUpOctave.setText("selectUpOcta&ve")
self.actionSelectUpOctave.setShortcut("Ctrl+Shift+Up")
self.actionSelectUpOctave.setObjectName("actionSelectUpOctave")
self.actionSelectDownOctave = QtWidgets.QAction(MainWindow)
self.actionSelectDownOctave.setText("selectDow&nOctave")
self.actionSelectDownOctave.setShortcut("Ctrl+Shift+Down")
self.actionSelectDownOctave.setObjectName("actionSelectDownOctave")
self.actionSelectTrack = QtWidgets.QAction(MainWindow)
self.actionSelectTrack.setText("selectTrack")
self.actionSelectTrack.setShortcut("Shift+A")
self.actionSelectTrack.setObjectName("actionSelectTrack")
self.actionSelectMeasureColumn = QtWidgets.QAction(MainWindow)
self.actionSelectMeasureColumn.setText("selectMeasureColumn")
self.actionSelectMeasureColumn.setShortcut("Ctrl+A")
self.actionSelectMeasureColumn.setObjectName("actionSelectMeasureColumn")
self.actionSelectAllTracks = QtWidgets.QAction(MainWindow)
self.actionSelectAllTracks.setText("selectAllTracks")
self.actionSelectAllTracks.setShortcut("Ctrl+Shift+A")
self.actionSelectAllTracks.setObjectName("actionSelectAllTracks")
self.actionVelocityMore = QtWidgets.QAction(MainWindow)
self.actionVelocityMore.setShortcut(">")
self.actionVelocityMore.setObjectName("actionVelocityMore")
self.actionVelocityLess = QtWidgets.QAction(MainWindow)
self.actionVelocityLess.setShortcut("<")
self.actionVelocityLess.setObjectName("actionVelocityLess")
self.actionDurationModMore = QtWidgets.QAction(MainWindow)
self.actionDurationModMore.setShortcut("Alt+Shift+Right")
self.actionDurationModMore.setObjectName("actionDurationModMore")
self.actionDurationModLess = QtWidgets.QAction(MainWindow)
self.actionDurationModLess.setShortcut("Alt+Shift+Left")
self.actionDurationModLess.setObjectName("actionDurationModLess")
self.actionReset_Velocity_Duration_Mod = QtWidgets.QAction(MainWindow)
self.actionReset_Velocity_Duration_Mod.setObjectName("actionReset_Velocity_Duration_Mod")
self.actionWiden_Score_View = QtWidgets.QAction(MainWindow)
self.actionWiden_Score_View.setShortcut("Ctrl+Shift++")
self.actionWiden_Score_View.setObjectName("actionWiden_Score_View")
self.actionShrink_Score_View = QtWidgets.QAction(MainWindow)
self.actionShrink_Score_View.setShortcut("Ctrl+Shift+-")
self.actionShrink_Score_View.setObjectName("actionShrink_Score_View")
self.actionData_Editor = QtWidgets.QAction(MainWindow)
self.actionData_Editor.setCheckable(True)
self.actionData_Editor.setShortcut("Ctrl+T")
self.actionData_Editor.setObjectName("actionData_Editor")
self.actionClef = QtWidgets.QAction(MainWindow)
self.actionClef.setShortcut("C")
self.actionClef.setObjectName("actionClef")
self.actionMetrical_Instruction = QtWidgets.QAction(MainWindow)
self.actionMetrical_Instruction.setShortcut("M")
self.actionMetrical_Instruction.setObjectName("actionMetrical_Instruction")
self.actionKey_Signature = QtWidgets.QAction(MainWindow)
self.actionKey_Signature.setShortcut("K")
self.actionKey_Signature.setObjectName("actionKey_Signature")
self.actionDynamics = QtWidgets.QAction(MainWindow)
self.actionDynamics.setShortcut("D")
self.actionDynamics.setObjectName("actionDynamics")
self.actionMulti_Measure_Rest = QtWidgets.QAction(MainWindow)
self.actionMulti_Measure_Rest.setShortcut("R")
self.actionMulti_Measure_Rest.setObjectName("actionMulti_Measure_Rest")
self.actionTemporary_Tempo_Change = QtWidgets.QAction(MainWindow)
self.actionTemporary_Tempo_Change.setShortcut("F")
self.actionTemporary_Tempo_Change.setObjectName("actionTemporary_Tempo_Change")
self.actionBeam = QtWidgets.QAction(MainWindow)
self.actionBeam.setShortcut("B")
self.actionBeam.setObjectName("actionBeam")
self.actionRemoveBeams = QtWidgets.QAction(MainWindow)
self.actionRemoveBeams.setShortcut("Alt+B")
self.actionRemoveBeams.setObjectName("actionRemoveBeams")
self.actionTempo_Change = QtWidgets.QAction(MainWindow)
self.actionTempo_Change.setShortcut("G")
self.actionTempo_Change.setObjectName("actionTempo_Change")
self.actionDelete_Tempo_Change = QtWidgets.QAction(MainWindow)
self.actionDelete_Tempo_Change.setShortcut("Alt+G")
self.actionDelete_Tempo_Change.setObjectName("actionDelete_Tempo_Change")
self.actionBlock_Mode = QtWidgets.QAction(MainWindow)
self.actionBlock_Mode.setCheckable(True)
self.actionBlock_Mode.setShortcut("F6")
self.actionBlock_Mode.setObjectName("actionBlock_Mode")
self.actionNotation_Mode = QtWidgets.QAction(MainWindow)
self.actionNotation_Mode.setCheckable(True)
self.actionNotation_Mode.setChecked(True)
self.actionNotation_Mode.setShortcut("F5")
self.actionNotation_Mode.setObjectName("actionNotation_Mode")
self.actionTransposeChord = QtWidgets.QAction(MainWindow)
self.actionTransposeChord.setObjectName("actionTransposeChord")
self.actionTranspose_Score = QtWidgets.QAction(MainWindow)
self.actionTranspose_Score.setObjectName("actionTranspose_Score")
self.actionSave = QtWidgets.QAction(MainWindow)
self.actionSave.setShortcut("Ctrl+S")
self.actionSave.setObjectName("actionSave")
self.actionExport_File = QtWidgets.QAction(MainWindow)
self.actionExport_File.setObjectName("actionExport_File")
@ -371,18 +571,27 @@ class Ui_MainWindow(object):
self.actionDelete_All_Empty_Blocks = QtWidgets.QAction(MainWindow)
self.actionDelete_All_Empty_Blocks.setObjectName("actionDelete_All_Empty_Blocks")
self.actionBlockRight = QtWidgets.QAction(MainWindow)
self.actionBlockRight.setText("blo&ckRight")
self.actionBlockRight.setShortcut("Ctrl+Alt+Right")
self.actionBlockRight.setObjectName("actionBlockRight")
self.actionBlockLeft = QtWidgets.QAction(MainWindow)
self.actionBlockLeft.setText("&blockLeft")
self.actionBlockLeft.setShortcut("Ctrl+Alt+Left")
self.actionBlockLeft.setObjectName("actionBlockLeft")
self.actionSelectBlockRight = QtWidgets.QAction(MainWindow)
self.actionSelectBlockRight.setText("&selectBlockRight")
self.actionSelectBlockRight.setShortcut("Ctrl+Alt+Shift+Right")
self.actionSelectBlockRight.setObjectName("actionSelectBlockRight")
self.actionSelectBlockLeft = QtWidgets.QAction(MainWindow)
self.actionSelectBlockLeft.setText("s&electBlockLeft")
self.actionSelectBlockLeft.setShortcut("Ctrl+Alt+Shift+Left")
self.actionSelectBlockLeft.setObjectName("actionSelectBlockLeft")
self.actionPedalNotes = QtWidgets.QAction(MainWindow)
self.actionPedalNotes.setObjectName("actionPedalNotes")
self.actionReverse = QtWidgets.QAction(MainWindow)
self.actionReverse.setObjectName("actionReverse")
self.actionDuplicateItem = QtWidgets.QAction(MainWindow)
self.actionDuplicateItem.setShortcut("Ctrl+D")
self.actionDuplicateItem.setObjectName("actionDuplicateItem")
self.actionRandom = QtWidgets.QAction(MainWindow)
self.actionRandom.setObjectName("actionRandom")
@ -392,8 +601,6 @@ class Ui_MainWindow(object):
self.actionDescending.setObjectName("actionDescending")
self.actionMirror_around_Cursor = QtWidgets.QAction(MainWindow)
self.actionMirror_around_Cursor.setObjectName("actionMirror_around_Cursor")
self.actionInsert_Random = QtWidgets.QAction(MainWindow)
self.actionInsert_Random.setObjectName("actionInsert_Random")
self.actionRandom_chromatic_in_clef_range = QtWidgets.QAction(MainWindow)
self.actionRandom_chromatic_in_clef_range.setObjectName("actionRandom_chromatic_in_clef_range")
self.actionRandom_in_scale_in_clef_range = QtWidgets.QAction(MainWindow)
@ -405,6 +612,7 @@ class Ui_MainWindow(object):
self.actionExport_to_Ly = QtWidgets.QAction(MainWindow)
self.actionExport_to_Ly.setObjectName("actionExport_to_Ly")
self.actionShow_PDF = QtWidgets.QAction(MainWindow)
self.actionShow_PDF.setShortcut("Ctrl+P")
self.actionShow_PDF.setObjectName("actionShow_PDF")
self.actionExport_to_pdf_file = QtWidgets.QAction(MainWindow)
self.actionExport_to_pdf_file.setObjectName("actionExport_to_pdf_file")
@ -429,16 +637,16 @@ class Ui_MainWindow(object):
self.actionDelete_Current_Track = QtWidgets.QAction(MainWindow)
self.actionDelete_Current_Track.setObjectName("actionDelete_Current_Track")
self.actionUse_Current_Track_as_Metronome = QtWidgets.QAction(MainWindow)
self.actionUse_Current_Track_as_Metronome.setShortcut("U")
self.actionUse_Current_Track_as_Metronome.setObjectName("actionUse_Current_Track_as_Metronome")
self.actionMetronome_Enabled = QtWidgets.QAction(MainWindow)
self.actionMetronome_Enabled.setCheckable(True)
self.actionMetronome_Enabled.setShortcut("Alt+U")
self.actionMetronome_Enabled.setObjectName("actionMetronome_Enabled")
self.actionRandom_in_scale_in_cursor_plus_octave = QtWidgets.QAction(MainWindow)
self.actionRandom_in_scale_in_cursor_plus_octave.setObjectName("actionRandom_in_scale_in_cursor_plus_octave")
self.actionRandom_in_scale_in_octave_around_cursor = QtWidgets.QAction(MainWindow)
self.actionRandom_in_scale_in_octave_around_cursor.setObjectName("actionRandom_in_scale_in_octave_around_cursor")
self.actionCreate_pool_from_selection = QtWidgets.QAction(MainWindow)
self.actionCreate_pool_from_selection.setObjectName("actionCreate_pool_from_selection")
self.actionLyBarline = QtWidgets.QAction(MainWindow)
self.actionLyBarline.setObjectName("actionLyBarline")
self.actionLyFree_Instruction = QtWidgets.QAction(MainWindow)
@ -446,8 +654,10 @@ class Ui_MainWindow(object):
self.actionLyRepeat = QtWidgets.QAction(MainWindow)
self.actionLyRepeat.setObjectName("actionLyRepeat")
self.actionZoom_In_Score_View = QtWidgets.QAction(MainWindow)
self.actionZoom_In_Score_View.setShortcut("Ctrl++")
self.actionZoom_In_Score_View.setObjectName("actionZoom_In_Score_View")
self.actionZoom_Out_Score_View = QtWidgets.QAction(MainWindow)
self.actionZoom_Out_Score_View.setShortcut("Ctrl+-")
self.actionZoom_Out_Score_View.setObjectName("actionZoom_Out_Score_View")
self.menuObjects.addAction(self.actionMetrical_Instruction)
self.menuObjects.addAction(self.actionClef)
@ -648,18 +858,13 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Laborejo"))
self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
self.menuHelp.setTitle(_translate("MainWindow", "Help"))
self.menuObjects.setTitle(_translate("MainWindow", "&Insert Objects"))
self.menuGeneric.setTitle(_translate("MainWindow", "&Generic"))
self.menuType_Here.setTitle(_translate("MainWindow", "T&ype Here"))
self.menuTracks.setTitle(_translate("MainWindow", "&Structures"))
self.menuEdit.setTitle(_translate("MainWindow", "E&dit Note"))
self.menuView.setTitle(_translate("MainWindow", "&Control"))
self.menuMode.setTitle(_translate("MainWindow", "&View and Edit Mode"))
self.menu.setTitle(_translate("MainWindow", "|"))
self.menu_2.setTitle(_translate("MainWindow", "|"))
self.menuEdit_MusicItem.setTitle(_translate("MainWindow", "Edit &MusicItem"))
self.menuEdit_2.setTitle(_translate("MainWindow", "E&dit"))
self.menuToolbox.setTitle(_translate("MainWindow", "&Toolbox"))
@ -667,292 +872,97 @@ class Ui_MainWindow(object):
self.menuInsert.setTitle(_translate("MainWindow", "&Note Generation"))
self.menuMIDI.setTitle(_translate("MainWindow", "&MIDI"))
self.menuLilypond.setTitle(_translate("MainWindow", "&Lilypond"))
self.leftToolBar.setWindowTitle(_translate("MainWindow", "leftToolBar"))
self.actionUp.setText(_translate("MainWindow", "u&p"))
self.actionUp.setShortcut(_translate("MainWindow", "Up"))
self.actionDown.setText(_translate("MainWindow", "d&own"))
self.actionDown.setShortcut(_translate("MainWindow", "Down"))
self.actionLeft.setText(_translate("MainWindow", "&left"))
self.actionLeft.setShortcut(_translate("MainWindow", "Left"))
self.actionRight.setText(_translate("MainWindow", "&right"))
self.actionRight.setShortcut(_translate("MainWindow", "Right"))
self.actionModal1.setText(_translate("MainWindow", "&modal1"))
self.actionModal1.setShortcut(_translate("MainWindow", "1"))
self.actionModal2.setText(_translate("MainWindow", "modal&2"))
self.actionModal2.setShortcut(_translate("MainWindow", "2"))
self.actionModal3.setText(_translate("MainWindow", "modal&3"))
self.actionModal3.setShortcut(_translate("MainWindow", "3"))
self.actionModal4.setText(_translate("MainWindow", "modal&4"))
self.actionModal4.setShortcut(_translate("MainWindow", "4"))
self.actionModal5.setText(_translate("MainWindow", "modal&5"))
self.actionModal5.setShortcut(_translate("MainWindow", "5"))
self.actionModal6.setText(_translate("MainWindow", "modal&6"))
self.actionModal6.setShortcut(_translate("MainWindow", "6"))
self.actionModal7.setText(_translate("MainWindow", "modal&7"))
self.actionModal7.setShortcut(_translate("MainWindow", "7"))
self.actionModal8.setText(_translate("MainWindow", "modal&8"))
self.actionModal8.setShortcut(_translate("MainWindow", "8"))
self.actionModal9.setText(_translate("MainWindow", "modal&9"))
self.actionModal9.setShortcut(_translate("MainWindow", "9"))
self.actionModal0.setText(_translate("MainWindow", "modal&0"))
self.actionModal0.setShortcut(_translate("MainWindow", "0"))
self.actionDelete.setText(_translate("MainWindow", "&Delete Item"))
self.actionDelete.setShortcut(_translate("MainWindow", "Del"))
self.actionBackspace.setText(_translate("MainWindow", "Delete previous &Item"))
self.actionBackspace.setShortcut(_translate("MainWindow", "Backspace"))
self.actionShift_modal1.setText(_translate("MainWindow", "sh&ift+modal1"))
self.actionShift_modal1.setShortcut(_translate("MainWindow", "Shift+1"))
self.actionShift_modal2.setText(_translate("MainWindow", "shi&ft+modal2"))
self.actionShift_modal2.setShortcut(_translate("MainWindow", "Shift+2"))
self.actionShift_modal3.setText(_translate("MainWindow", "shift+modal3"))
self.actionShift_modal3.setShortcut(_translate("MainWindow", "Shift+3"))
self.actionShift_modal4.setText(_translate("MainWindow", "shift+modal4"))
self.actionShift_modal4.setShortcut(_translate("MainWindow", "Shift+4"))
self.actionShift_modal5.setText(_translate("MainWindow", "shift+modal5"))
self.actionShift_modal5.setShortcut(_translate("MainWindow", "Shift+5"))
self.actionShift_modal6.setText(_translate("MainWindow", "shift+modal6"))
self.actionShift_modal6.setShortcut(_translate("MainWindow", "Shift+6"))
self.actionShift_modal7.setText(_translate("MainWindow", "shift+modal7"))
self.actionShift_modal7.setShortcut(_translate("MainWindow", "Shift+7"))
self.actionShift_modal8.setText(_translate("MainWindow", "shift+modal8"))
self.actionShift_modal8.setShortcut(_translate("MainWindow", "Shift+8"))
self.actionShift_modal9.setText(_translate("MainWindow", "shift+modal9"))
self.actionShift_modal9.setShortcut(_translate("MainWindow", "Shift+9"))
self.actionShift_modal0.setText(_translate("MainWindow", "shift+modal0"))
self.actionShift_modal0.setShortcut(_translate("MainWindow", "Shift+0"))
self.actionAddCursorNoteToChord.setText(_translate("MainWindow", "&Add Note to Chord"))
self.actionAddCursorNoteToChord.setShortcut(_translate("MainWindow", "Return"))
self.actionDeleteCursorNoteFromChord.setText(_translate("MainWindow", "&Delete Note from Chord"))
self.actionDeleteCursorNoteFromChord.setShortcut(_translate("MainWindow", "Shift+Del"))
self.actionAdd_Track.setText(_translate("MainWindow", "&Add Track"))
self.actionTrackUp.setText(_translate("MainWindow", "&trackUp"))
self.actionTrackUp.setShortcut(_translate("MainWindow", "PgUp"))
self.actionTrackDown.setText(_translate("MainWindow", "trac&kDown"))
self.actionTrackDown.setShortcut(_translate("MainWindow", "PgDown"))
self.actionHead.setText(_translate("MainWindow", "&head"))
self.actionHead.setShortcut(_translate("MainWindow", "Home"))
self.actionTail.setText(_translate("MainWindow", "tail"))
self.actionTail.setShortcut(_translate("MainWindow", "End"))
self.actionTrackFirst.setText(_translate("MainWindow", "trackFirst"))
self.actionTrackFirst.setShortcut(_translate("MainWindow", "Ctrl+PgUp"))
self.actionTrackLast.setText(_translate("MainWindow", "trackLast"))
self.actionTrackLast.setShortcut(_translate("MainWindow", "Ctrl+PgDown"))
self.actionSharpen_Note.setText(_translate("MainWindow", "&Sharpen Note"))
self.actionSharpen_Note.setShortcut(_translate("MainWindow", "+"))
self.actionFlatten_Note.setText(_translate("MainWindow", "&Flatten Note"))
self.actionFlatten_Note.setShortcut(_translate("MainWindow", "-"))
self.actionMeasureLeft.setText(_translate("MainWindow", "measureLeft"))
self.actionMeasureLeft.setShortcut(_translate("MainWindow", "Ctrl+Left"))
self.actionMeasureRight.setText(_translate("MainWindow", "measureRight"))
self.actionMeasureRight.setShortcut(_translate("MainWindow", "Ctrl+Right"))
self.actionStep_Up.setText(_translate("MainWindow", "Step &Up"))
self.actionStep_Up.setShortcut(_translate("MainWindow", "Alt+Up"))
self.actionStep_Down.setText(_translate("MainWindow", "Ste&p Down"))
self.actionStep_Down.setShortcut(_translate("MainWindow", "Alt+Down"))
self.actionOctave_Up.setText(_translate("MainWindow", "&Octave Up"))
self.actionOctave_Up.setShortcut(_translate("MainWindow", "Ctrl+Alt+Up"))
self.actionOctave_Down.setText(_translate("MainWindow", "Octa&ve Down"))
self.actionOctave_Down.setShortcut(_translate("MainWindow", "Ctrl+Alt+Down"))
self.actionAugment.setText(_translate("MainWindow", "&Augment"))
self.actionAugment.setShortcut(_translate("MainWindow", "Alt+Right"))
self.actionDiminish.setText(_translate("MainWindow", "&Diminish"))
self.actionDiminish.setShortcut(_translate("MainWindow", "Alt+Left"))
self.actionAppend_Block.setText(_translate("MainWindow", "Append &Block"))
self.actionSplit_Current_Block.setText(_translate("MainWindow", "&Split Current Block"))
self.actionSplit_Current_Block.setShortcut(_translate("MainWindow", "Ins"))
self.actionDuplicate.setText(_translate("MainWindow", "&Duplicate Current Block"))
self.actionDuplicate.setShortcut(_translate("MainWindow", "Alt+Ins"))
self.actionCreate_Linked_Copy.setText(_translate("MainWindow", "&Create Linked Copy"))
self.actionCreate_Linked_Copy.setShortcut(_translate("MainWindow", "Alt+Shift+Ins"))
self.actionDelete_Current_Block.setText(_translate("MainWindow", "De&lete Current Block"))
self.actionToggle_Notehead_Rectangles.setText(_translate("MainWindow", "&Rectangle Noteheads"))
self.actionToggle_Notehead_Rectangles.setShortcut(_translate("MainWindow", "F1"))
self.actionPlayPause.setText(_translate("MainWindow", "P&lay / Pause"))
self.actionPlayPause.setShortcut(_translate("MainWindow", "Space"))
self.actionPlayFromBeginning.setText(_translate("MainWindow", "Play fr&om Start"))
self.actionPlayFromBeginning.setShortcut(_translate("MainWindow", "Shift+Space"))
self.actionFollow_Playhead.setText(_translate("MainWindow", "&Follow Playhead"))
self.actionFollow_Playhead.setShortcut(_translate("MainWindow", "F3"))
self.actionPlayFromEditCursor.setText(_translate("MainWindow", "Pla&y from Cursor"))
self.actionPlayFromEditCursor.setShortcut(_translate("MainWindow", "Ctrl+Space"))
self.actionStaccato.setText(_translate("MainWindow", "Staccato"))
self.actionStaccato.setShortcut(_translate("MainWindow", ","))
self.actionCopy.setText(_translate("MainWindow", "&Copy"))
self.actionCopy.setShortcut(_translate("MainWindow", "Ctrl+C"))
self.actionCut.setText(_translate("MainWindow", "Cut"))
self.actionCut.setShortcut(_translate("MainWindow", "Ctrl+X"))
self.actionPaste.setText(_translate("MainWindow", "&Paste"))
self.actionPaste.setShortcut(_translate("MainWindow", "Ctrl+V"))
self.actionUpOctave.setText(_translate("MainWindow", "&upOctave"))
self.actionUpOctave.setShortcut(_translate("MainWindow", "Ctrl+Up"))
self.actionDownOctave.setText(_translate("MainWindow", "&downOctave"))
self.actionDownOctave.setShortcut(_translate("MainWindow", "Ctrl+Down"))
self.actionDots.setText(_translate("MainWindow", "Dots"))
self.actionDots.setShortcut(_translate("MainWindow", "Q"))
self.actionCC_Mode.setText(_translate("MainWindow", "&Control Changes"))
self.actionCC_Mode.setShortcut(_translate("MainWindow", "F7"))
self.CCactionSplit_Current_Block.setText(_translate("MainWindow", "CCactionSplit_Current_Block"))
self.CCactionSplit_Current_Block.setShortcut(_translate("MainWindow", "Ins"))
self.actionChange_Grid_Rhythm.setText(_translate("MainWindow", "&Change Grid Rhythm"))
self.actionChange_Grid_Rhythm.setShortcut(_translate("MainWindow", "F2"))
self.actionSnap_To_Grid.setText(_translate("MainWindow", "Snap To Grid"))
self.actionAlt_modal1.setText(_translate("MainWindow", "&Alt_modal1"))
self.actionAlt_modal1.setShortcut(_translate("MainWindow", "Alt+1"))
self.actionAlt_modal2.setText(_translate("MainWindow", "Alt_modal2"))
self.actionAlt_modal2.setShortcut(_translate("MainWindow", "Alt+2"))
self.actionAlt_modal3.setText(_translate("MainWindow", "Alt_modal3"))
self.actionAlt_modal3.setShortcut(_translate("MainWindow", "Alt+3"))
self.actionAlt_modal4.setText(_translate("MainWindow", "Alt_modal4"))
self.actionAlt_modal4.setShortcut(_translate("MainWindow", "Alt+4"))
self.actionAlt_modal5.setText(_translate("MainWindow", "Alt_modal5"))
self.actionAlt_modal5.setShortcut(_translate("MainWindow", "Alt+5"))
self.actionAlt_modal6.setText(_translate("MainWindow", "Alt_modal6"))
self.actionAlt_modal6.setShortcut(_translate("MainWindow", "Alt+6"))
self.actionAlt_modal7.setText(_translate("MainWindow", "Alt_modal7"))
self.actionAlt_modal7.setShortcut(_translate("MainWindow", "Alt+7"))
self.actionAlt_modal8.setText(_translate("MainWindow", "Alt_modal8"))
self.actionAlt_modal8.setShortcut(_translate("MainWindow", "Alt+8"))
self.actionAlt_modal9.setText(_translate("MainWindow", "Alt_modal9"))
self.actionAlt_modal9.setShortcut(_translate("MainWindow", "Alt+9"))
self.actionAlt_modal0.setText(_translate("MainWindow", "Alt_modal0"))
self.actionAlt_modal0.setShortcut(_translate("MainWindow", "Alt+0"))
self.actionMidi_In_is_Active.setText(_translate("MainWindow", "&Midi In is Active"))
self.actionMidi_In_is_Active.setToolTip(_translate("MainWindow", "Toggle midi in on and off"))
self.actionMidi_In_is_Active.setShortcut(_translate("MainWindow", "F4"))
self.actionTie.setText(_translate("MainWindow", "T&ie"))
self.actionTie.setShortcut(_translate("MainWindow", "I"))
self.actionLegatoSlur.setText(_translate("MainWindow", "&Legato Slur"))
self.actionLegatoSlur.setToolTip(_translate("MainWindow", "Toggle Legato Slur"))
self.actionLegatoSlur.setShortcut(_translate("MainWindow", "S"))
self.actionTenuto.setText(_translate("MainWindow", "T&enuto"))
self.actionTenuto.setShortcut(_translate("MainWindow", "E"))
self.actionTriplet.setText(_translate("MainWindow", "Triplet"))
self.actionTriplet.setShortcut(_translate("MainWindow", "T"))
self.actionCustom_Tuplets.setText(_translate("MainWindow", "&Custom Tuplets"))
self.actionCustom_Tuplets.setShortcut(_translate("MainWindow", "Alt+T"))
self.actionPrevailingRest.setText(_translate("MainWindow", "Prevailing Rest"))
self.actionSplit_in_2.setText(_translate("MainWindow", "&Split in 2"))
self.actionSplit_in_2.setShortcut(_translate("MainWindow", "X"))
self.actionSplit_in_3.setText(_translate("MainWindow", "Split &in 3"))
self.actionSplit_in_3.setShortcut(_translate("MainWindow", "Shift+X"))
self.actionCustom_Split.setText(_translate("MainWindow", "Split in &X"))
self.actionCustom_Split.setShortcut(_translate("MainWindow", "Alt+X"))
self.actionUndo.setText(_translate("MainWindow", "&Undo"))
self.actionUndo.setShortcut(_translate("MainWindow", "Ctrl+Z"))
self.actionRedo.setText(_translate("MainWindow", "&Redo"))
self.actionRedo.setShortcut(_translate("MainWindow", "Ctrl+Shift+Z"))
self.actionJoin_with_next_Block.setText(_translate("MainWindow", "&Join with next Block"))
self.actionJoin_with_next_Block.setShortcut(_translate("MainWindow", "Shift+Ins"))
self.actionSet_UpBeat.setText(_translate("MainWindow", "Set Upbeat"))
self.actionSelectLeft.setText(_translate("MainWindow", "selectLeft"))
self.actionSelectLeft.setShortcut(_translate("MainWindow", "Shift+Left"))
self.actionSelectRight.setText(_translate("MainWindow", "selectRi&ght"))
self.actionSelectRight.setShortcut(_translate("MainWindow", "Shift+Right"))
self.actionSelectMeasureLeft.setText(_translate("MainWindow", "selectMeasureLeft"))
self.actionSelectMeasureLeft.setShortcut(_translate("MainWindow", "Ctrl+Shift+Left"))
self.actionSelectMeasureRight.setText(_translate("MainWindow", "selectMeasureRight"))
self.actionSelectMeasureRight.setShortcut(_translate("MainWindow", "Ctrl+Shift+Right"))
self.actionSelectHead.setText(_translate("MainWindow", "selectHead"))
self.actionSelectHead.setShortcut(_translate("MainWindow", "Shift+Home"))
self.actionSelectTail.setText(_translate("MainWindow", "selectTail"))
self.actionSelectTail.setShortcut(_translate("MainWindow", "Shift+End"))
self.actionSelectTrackUp.setText(_translate("MainWindow", "selectTrackUp"))
self.actionSelectTrackUp.setShortcut(_translate("MainWindow", "Shift+PgUp"))
self.actionSelectTrackDown.setText(_translate("MainWindow", "selectTrackDown"))
self.actionSelectTrackDown.setShortcut(_translate("MainWindow", "Shift+PgDown"))
self.actionSelectTrackFirst.setText(_translate("MainWindow", "selectTrackFirst"))
self.actionSelectTrackFirst.setShortcut(_translate("MainWindow", "Ctrl+Shift+PgUp"))
self.actionSelectTrackLast.setText(_translate("MainWindow", "selectTrackLast"))
self.actionSelectTrackLast.setShortcut(_translate("MainWindow", "Ctrl+Shift+PgDown"))
self.actionSelectUp.setText(_translate("MainWindow", "selectUp"))
self.actionSelectUp.setShortcut(_translate("MainWindow", "Shift+Up"))
self.actionSelectDown.setText(_translate("MainWindow", "selectDo&wn"))
self.actionSelectDown.setShortcut(_translate("MainWindow", "Shift+Down"))
self.actionSelectUpOctave.setText(_translate("MainWindow", "selectUpOcta&ve"))
self.actionSelectUpOctave.setShortcut(_translate("MainWindow", "Ctrl+Shift+Up"))
self.actionSelectDownOctave.setText(_translate("MainWindow", "selectDow&nOctave"))
self.actionSelectDownOctave.setShortcut(_translate("MainWindow", "Ctrl+Shift+Down"))
self.actionSelectTrack.setText(_translate("MainWindow", "selectTrack"))
self.actionSelectTrack.setShortcut(_translate("MainWindow", "Shift+A"))
self.actionSelectMeasureColumn.setText(_translate("MainWindow", "selectMeasureColumn"))
self.actionSelectMeasureColumn.setShortcut(_translate("MainWindow", "Ctrl+A"))
self.actionSelectAllTracks.setText(_translate("MainWindow", "selectAllTracks"))
self.actionSelectAllTracks.setShortcut(_translate("MainWindow", "Ctrl+Shift+A"))
self.actionVelocityMore.setText(_translate("MainWindow", "&More Velocity"))
self.actionVelocityMore.setToolTip(_translate("MainWindow", "More Velocity"))
self.actionVelocityMore.setShortcut(_translate("MainWindow", ">"))
self.actionVelocityLess.setText(_translate("MainWindow", "&Less Velocity"))
self.actionVelocityLess.setToolTip(_translate("MainWindow", "Less Velocity"))
self.actionVelocityLess.setShortcut(_translate("MainWindow", "<"))
self.actionDurationModMore.setText(_translate("MainWindow", "Lo&nger Duration Mod."))
self.actionDurationModMore.setToolTip(_translate("MainWindow", "Longer Duration Mod."))
self.actionDurationModMore.setShortcut(_translate("MainWindow", "Alt+Shift+Right"))
self.actionDurationModLess.setText(_translate("MainWindow", "Shorter Duration Mod."))
self.actionDurationModLess.setToolTip(_translate("MainWindow", "Shorter Duration Mod."))
self.actionDurationModLess.setShortcut(_translate("MainWindow", "Alt+Shift+Left"))
self.actionReset_Velocity_Duration_Mod.setText(_translate("MainWindow", "&Reset Velocity / Duration Mod."))
self.actionWiden_Score_View.setText(_translate("MainWindow", "&Widen Score View"))
self.actionWiden_Score_View.setShortcut(_translate("MainWindow", "Ctrl+Shift++"))
self.actionShrink_Score_View.setText(_translate("MainWindow", "Shr&ink Score View"))
self.actionShrink_Score_View.setShortcut(_translate("MainWindow", "Ctrl+Shift+-"))
self.actionData_Editor.setText(_translate("MainWindow", "&Track Editor"))
self.actionData_Editor.setShortcut(_translate("MainWindow", "Ctrl+T"))
self.actionClef.setText(_translate("MainWindow", "&Clef"))
self.actionClef.setShortcut(_translate("MainWindow", "C"))
self.actionMetrical_Instruction.setText(_translate("MainWindow", "&Metrical Instruction"))
self.actionMetrical_Instruction.setShortcut(_translate("MainWindow", "M"))
self.actionKey_Signature.setText(_translate("MainWindow", "&Key Signature"))
self.actionKey_Signature.setShortcut(_translate("MainWindow", "K"))
self.actionDynamics.setText(_translate("MainWindow", "&Dynamics"))
self.actionDynamics.setShortcut(_translate("MainWindow", "D"))
self.actionMulti_Measure_Rest.setText(_translate("MainWindow", "Multi Measure &Rest"))
self.actionMulti_Measure_Rest.setShortcut(_translate("MainWindow", "R"))
self.actionTemporary_Tempo_Change.setText(_translate("MainWindow", "Tem&porary Tempo Change"))
self.actionTemporary_Tempo_Change.setShortcut(_translate("MainWindow", "F"))
self.actionBeam.setText(_translate("MainWindow", "&Beam"))
self.actionBeam.setShortcut(_translate("MainWindow", "B"))
self.actionRemoveBeams.setText(_translate("MainWindow", "&Remove Beams"))
self.actionRemoveBeams.setShortcut(_translate("MainWindow", "Alt+B"))
self.actionTempo_Change.setText(_translate("MainWindow", "&Tempo Change"))
self.actionTempo_Change.setShortcut(_translate("MainWindow", "G"))
self.actionDelete_Tempo_Change.setText(_translate("MainWindow", "D&elete Tempo Change"))
self.actionDelete_Tempo_Change.setShortcut(_translate("MainWindow", "Alt+G"))
self.actionBlock_Mode.setText(_translate("MainWindow", "&Blocks Only"))
self.actionBlock_Mode.setShortcut(_translate("MainWindow", "F6"))
self.actionNotation_Mode.setText(_translate("MainWindow", "&Notation"))
self.actionNotation_Mode.setShortcut(_translate("MainWindow", "F5"))
self.actionTransposeChord.setText(_translate("MainWindow", "&Transpose Chord"))
self.actionTranspose_Score.setText(_translate("MainWindow", "&Transpose Score"))
self.actionSave.setText(_translate("MainWindow", "&Save"))
self.actionSave.setShortcut(_translate("MainWindow", "Ctrl+S"))
self.actionExport_File.setText(_translate("MainWindow", "Export File"))
self.actionImport_File_replaces_current.setText(_translate("MainWindow", "Import File (replaces current)"))
self.actionUnlink_Current_Block.setText(_translate("MainWindow", "&Unlink Current Block"))
self.actionDelete_All_Empty_Blocks.setText(_translate("MainWindow", "Delete All &Empty Blocks"))
self.actionBlockRight.setText(_translate("MainWindow", "blo&ckRight"))
self.actionBlockRight.setShortcut(_translate("MainWindow", "Ctrl+Alt+Right"))
self.actionBlockLeft.setText(_translate("MainWindow", "&blockLeft"))
self.actionBlockLeft.setShortcut(_translate("MainWindow", "Ctrl+Alt+Left"))
self.actionSelectBlockRight.setText(_translate("MainWindow", "&selectBlockRight"))
self.actionSelectBlockRight.setShortcut(_translate("MainWindow", "Ctrl+Alt+Shift+Right"))
self.actionSelectBlockLeft.setText(_translate("MainWindow", "s&electBlockLeft"))
self.actionSelectBlockLeft.setShortcut(_translate("MainWindow", "Ctrl+Alt+Shift+Left"))
self.actionPedalNotes.setText(_translate("MainWindow", "&Pedal Notes"))
self.actionReverse.setText(_translate("MainWindow", "&Reverse"))
self.actionDuplicateItem.setText(_translate("MainWindow", "Dup&licate"))
self.actionDuplicateItem.setShortcut(_translate("MainWindow", "Ctrl+D"))
self.actionRandom.setText(_translate("MainWindow", "&Shuffle"))
self.actionAscending.setText(_translate("MainWindow", "&Ascending"))
self.actionDescending.setText(_translate("MainWindow", "&Descending"))
self.actionMirror_around_Cursor.setText(_translate("MainWindow", "&Mirror around Cursor"))
self.actionInsert_Random.setText(_translate("MainWindow", "Insert Random"))
self.actionRandom_chromatic_in_clef_range.setText(_translate("MainWindow", "&Random chromatic in clef range"))
self.actionRandom_in_scale_in_clef_range.setText(_translate("MainWindow", "Random &in-scale in clef range"))
self.actionRandom_pitch_from_clipboard.setText(_translate("MainWindow", "Random pitch &from clipboard"))
self.actionProperties.setText(_translate("MainWindow", "Meta&data"))
self.actionExport_to_Ly.setText(_translate("MainWindow", "&Export to .ly file"))
self.actionShow_PDF.setText(_translate("MainWindow", "&Show PDF"))
self.actionShow_PDF.setShortcut(_translate("MainWindow", "Ctrl+P"))
self.actionExport_to_pdf_file.setText(_translate("MainWindow", "Export to .pdf file"))
self.actionInstrument_Change.setText(_translate("MainWindow", "&Instrument Change"))
self.actionProgram_Change_Relative.setText(_translate("MainWindow", "Program Change Relative"))
@ -965,16 +975,11 @@ class Ui_MainWindow(object):
self.actionMIDI_Channel_Reset.setText(_translate("MainWindow", "MIDI C&hannel Reset"))
self.actionDelete_Current_Track.setText(_translate("MainWindow", "Delete Current Track"))
self.actionUse_Current_Track_as_Metronome.setText(_translate("MainWindow", "Use Current Track as &Metronome"))
self.actionUse_Current_Track_as_Metronome.setShortcut(_translate("MainWindow", "U"))
self.actionMetronome_Enabled.setText(_translate("MainWindow", "Metronome &Enabled"))
self.actionMetronome_Enabled.setShortcut(_translate("MainWindow", "Alt+U"))
self.actionRandom_in_scale_in_cursor_plus_octave.setText(_translate("MainWindow", "Random in-scale in cursor plus octave (authentic mode)"))
self.actionRandom_in_scale_in_octave_around_cursor.setText(_translate("MainWindow", "Random in-scale in octave around cursor (hypo mode)"))
self.actionCreate_pool_from_selection.setText(_translate("MainWindow", "Create pool from selection"))
self.actionLyBarline.setText(_translate("MainWindow", "Barline"))
self.actionLyFree_Instruction.setText(_translate("MainWindow", "Free Instruction"))
self.actionLyRepeat.setText(_translate("MainWindow", "Repeat"))
self.actionZoom_In_Score_View.setText(_translate("MainWindow", "Zoom In Score View"))
self.actionZoom_In_Score_View.setShortcut(_translate("MainWindow", "Ctrl++"))
self.actionZoom_Out_Score_View.setText(_translate("MainWindow", "Zoom Out Score View"))
self.actionZoom_Out_Score_View.setShortcut(_translate("MainWindow", "Ctrl+-"))

465
qtgui/designer/mainwindow.ui

File diff suppressed because it is too large

28
qtgui/mainwindow.py

@ -32,6 +32,8 @@ from PyQt5 import QtWidgets, QtCore, QtGui
from template.qtgui.mainwindow import MainWindow as TemplateMainWindow
from template.qtgui.menu import Menu
from template.qtgui.about import About
translate = QtCore.QCoreApplication.translate
#Our modules
import engine.api as api
@ -60,19 +62,19 @@ class MainWindow(TemplateMainWindow):
#Do not start them all with "You can..." or "...that you can", in response to the Did you know? title.
#We use injection into the class and not a parameter because this dialog gets shown by creating an object. We can't give the parameters when this is shown via the mainWindow menu.
About.didYouKnow = [
QtCore.QCoreApplication.translate("About", "<p>Most commands work in the appending position (last position in a track) and apply to the item before it.</p><p>Use it to apply dots, sharps and flats on the item you just inserted without moving the cursor back and forth.</p>"),
QtCore.QCoreApplication.translate("About", "<p>Learn the keyboard shortcuts! Laborejo is designed to work with the keyboard alone and with midi instruments for full speed.</p>Everytime you grab your mouse you loose concentration, precision and time."),
QtCore.QCoreApplication.translate("About", "<p>Spread/shrink the space between notes with Ctrl+Shift+Mousewheel or Ctrl+Shift with Plus and Minus.</p>"),
QtCore.QCoreApplication.translate("About", "<p>Click with the left mouse button to set the cursor to that position. Hold Shift to create a selection.</p>"),
QtCore.QCoreApplication.translate("About", "<p>Most commands can be applied to single notes and selections equally.</p><p>Use Shift + movement-keys to create selections.</p>"),
QtCore.QCoreApplication.translate("About", "<p>Blocks and Tracks can be moved in Block-View Mode [F6]. Use Shift+Middle Mouse Button to move blocks and Alt+Middle to reorder tracks.</p>"),
QtCore.QCoreApplication.translate("About", "<p>There are no empty measures/bars.</p><p>Use Multi Measure Rests[R] instead. You need to have a metrical instruction for that [M].</p>"),
QtCore.QCoreApplication.translate("About", "<p>Many Music Items like clefs can only be inserted, not edited. They are however such simplistic that delete-and-reinsert is equally time-efficient.</p>"),
QtCore.QCoreApplication.translate("About", "<p>All notes should be considered non-transposing. Treat everything as 'in C'.</p><p>That said, there is a semitone transposition in the Track Properties [Ctrl+T].</p>"),
QtCore.QCoreApplication.translate("About", "<p>Upbeats/anacrusis can be set per-track in the Track Properties [Ctrl+T].</p>"),
QtCore.QCoreApplication.translate("About", "<p>There is no key-rebinding except numpad-shortcuts.</p>"),
QtCore.QCoreApplication.translate("About", "<p>Hidden tracks still output sound.</p>"),
QtCore.QCoreApplication.translate("About", "<p>Non-audible tracks still output instrument changes and CCs so that they can be switched on again in the middle of playback.</p>"),
translate("About", "<p>Most commands work in the appending position (last position in a track) and apply to the item before it.</p><p>Use it to apply dots, sharps and flats on the item you just inserted without moving the cursor back and forth.</p>"),
translate("About", "<p>Learn the keyboard shortcuts! Laborejo is designed to work with the keyboard alone and with midi instruments for full speed.</p>Everytime you grab your mouse you loose concentration, precision and time."),
translate("About", "<p>Spread/shrink the space between notes with Ctrl+Shift+Mousewheel or Ctrl+Shift with Plus and Minus.</p>"),
translate("About", "<p>Click with the left mouse button to set the cursor to that position. Hold Shift to create a selection.</p>"),
translate("About", "<p>Most commands can be applied to single notes and selections equally.</p><p>Use Shift + movement-keys to create selections.</p>"),
translate("About", "<p>Blocks and Tracks can be moved in Block-View Mode [F6]. Use Shift+Middle Mouse Button to move blocks and Alt+Middle to reorder tracks.</p>"),
translate("About", "<p>There are no empty measures/bars.</p><p>Use Multi Measure Rests[R] instead. You need to have a metrical instruction for that [M].</p>"),
translate("About", "<p>Many Music Items like clefs can only be inserted, not edited. They are however such simplistic that delete-and-reinsert is equally time-efficient.</p>"),
translate("About", "<p>All notes should be considered non-transposing. Treat everything as 'in C'.</p><p>That said, there is a semitone transposition in the Track Properties [Ctrl+T].</p>"),
translate("About", "<p>Upbeats/anacrusis can be set per-track in the Track Properties [Ctrl+T].</p>"),
translate("About", "<p>There is no key-rebinding except numpad-shortcuts.</p>"),
translate("About", "<p>Hidden tracks still output sound.</p>"),
translate("About", "<p>Non-audible tracks still output instrument changes and CCs so that they can be switched on again in the middle of playback.</p>"),
] + About.didYouKnow
super().__init__()

25
qtgui/menu.py

@ -26,6 +26,7 @@ from pathlib import Path
#Third Party Modules
from PyQt5 import QtCore, QtGui, QtWidgets
translate = QtCore.QCoreApplication.translate
#Template Modules
@ -298,9 +299,9 @@ class MenuActionDatabase(object):
#Lilypond
#Print and Export is in self.actions
self.mainWindow.ui.actionLyBarline: ChooseOne(self.mainWindow, "Choose a Barline", api.getLilypondBarlineList()),
self.mainWindow.ui.actionLyRepeat: ChooseOne(self.mainWindow, "Choose a Repeat", api.getLilypondRepeatList()),
self.mainWindow.ui.actionLyFree_Instruction: lambda: forwardText(self.mainWindow, "Enter Instruction", api.lilypondText),
self.mainWindow.ui.actionLyBarline: ChooseOne(self.mainWindow, translate("menu", "Choose a Barline"), api.getLilypondBarlineList()),
self.mainWindow.ui.actionLyRepeat: ChooseOne(self.mainWindow, translate("menu", "Choose a Repeat"), api.getLilypondRepeatList()),
self.mainWindow.ui.actionLyFree_Instruction: lambda: forwardText(self.mainWindow, translate("menu", "Enter Instruction"), api.lilypondText),
}
self.modalActions = { #these are only available in Note Edit Mode, not in CC Edit Mode etc.
@ -461,23 +462,23 @@ class MenuActionDatabase(object):
def renameUndoRedoByHistory(self, undoList, redoList):
if undoList:
self.mainWindow.ui.actionUndo.setText("Undo: {}".format(undoList[-1]))
self.mainWindow.ui.actionUndo.setText(translate("menu", "Undo: {}").format(undoList[-1]))
self.mainWindow.ui.actionUndo.setEnabled(True)
else:
self.mainWindow.ui.actionUndo.setText("Undo")
self.mainWindow.ui.actionUndo.setText(translate("menu", "Undo"))
self.mainWindow.ui.actionUndo.setEnabled(False)
if redoList:
self.mainWindow.ui.actionRedo.setText("Redo: {}".format(redoList[-1]))
self.mainWindow.ui.actionRedo.setText(translate("menu", "Redo: {}").format(redoList[-1]))
self.mainWindow.ui.actionRedo.setEnabled(True)
else:
self.mainWindow.ui.actionRedo.setText("Redo")
self.mainWindow.ui.actionRedo.setText(translate("menu", "Redo"))
self.mainWindow.ui.actionRedo.setEnabled(False)
def exportLy(self):
lastExportDirectory = api.session.guiSharedDataToSave["lastExportDirectory"] if "lastExportDirectory" in api.session.guiSharedDataToSave else str(Path.home())
filename = QtWidgets.QFileDialog.getSaveFileName(self.mainWindow, "Export Lilypond Source File", lastExportDirectory, "Lilypond Source (*.ly)")
filename = QtWidgets.QFileDialog.getSaveFileName(self.mainWindow, translate("menu", "Export Lilypond Source File"), lastExportDirectory, translate("menu", "Lilypond Source (*.ly)"))
filename = filename[0] #(path, filter)
if filename:
if not os.path.splitext(filename)[1]: #no file extension given?
@ -502,7 +503,7 @@ class ToolBarCCType(QtWidgets.QSpinBox):
class ToolBarSnapToGrid(QtWidgets.QCheckBox):
def __init__(self, mainWindow):
super().__init__("Snap to Grid")
super().__init__(translate("menu", "Snap to Grid"))
self.setStatus()
self.stateChanged.connect(self.changed)
@ -534,7 +535,7 @@ class ToolBarMetronome(QtWidgets.QCheckBox):
There is also the menu actionMetronome_Enabled , itself a normal checkbox. It's callback and
state are handled in the menuDatabase classes init."""
def __init__(self, mainWindow):
super().__init__("Metronome")
super().__init__(translate("menu", "Metronome"))
self.setStatus()
self.stateChanged.connect(self.changed)
api.callbacks.metronomeChanged.append(self.updateFromCallback)
@ -558,7 +559,7 @@ class ToolBarMetronome(QtWidgets.QCheckBox):
self.blockSignals(True)
self.setStatus()
assert self.isChecked() == exportDict["enabled"], (self.isChecked(), exportDict["enabled"])
self.setText("Metronome: " + exportDict["label"])
self.setText(translate("menu", "Metronome:") + " " + exportDict["label"])
self.blockSignals(False)
def changed(self, value):
@ -572,7 +573,7 @@ class ToolBarPlaybackSpeed(QtWidgets.QDoubleSpinBox):
self.setDecimals(1)
self.setValue(api.currentTempoScalingFactor())
self.setSingleStep(0.1)
self.setPrefix("Tempo ×") #yes, this is the unicode multiplication sign × and not an x
self.setPrefix(translate("menu", "Tempo ×")) #yes, this is the unicode multiplication sign × and not an x
api.callbacks.tempoScalingChanged.append(self.updateFromCallback)
self.valueChanged.connect(self.changed)
self.setLineEdit(ToolBarPlaybackSpeed.CustomLineEdit())

27
qtgui/musicstructures.py

@ -27,6 +27,7 @@ from math import log
#Third party
from PyQt5 import QtCore, QtGui, QtWidgets
translate = QtCore.QCoreApplication.translate
#Template
from template.qtgui.helper import stringToColor
@ -80,12 +81,12 @@ class GuiBlockHandle(QtWidgets.QGraphicsRectItem):
"""
if self.staticExportItem["completeDuration"] >= api.D1: #cosmetics
self.startLabel = QtWidgets.QGraphicsSimpleTextItem(self.staticExportItem["name"] + " start")
self.startLabel = QtWidgets.QGraphicsSimpleTextItem(self.staticExportItem["name"] + translate("musicstructures", " start"))
self.startLabel.setParentItem(self)
self.startLabel.setPos(0, constantsAndConfigs.stafflineGap)
self.startLabel.setFlags(QtWidgets.QGraphicsItem.ItemIgnoresParentOpacity)
self.endLabel = QtWidgets.QGraphicsSimpleTextItem(self.staticExportItem["name"] + " end ")
self.endLabel = QtWidgets.QGraphicsSimpleTextItem(self.staticExportItem["name"] + translate("musicstructures", " end "))
self.endLabel.setParentItem(self)
self.endLabel.setPos(self.rect().width() - self.endLabel.boundingRect().width(), constantsAndConfigs.stafflineGap)
self.endLabel.setFlags(QtWidgets.QGraphicsItem.ItemIgnoresParentOpacity)
@ -147,17 +148,17 @@ class GuiBlockHandle(QtWidgets.QGraphicsRectItem):
def contextMenuEvent(self, event):
if self.startLabel.isVisible():
listOfLabelsAndFunctions = [
("edit properties", lambda: BlockPropertiesEdit(self.scene().parentView.mainWindow, staticExportItem = self.staticExportItem)),
(translate("musicstructures", "edit properties"), lambda: BlockPropertiesEdit(self.scene().parentView.mainWindow, staticExportItem = self.staticExportItem)),
("separator", None),
#("split here", lambda: self.splitHere(event)),
("duplicate", lambda: api.duplicateBlock(self.staticExportItem["id"])),
("create content link", lambda: api.duplicateContentLinkBlock(self.staticExportItem["id"])),
("unlink", lambda: api.unlinkBlock(self.staticExportItem["id"])),
(translate("musicstructures", "duplicate"), lambda: api.duplicateBlock(self.staticExportItem["id"])),
(translate("musicstructures", "create content link"), lambda: api.duplicateContentLinkBlock(self.staticExportItem["id"])),
(translate("musicstructures", "unlink"), lambda: api.unlinkBlock(self.staticExportItem["id"])),
("separator", None),
("join with next block", lambda: api.joinBlockWithNext(self.staticExportItem["id"])),
("delete block", lambda: api.deleteBlock(self.staticExportItem["id"])),
(translate("musicstructures", "join with next block"), lambda: api.joinBlockWithNext(self.staticExportItem["id"])),
(translate("musicstructures", "delete block"), lambda: api.deleteBlock(self.staticExportItem["id"])),
("separator", None),
("append block at the end", lambda: api.appendBlock(self.parent.staticExportItem["id"])),
(translate("musicstructures", "append block at the end"), lambda: api.appendBlock(self.parent.staticExportItem["id"])),
]
callContextMenu(listOfLabelsAndFunctions)
else:
@ -212,7 +213,7 @@ class GuiTrack(QtWidgets.QGraphicsItem):
#Add one central "Create new CC Path" button which is for all non-existing CC Paths of this track and reacte to the current constantsAndConfig.ccValue
#This button is not in the CCPath object because those only get created for existing backend-CCs.
self.universalCreateFirstCCBlock = QtWidgets.QGraphicsSimpleTextItem("Create CC Path")
self.universalCreateFirstCCBlock = QtWidgets.QGraphicsSimpleTextItem(translate("musicstructures", "Create CC Path"))
self.universalCreateFirstCCBlock.setFlag(QtWidgets.QGraphicsItem.ItemIgnoresParentOpacity) #toggle between edit modes not only hides stuff but the track itself gets 10% opacity. We want to avoid it for this item.
self.universalCreateFirstCCBlock.mousePressEvent = lambda mouseEvent: api.newGraphTrackCC(trId = self.staticExportItem["id"], cc = constantsAndConfigs.ccViewValue) #trigger callback to self.syncCCsToBackend
self.universalCreateFirstCCBlock.setParentItem(self)
@ -229,8 +230,8 @@ class GuiTrack(QtWidgets.QGraphicsItem):
self.setParentItem(parent)
def _editName(self):
result = QtWidgets.QInputDialog.getText(self.scene().parentView, "Track Name", #dialog title
"Set Track Name for {}".format(self.parent.staticExportItem["id"]), #label
result = QtWidgets.QInputDialog.getText(self.scene().parentView, translate("musicstructures", "Track Name"), #dialog title
translate("musicstructures", "Set Track Name for {}").format(self.parent.staticExportItem["id"]), #label
QtWidgets.QLineEdit.Normal,
self.parent.staticExportItem["name"]
)
@ -238,7 +239,7 @@ class GuiTrack(QtWidgets.QGraphicsItem):
api.setTrackName(self.parent.staticExportItem["id"], nameString = result[0], initialInstrumentName = self.parent.staticExportItem["initialInstrumentName"], initialShortInstrumentName = self.parent.staticExportItem["initialShortInstrumentName"]) #keep the old lilypond names
def contextMenuEvent(self, event):
listOfLabelsAndFunctions = [ ("edit name", self._editName), ]
listOfLabelsAndFunctions = [ (translate("musicstructures", "edit name"), self._editName), ]
callContextMenu(listOfLabelsAndFunctions)
event.accept()

11143
qtgui/resources.py

File diff suppressed because it is too large

2
qtgui/resources/translations/config.pro

@ -1,2 +1,2 @@
SOURCES = ../../mainwindow.py ../../designer/mainwindow.py
SOURCES = ../../mainwindow.py ../../designer/mainwindow.py ../../submenus.py ../../musicstructures.py ../../menu.py ../../items.py ../../graphs.py ../../conductor.py ../../trackEditor.py ../../designer/trackWidget.py
TRANSLATIONS = de.ts

BIN
qtgui/resources/translations/de.qm

Binary file not shown.

1262
qtgui/resources/translations/de.ts

File diff suppressed because it is too large

1
qtgui/scorescene.py

@ -24,7 +24,6 @@ import logging; logging.info("import {}".format(__file__))
#Standard Library
#Third party
from PyQt5 import QtCore, QtGui, QtWidgets

89
qtgui/submenus.py

@ -20,16 +20,25 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import logging; logging.info("import {}".format(__file__))
#Standard Library
from sys import maxsize
#Third party
from PyQt5 import QtCore, QtGui, QtWidgets
translate = QtCore.QCoreApplication.translate
import engine.api as api
#Template
import template.engine.pitch as pitch
from template.qtgui.helper import QHLine
from template.qtgui.submenus import *
#Our own files
import engine.api as api
from .constantsAndConfigs import constantsAndConfigs
from .designer.tickWidget import Ui_tickWidget
from sys import maxsize
class CombinedTickWidget(QtWidgets.QFrame):
def __init__(self):
@ -148,17 +157,17 @@ class TickWidget(QtWidgets.QDialog):
class SecondaryClefMenu(Submenu):
clefs = [("[1] Treble", lambda: api.insertClef("treble")),
("[2] Bass", lambda: api.insertClef("bass")),
("[3] Alto", lambda: api.insertClef("alto")),
("[4] Drum", lambda: api.insertClef("percussion")),
("[5] Treble ^8 ", lambda: api.insertClef("treble^8")),
("[6] Treble _8 ", lambda: api.insertClef("treble_8")),
("[7] Bass _8 ", lambda: api.insertClef("bass_8")),
clefs = [(translate("submenus", "[1] Treble"), lambda: api.insertClef("treble")),
(translate("submenus", "[2] Bass"), lambda: api.insertClef("bass")),
(translate("submenus", "[3] Alto"), lambda: api.insertClef("alto")),
(translate("submenus", "[4] Drum"), lambda: api.insertClef("percussion")),
(translate("submenus", "[5] Treble ^8"), lambda: api.insertClef("treble^8")),
(translate("submenus", "[6] Treble _8"), lambda: api.insertClef("treble_8")),
(translate("submenus", "[7] Bass _8"), lambda: api.insertClef("bass_8")),
]
def __init__(self, mainWindow):
super().__init__(mainWindow, "choose a clef")
super().__init__(mainWindow, translate("submenus", "choose a clef"))
for number, (prettyname, function) in enumerate(SecondaryClefMenu.clefs):
button = QtWidgets.QPushButton(prettyname)
@ -180,7 +189,7 @@ class SecondarySplitMenu(Submenu):
]
def __init__(self, mainWindow):
super().__init__(mainWindow, "split chord in")
super().__init__(mainWindow, translate("submenus", "split chord in"))
for number, (prettyname, function) in enumerate(SecondarySplitMenu.splits):
button = QtWidgets.QPushButton(prettyname)
@ -192,7 +201,7 @@ class SecondarySplitMenu(Submenu):
class SecondaryKeySignatureMenu(Submenu):
def __init__(self, mainWindow):
super().__init__(mainWindow, "root note is the cursor position")
super().__init__(mainWindow, translate("submenus", "root note is the cursor position"))
l = [("[{}] {}".format(num+1, modeString.title()), lambda r, modeString=modeString: api.insertCursorCommonKeySignature(modeString)) for num, modeString in enumerate(api.commonKeySignaturesAsList())]
for number, (prettyname, function) in enumerate(l):
@ -204,8 +213,8 @@ class SecondaryKeySignatureMenu(Submenu):
class SecondaryDynamicsMenu(Submenu):
def __init__(self, mainWindow):
super().__init__(mainWindow, "choose a dynamic")
button = QtWidgets.QPushButton("[r] Ramp")
super().__init__(mainWindow, translate("submenus", "choose a dynamic"))
button = QtWidgets.QPushButton(translate("submenus", "[r] Ramp"))
button.setShortcut(QtGui.QKeySequence("r"))
self.layout.addWidget(button)
button.clicked.connect(api.insertDynamicRamp)
@ -222,7 +231,7 @@ class SecondaryDynamicsMenu(Submenu):
class SecondaryMetricalInstructionMenu(Submenu):
def __init__(self, mainWindow):
super().__init__(mainWindow, "choose a metrical instruction")
super().__init__(mainWindow, translate("submenus", "choose a metrical instruction"))
l = [("[{}] {}".format(num+1, modeString), lambda r, modeString=modeString: api.insertCommonMetricalInstrucions(modeString)) for num, modeString in enumerate(api.commonMetricalInstructionsAsList())]
@ -242,7 +251,7 @@ class SecondaryTempoChangeMenu(Submenu):
def __init__(self, mainWindow, staticExportTempoItem = None):
super().__init__(mainWindow, "choose units per minute, reference note, graph type")
super().__init__(mainWindow, translate("submenus", "choose units per minute, reference note, graph type"))
self.mainWindow = mainWindow
self.staticExportTempoItem = staticExportTempoItem
@ -291,7 +300,7 @@ class SecondaryTemporaryTempoChangeMenu(Submenu):
lastCustomValue = 0.42
def __init__(self, mainWindow):
super().__init__(mainWindow, "[enter] to use value")
super().__init__(mainWindow, translate("submenus", "[enter] to use value"))
self.spinbox = QtWidgets.QDoubleSpinBox()
self.spinbox.setValue(SecondaryTemporaryTempoChangeMenu.lastCustomValue)
@ -314,16 +323,16 @@ class BlockPropertiesEdit(Submenu):
self.mainWindow = mainWindow
self.staticExportItem = staticExportItem
self.layout.insertRow(0, QtWidgets.QLabel("edit block #{}".format(staticExportItem["id"])))
self.layout.insertRow(0, QtWidgets.QLabel(translate("submenus", "edit block #{}").format(staticExportItem["id"])))
self.name = QtWidgets.QLineEdit(self.staticExportItem["name"])
self.name.selectAll()
self.layout.addRow("name", self.name)
self.layout.addRow(translate("submenus", "name"), self.name)
#self.minimumInTicks = QtWidgets.QSpinBox()
self.minimumInTicks = CombinedTickWidget()
self.minimumInTicks.setValue(self.staticExportItem["minimumInTicks"])
self.layout.addRow("minimum in ticks", self.minimumInTicks)
self.layout.addRow(translate("submenus", "minimum in ticks"), self.minimumInTicks)
self.__call__()
@ -342,15 +351,15 @@ class TempoBlockPropertiesEdit(Submenu):
self.mainWindow = mainWindow
self.staticExportItem = staticExportItem
self.layout.insertRow(0, QtWidgets.QLabel("edit block #{}".format(staticExportItem["id"])))
self.layout.insertRow(0, QtWidgets.QLabel(translate("submenus", "edit block #{}").format(staticExportItem["id"])))
self.name = QtWidgets.QLineEdit(self.staticExportItem["name"])
self.name.selectAll()
self.layout.addRow("name", self.name)
self.layout.addRow(translate("submenus", "name"), self.name)
self.duration = CombinedTickWidget()
self.duration.setValue(self.staticExportItem["duration"])
self.layout.addRow("duration in ticks", self.duration)
self.layout.addRow(translate("submenus", "duration in ticks"), self.duration)
self.__call__()
@ -364,11 +373,11 @@ class TempoBlockPropertiesEdit(Submenu):
class TransposeMenu(Submenu):
def __init__(self, mainWindow, what):
super().__init__(mainWindow, "Transpose {}".format(what.title()), hasOkCancelButtons=True)
super().__init__(mainWindow, translate("submenus", "Transpose {}").format(what.title()), hasOkCancelButtons=True)
assert what in ("item", "score")
self.what = what
self.layout.insertRow(0, QtWidgets.QLabel("Construct Interval from relative distance"))
self.layout.insertRow(0, QtWidgets.QLabel(translate("submenus", "Construct Interval from relative distance")))
self.fromNote = QtWidgets.QComboBox()
self.fromNote.addItems(pitch.sortedNoteNameList)
@ -397,9 +406,9 @@ class TransposeMenu(Submenu):
class SecondaryProperties(Submenu):
def __init__(self, mainWindow):
"""Directly edits the backend score meta data. There is no api and no callbacks"""
super().__init__(mainWindow, "Meta Data", hasOkCancelButtons=True)
super().__init__(mainWindow, translate("submenus", "Meta Data"), hasOkCancelButtons=True)
dictionary = api.getMetadata()
dictionary = api.getMetadata() #TOOD: untranslated to keep relation to lilypond?
test = set(type(key) for key in dictionary.keys())
assert len(test) == 1
@ -456,7 +465,7 @@ class SecondaryProgramChangeMenu(Submenu):
lastLsbValue = 0
def __init__(self, mainWindow):
super().__init__(mainWindow, "Instrument Change")
super().__init__(mainWindow, translate("submenus", "Instrument Change"))
self.program = QtWidgets.QSpinBox()
self.program.setValue(type(self).lastProgramValue)
@ -466,15 +475,15 @@ class SecondaryProgramChangeMenu(Submenu):
self.lsb.setValue(type(self).lastLsbValue)
self.shortInstrumentName = QtWidgets.QLineEdit()
for label, spinbox in (("Program", self.program), ("Bank MSB", self.msb), ("Bank LSB", self.lsb)):
for label, spinbox in ((translate("submenus", "Program"), self.program), (translate("submenus", "Bank MSB"), self.msb), (translate("submenus", "Bank LSB"), self.lsb)):
spinbox.setMinimum(0)
spinbox.setMaximum(127)
spinbox.setSingleStep(1)
self.layout.addRow(label, spinbox)
self.layout.addRow("Short Name", self.shortInstrumentName)
self.layout.addRow(translate("submenus", "Short Name"), self.shortInstrumentName)
self.insert = QtWidgets.QPushButton("Insert")
self.insert = QtWidgets.QPushButton(translate("submenus", "Insert"))
self.insert.clicked.connect(self.process)
self.layout.addWidget(self.insert)
@ -495,16 +504,16 @@ class SecondaryChannelChangeMenu(Submenu):
lastCustomValue = 0
def __init__(self, mainWindow):
super().__init__(mainWindow, "Channel Change 1-16. [enter] to use value")
super().__init__(mainWindow, translate("submenus", "Channel Change 1-16. [enter] to use value"))
self.spinbox = QtWidgets.QSpinBox()
self.spinbox.setValue(type(self).lastCustomValue)
self.spinbox.setMinimum(1)
self.spinbox.setMaximum(16)
self.spinbox.setSingleStep(1)
self.layout.addRow("Channel", self.spinbox)
self.layout.addRow(translate("submenus", "Channel"), self.spinbox)
self.name = QtWidgets.QLineEdit()
self.layout.addRow("Text", self.name)
self.layout.addRow(translate("submenus", "Text"), self.name)
def process(self):
v = self.spinbox.value()
@ -519,17 +528,17 @@ class GridRhytmEdit(Submenu):
self.mainWindow = mainWindow
self.layout.insertRow(0, QtWidgets.QLabel("Edit Grid"))
self.layout.insertRow(0, QtWidgets.QLabel(translate("submenus", "Edit Grid")))
self.duration = CombinedTickWidget()
self.duration.setValue(constantsAndConfigs.gridRhythm)
self.layout.addRow("duration in ticks", self.duration)
self.layout.addRow(translate("submenus", "duration in ticks"), self.duration)
self.opacity = QtWidgets.QSlider(QtCore.Qt.Horizontal)
self.opacity.setMinimum(0)
self.opacity.setMaximum(50)
self.opacityLabel = QtWidgets.QLabel("opacity: {}%".format(int(constantsAndConfigs.gridOpacity * 100)))
self.opacityLabel = QtWidgets.QLabel(translate("submenus", "opacity: {}%").format(int(constantsAndConfigs.gridOpacity * 100)))
self.layout.addRow(self.opacityLabel, self.opacity)
self.opacity.valueChanged.connect(lambda: self.opacityLabel.setText("opacity: {}%".format(self.opacity.value())))
self.opacity.valueChanged.connect(lambda: self.opacityLabel.setText(translate("submenus", "opacity: {}%").format(self.opacity.value())))
self.opacity.setValue(int(constantsAndConfigs.gridOpacity * 100))
self.opacity.valueChanged.connect(lambda: self.mainWindow.scoreView.scoreScene.grid.setOpacity(self.opacity.value() / 100)) #only react to changes after the initial value was set.
self.__call__()
@ -554,9 +563,9 @@ class GridRhytmEdit(Submenu):
def pedalNoteChooser(mainWindow):
try:
constantsAndConfigs.realNotesStrings[constantsAndConfigs.realNotesValues.index(constantsAndConfigs.gridRhythm)+1]
rhythmString = QtWidgets.QInputDialog.getItem(mainWindow, "Insert Pedal Notes", "Use duration as base", constantsAndConfigs.realNotesStrings, constantsAndConfigs.realNotesValues.index(constantsAndConfigs.gridRhythm)+1, False)
rhythmString = QtWidgets.QInputDialog.getItem(mainWindow, translate("submenus", "Insert Pedal Notes"), translate("submenus", "Use duration as base"), constantsAndConfigs.realNotesStrings, constantsAndConfigs.realNotesValues.index(constantsAndConfigs.gridRhythm)+1, False)
except IndexError:
rhythmString = QtWidgets.QInputDialog.getItem(mainWindow, "Insert Pedal Notes", "Use duration as base", constantsAndConfigs.realNotesStrings, constantsAndConfigs.realNotesValues.index(constantsAndConfigs.gridRhythm), False)
rhythmString = QtWidgets.QInputDialog.getItem(mainWindow, translate("submenus", "Insert Pedal Notes"), translate("submenus", "Use duration as base"), constantsAndConfigs.realNotesStrings, constantsAndConfigs.realNotesValues.index(constantsAndConfigs.gridRhythm), False)
if rhythmString[1]: #bool. Canceled?

22
qtgui/trackEditor.py

@ -22,10 +22,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging; logging.info("import {}".format(__file__))
from PyQt5 import QtWidgets, QtCore, QtGui
from .designer.trackWidget import Ui_trackGroupWidget
from .constantsAndConfigs import constantsAndConfigs
#Standard Library
#Third party
from PyQt5 import QtCore, QtGui, QtWidgets
translate = QtCore.QCoreApplication.translate
#Template
from template.helper import pairwise
#Our own files
from .constantsAndConfigs import constantsAndConfigs
from .designer.trackWidget import Ui_trackGroupWidget
from .submenus import TickWidget, CombinedTickWidget
from contextlib import contextmanager
import engine.api as api
@ -296,6 +304,8 @@ class TrackWidget(QtWidgets.QGroupBox):
#Engine from 0 to 15, GUI from 1 to 16.
self.ccChannels[i+1].setChecked(i in trackExportObject["ccChannels"]) #a checkbox widget.
class TrackEditor(QtWidgets.QWidget):
"""Created by ControlMainWindow. One permanent instance"""
def __init__(self, mainWindow):
@ -318,18 +328,18 @@ class TrackEditor(QtWidgets.QWidget):
self.allUpbeatsCombinedTickWidget = CombinedTickWidget()
allUpbeatsPushButton = QtWidgets.QPushButton("set all upbeats")
allUpbeatsPushButton = QtWidgets.QPushButton(translate("trackEditorPythonFile", "set all upbeats"))
allUpbeatsPushButton.clicked.connect(self.setAllUpbeats) #gets the value itself
allUpbeatsLayout.addWidget(self.allUpbeatsCombinedTickWidget)
allUpbeatsLayout.addWidget(allUpbeatsPushButton)
#Reset all Advanced Views
foldAllAdvanvced = QtWidgets.QPushButton("fold all advanced")
foldAllAdvanvced = QtWidgets.QPushButton(translate("trackEditorPythonFile", "fold all advanced"))
foldAllAdvanvced.clicked.connect(self.foldAllAdvanvced)
allUpbeatsLayout.addWidget(foldAllAdvanvced)
unfoldAllAdvanvced = QtWidgets.QPushButton("unfold all advanced")
unfoldAllAdvanvced = QtWidgets.QPushButton(translate("trackEditorPythonFile", "unfold all advanced"))
unfoldAllAdvanvced.clicked.connect(self.unfoldAllAdvanced)
allUpbeatsLayout.addWidget(unfoldAllAdvanvced)

Loading…
Cancel
Save