Browse Source

Add view options to maximize editor areas

master
Nils 3 years ago
parent
commit
5ee3937222
  1. 51
      qtgui/mainwindow.py
  2. 88
      qtgui/resources.py
  3. BIN
      qtgui/resources/translations/de.qm
  4. 187
      qtgui/resources/translations/de.ts

51
qtgui/mainwindow.py

@ -38,6 +38,8 @@ from .timeline import Timeline
from .pattern_grid import PatternGrid, VelocityControls, TransposeControls
from .resources import *
MAX_QT_SIZE = 2147483647-1
class MainWindow(TemplateMainWindow):
#Undo/Redo translations by matching strings from the api
@ -116,16 +118,7 @@ class MainWindow(TemplateMainWindow):
super().__init__()
#New menu entries and template-menu overrides
self.menu.addMenuEntry(
"menuEdit",
"actionConvertSubdivisions",
QtCore.QCoreApplication.translate("Menu", "Convert Grouping"),
self.convertSubdivisionsSubMenu,
tooltip=QtCore.QCoreApplication.translate("Menu", "Change step-grouping but keep your music the same"),
)
#self.ui.actionUndo.setVisible(False)
#self.ui.actionRedo.setVisible(False)
self.createMenu() # in its own function for readability
#Playback Controls
@ -593,6 +586,40 @@ class MainWindow(TemplateMainWindow):
error= ("fail", "delete", "merge")[s.errorHandling.currentIndex()]
api.convert_subdivisions(value, error)
#Override template functions
def _stretchXCoordinates(*args): pass
def _stretchXCoordinates(*args): pass #Override template function
def maximizeSongArea(self):
self.ui.patternArea.setMinimumSize(1, 1)
self.ui.splitter.setSizes([MAX_QT_SIZE, 1])
def maximizePatternArea(self):
self.ui.songArea.setMinimumSize(1, 1)
self.ui.splitter.setSizes([1, MAX_QT_SIZE])
def equalizeSongPatternAreas(self):
self.ui.splitter.setSizes([1,1])
def createMenu(self):
#We have undo/redo since v2.1. Template menu entries were hidden before.
#self.ui.actionUndo.setVisible(False)
#self.ui.actionRedo.setVisible(False)
self.menu.addMenuEntry(
"menuEdit",
"actionConvertSubdivisions",
QtCore.QCoreApplication.translate("Menu", "Convert Grouping"),
self.convertSubdivisionsSubMenu,
tooltip=QtCore.QCoreApplication.translate("Menu", "Change step-grouping but keep your music the same"),
)
self.menu.addSubmenu("menuView", QtCore.QCoreApplication.translate("menu","View"))
self.menu.addMenuEntry("menuView", "actionMaximizeSongArea", QtCore.QCoreApplication.translate("menu", "Maximize Song Area"), self.maximizeSongArea)
self.menu.addMenuEntry("menuView", "actionMaximizePatternArea", QtCore.QCoreApplication.translate("menu", "Maximize Pattern Area"), self.maximizePatternArea)
self.menu.addMenuEntry("menuView", "actionEqualSizeSongPatternArea", QtCore.QCoreApplication.translate("menu", "Equal space for Pattern/Song Area"), self.equalizeSongPatternAreas)
#self.menu.addSeparator("menuEdit")
self.menu.orderSubmenus(["menuFile", "menuEdit", "menuView", "menuHelp", "menuDebug"])

88
qtgui/resources.py

@ -666,29 +666,31 @@ qt_resource_data = b"\
\x72\xf1\x7f\x41\x01\x80\x20\xe0\x89\xf9\x6d\x7c\xee\xfc\xe4\xd8\
\xcf\x61\x63\xe4\xfe\x02\x9c\xf5\xa3\xbb\x96\xa3\x3a\x87\x00\x00\
\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x47\xa7\
\x00\x00\x49\x25\
\x3c\
\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\xa7\
\x00\x00\x00\x05\x64\x65\x5f\x44\x45\x42\x00\x00\x04\x58\x00\x04\
\xe8\x26\x00\x00\x27\x2b\x00\x04\xf6\x35\x00\x00\x0e\xb9\x00\x39\
\x3c\xbe\x00\x00\x10\x84\x00\x40\x71\x74\x00\x00\x22\xe9\x00\x49\
\x3b\xc3\x00\x00\x21\x93\x00\x49\x43\x03\x00\x00\x32\x58\x00\x4b\
\xfe\xa8\x00\x00\x26\xf8\x00\x53\x81\x62\x00\x00\x23\x7a\x00\x54\
\x05\x62\x00\x00\x23\x9f\x00\x5a\xa8\xf5\x00\x00\x36\x89\x00\x5a\
\xc4\x6f\x00\x00\x1d\x83\x00\x5a\xe0\x47\x00\x00\x1d\x4e\x00\x5c\
\xab\xee\x00\x00\x28\x04\x00\x5d\xf6\x25\x00\x00\x27\xd3\x00\xbd\
\xce\x6c\x00\x00\x35\xaf\x01\x28\x89\xfb\x00\x00\x33\xbd\x01\x76\
\x00\x00\x00\x05\x64\x65\x5f\x44\x45\x42\x00\x00\x04\x78\x00\x04\
\xe8\x26\x00\x00\x27\x2b\x00\x04\xf6\x35\x00\x00\x0e\xb9\x00\x05\
\xcf\xc7\x00\x00\x44\x57\x00\x39\x3c\xbe\x00\x00\x10\x84\x00\x40\
\x71\x74\x00\x00\x22\xe9\x00\x49\x3b\xc3\x00\x00\x21\x93\x00\x49\
\x43\x03\x00\x00\x32\x58\x00\x4b\xfe\xa8\x00\x00\x26\xf8\x00\x53\
\x81\x62\x00\x00\x23\x7a\x00\x54\x05\x62\x00\x00\x23\x9f\x00\x5a\
\xa8\xf5\x00\x00\x36\x89\x00\x5a\xc4\x6f\x00\x00\x1d\x83\x00\x5a\
\xe0\x47\x00\x00\x1d\x4e\x00\x5c\xab\xee\x00\x00\x28\x04\x00\x5d\
\xf6\x25\x00\x00\x27\xd3\x00\xbd\xce\x6c\x00\x00\x35\xaf\x00\xc4\
\x12\x31\x00\x00\x43\x24\x01\x28\x89\xfb\x00\x00\x33\xbd\x01\x76\
\x1a\x2e\x00\x00\x0a\xa3\x01\x86\x51\x9b\x00\x00\x15\x2e\x01\xa4\
\x6c\x6e\x00\x00\x1e\x5f\x01\xdc\x66\xf0\x00\x00\x1f\xb9\x01\xed\
\x7d\xb3\x00\x00\x14\x95\x01\xff\xd1\xd5\x00\x00\x41\xf1\x02\x1d\
\x26\x98\x00\x00\x35\x39\x02\x55\x6a\xc3\x00\x00\x36\x11\x02\x5a\
\xa8\xf5\x00\x00\x37\x04\x02\x86\xcc\xc5\x00\x00\x36\xc4\x02\x87\
\x6c\xc5\x00\x00\x36\x49\x02\xbc\x2e\x9e\x00\x00\x3d\x6b\x02\xc1\
\x6b\x99\x00\x00\x3b\xa7\x02\xdf\xa5\xde\x00\x00\x33\x5e\x02\xf2\
\x1e\xee\x00\x00\x3f\xcc\x02\xfa\x58\xde\x00\x00\x01\xd4\x03\x40\
\xab\x34\x00\x00\x22\xb4\x03\x5a\x8f\x2e\x00\x00\x23\x1b\x03\x5f\
\x60\xe3\x00\x00\x0d\x29\x03\x5f\x60\xe3\x00\x00\x18\xa7\x03\x60\
\xdb\x3e\x00\x00\x1a\x39\x03\xa6\x57\xb7\x00\x00\x0d\x82\x03\xa7\
\x6c\xc5\x00\x00\x36\x49\x02\xab\x22\x91\x00\x00\x44\x02\x02\xbc\
\x2e\x9e\x00\x00\x3d\x6b\x02\xc1\x6b\x99\x00\x00\x3b\xa7\x02\xdf\
\xa5\xde\x00\x00\x33\x5e\x02\xf2\x1e\xee\x00\x00\x3f\xcc\x02\xfa\
\x58\xde\x00\x00\x01\xd4\x03\x40\xab\x34\x00\x00\x22\xb4\x03\x5a\
\x8f\x2e\x00\x00\x23\x1b\x03\x5f\x60\xe3\x00\x00\x0d\x29\x03\x5f\
\x60\xe3\x00\x00\x18\xa7\x03\x60\xdb\x3e\x00\x00\x1a\x39\x03\x68\
\x51\x81\x00\x00\x43\xaa\x03\xa6\x57\xb7\x00\x00\x0d\x82\x03\xa7\
\xc4\xae\x00\x00\x1c\xf5\x03\xd0\x12\x10\x00\x00\x11\xaa\x03\xf7\
\xab\x3b\x00\x00\x14\xe4\x03\xf7\xab\x3b\x00\x00\x34\x09\x04\x47\
\xc6\x13\x00\x00\x25\x3c\x04\x5b\x2f\x26\x00\x00\x0b\xef\x04\x5b\
@ -739,7 +741,7 @@ qt_resource_data = b"\
\x8d\x9e\x00\x00\x3e\x6b\x0f\x9f\xda\x1e\x00\x00\x24\x00\x0f\xab\
\xff\xa8\x00\x00\x27\x92\x0f\xbd\x25\xe4\x00\x00\x20\x36\x0f\xdd\
\x91\xc5\x00\x00\x0e\xf0\x0f\xe1\x24\xea\x00\x00\x38\x5a\x0f\xe6\
\xec\xc7\x00\x00\x2e\x3b\x69\x00\x00\x43\x24\x03\x00\x00\x01\x42\
\xec\xc7\x00\x00\x2e\x3b\x69\x00\x00\x44\x82\x03\x00\x00\x01\x42\
\x00\x4d\x00\x49\x00\x44\x00\x49\x00\x20\x00\x43\x00\x6f\x00\x6e\
\x00\x74\x00\x72\x00\x6f\x00\x6c\x00\x20\x00\x43\x00\x68\x00\x61\
\x00\x6e\x00\x67\x00\x65\x00\x73\x00\x20\x00\x28\x00\x43\x00\x43\
@ -1813,11 +1815,37 @@ qt_resource_data = b"\
\x65\x00\x72\x00\x75\x00\x6e\x00\x67\x08\x00\x00\x00\x00\x06\x00\
\x00\x00\x0c\x4e\x65\x77\x20\x47\x72\x6f\x75\x70\x69\x6e\x67\x07\
\x00\x00\x00\x1a\x63\x6f\x6e\x76\x65\x72\x74\x53\x75\x62\x64\x69\
\x76\x69\x73\x69\x6f\x6e\x73\x53\x75\x62\x4d\x65\x6e\x75\x01\x88\
\x00\x00\x00\x02\x01\x01\
\x76\x69\x73\x69\x6f\x6e\x73\x53\x75\x62\x4d\x65\x6e\x75\x01\x03\
\x00\x00\x00\x4c\x00\x47\x00\x6c\x00\x65\x00\x69\x00\x63\x00\x68\
\x00\x65\x00\x20\x00\x47\x00\x72\x00\xf6\x00\xdf\x00\x65\x00\x20\
\x00\x66\x00\xfc\x00\x72\x00\x20\x00\x46\x00\x6f\x00\x72\x00\x6d\
\x00\x2d\x00\x20\x00\x75\x00\x6e\x00\x64\x00\x20\x00\x54\x00\x61\
\x00\x6b\x00\x74\x00\x65\x00\x64\x00\x69\x00\x74\x00\x6f\x00\x72\
\x08\x00\x00\x00\x00\x06\x00\x00\x00\x21\x45\x71\x75\x61\x6c\x20\
\x73\x70\x61\x63\x65\x20\x66\x6f\x72\x20\x50\x61\x74\x74\x65\x72\
\x6e\x2f\x53\x6f\x6e\x67\x20\x41\x72\x65\x61\x07\x00\x00\x00\x04\
\x6d\x65\x6e\x75\x01\x03\x00\x00\x00\x2a\x00\x54\x00\x61\x00\x6b\
\x00\x74\x00\x65\x00\x64\x00\x69\x00\x74\x00\x6f\x00\x72\x00\x20\
\x00\x6d\x00\x61\x00\x78\x00\x69\x00\x6d\x00\x69\x00\x65\x00\x72\
\x00\x65\x00\x6e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\x4d\x61\
\x78\x69\x6d\x69\x7a\x65\x20\x50\x61\x74\x74\x65\x72\x6e\x20\x41\
\x72\x65\x61\x07\x00\x00\x00\x04\x6d\x65\x6e\x75\x01\x03\x00\x00\
\x00\x2a\x00\x46\x00\x6f\x00\x72\x00\x6d\x00\x65\x00\x64\x00\x69\
\x00\x74\x00\x6f\x00\x72\x00\x20\x00\x6d\x00\x61\x00\x78\x00\x69\
\x00\x6d\x00\x69\x00\x65\x00\x72\x00\x65\x00\x6e\x08\x00\x00\x00\
\x00\x06\x00\x00\x00\x12\x4d\x61\x78\x69\x6d\x69\x7a\x65\x20\x53\
\x6f\x6e\x67\x20\x41\x72\x65\x61\x07\x00\x00\x00\x04\x6d\x65\x6e\
\x75\x01\x03\x00\x00\x00\x0e\x00\x41\x00\x6e\x00\x73\x00\x69\x00\
\x63\x00\x68\x00\x74\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04\x56\
\x69\x65\x77\x07\x00\x00\x00\x04\x6d\x65\x6e\x75\x01\x88\x00\x00\
\x00\x02\x01\x01\
"
qt_resource_name = b"\
\x00\x0c\
\x0d\xfc\x11\x13\
\x00\x74\
\x00\x72\x00\x61\x00\x6e\x00\x73\x00\x6c\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x73\
\x00\x0b\
\x0a\xb8\x4e\xa7\
\x00\x66\
@ -1830,10 +1858,6 @@ qt_resource_name = b"\
\x08\x61\x82\x07\
\x00\x74\
\x00\x6f\x00\x73\x00\x74\x00\x61\x00\x72\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x0c\
\x0d\xfc\x11\x13\
\x00\x74\
\x00\x72\x00\x61\x00\x6e\x00\x73\x00\x6c\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x73\
\x00\x0d\
\x0b\x0f\xc0\xa7\
\x00\x61\
@ -1851,11 +1875,11 @@ qt_resource_name = b"\
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x8c\x00\x00\x00\x00\x00\x01\x00\x00\x25\x9e\
\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x02\x26\
\x00\x00\x00\x32\x00\x00\x00\x00\x00\x01\x00\x00\x07\x26\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x02\x26\
\x00\x00\x00\x50\x00\x00\x00\x00\x00\x01\x00\x00\x07\x26\
\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x66\
\x00\x00\x00\x4e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x07\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x07\
\x00\x00\x00\xac\x00\x00\x00\x00\x00\x01\x00\x00\x28\x5d\
"
@ -1864,18 +1888,18 @@ qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x8c\x00\x00\x00\x00\x00\x01\x00\x00\x25\x9e\
\x00\x00\x01\x77\x12\xbb\x0c\xa9\
\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x02\x26\
\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x02\x26\
\x00\x00\x01\x77\x12\xbb\x0c\xa9\
\x00\x00\x00\x32\x00\x00\x00\x00\x00\x01\x00\x00\x07\x26\
\x00\x00\x00\x50\x00\x00\x00\x00\x00\x01\x00\x00\x07\x26\
\x00\x00\x01\x77\x12\xbb\x0c\xa9\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x77\x12\xbb\x0c\xa5\
\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x66\
\x00\x00\x01\x77\x12\xbb\x0c\xa5\
\x00\x00\x00\x4e\x00\x02\x00\x00\x00\x01\x00\x00\x00\x07\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x07\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\xac\x00\x00\x00\x00\x00\x01\x00\x00\x28\x5d\
\x00\x00\x01\x77\x46\x00\xa4\x95\
\x00\x00\x01\x77\x46\x2d\xe7\x77\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]

BIN
qtgui/resources/translations/de.qm

Binary file not shown.

187
qtgui/resources/translations/de.ts

@ -4,32 +4,32 @@
<context>
<name>About</name>
<message>
<location filename="../../mainwindow.py" line="108"/>
<location filename="../../mainwindow.py" line="110"/>
<source>Prefer clone track over adding a new empty track when creating a new pattern for an existing &apos;real world&apos; instrument.</source>
<translation>Spuren zu klonen ist meist besser als eine neue, leere Spur zu erstellen. Benutze Klonen immer wenn du ein neues Pattern für ein existierendes Instrument komponieren möchtest.</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="109"/>
<location filename="../../mainwindow.py" line="111"/>
<source>You can run multiple Patroneo instances in parallel to create complex polyrhythms.</source>
<translation>Um komplexe Rhythmen zu erstellen versuche Patroneo mehrmals zu starten und verschiedene Taktarten einzustellen.</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="110"/>
<location filename="../../mainwindow.py" line="112"/>
<source>To revert all steps that are longer or shorter than default invert the pattern twice in a row.</source>
<translation>Alle gedehnten oder verkürzte Noten im Takt bekommst du am einfachsten zurück auf die normale Länge wenn du zweimal hintereinander die &amp;quot;Umkehren&amp;quot; Funktion benutzt.</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="111"/>
<location filename="../../mainwindow.py" line="113"/>
<source>Control a synth with MIDI Control Changes (CC) by routing a Patroneo track into a midi plugin that converts notes to CC.</source>
<translation>MIDI Control Changes (CC) werden nicht direkt von Patroneo erzeugt. Route eine Extraspur in ein Konverterplugin, dass aus Pitch und Velocity CC und Value macht.</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="112"/>
<location filename="../../mainwindow.py" line="114"/>
<source>The mouse wheel is very powerful: Use it to transpose measures (with or without Shift pressed), it resizes the measure number line, zooms when Ctrl is held down, changes row volumes in the pattern with the Alt key or sounds a preview if pressed on a step.</source>
<translation>Das Mausrad ist sehr wichtig: Es transponiert Takte (mit oder ohne Umschalttaste), verändert die Größe der Taktgruppen, zoomed wenn Strg gedrückt ist, ändert die Lautstärke einer ganzen Reihe zusammen mit der Alt-Taste oder lässt eine Note erklingen wenn man es auf einem Schritt drückt.</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="113"/>
<location filename="../../mainwindow.py" line="115"/>
<source>Many elements have context menus with unique functions: Try right clicking on a Step, the Track name or a measure in the song editor.</source>
<translation>Die meisten Bedienelemente haben ein Kontextmenü. Versuche auf alles mit der rechten Maustaste zu klicken: Schritte, Takte, der Spurname etc.</translation>
</message>
@ -93,12 +93,12 @@
<context>
<name>Menu</name>
<message>
<location filename="../../mainwindow.py" line="119"/>
<location filename="../../mainwindow.py" line="610"/>
<source>Convert Grouping</source>
<translation>Gruppierung umwandeln</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="119"/>
<location filename="../../mainwindow.py" line="610"/>
<source>Change step-grouping but keep your music the same</source>
<translation>Taktartaufspaltung durch Gruppierung umwandeln, versucht die Musik gleich klingen zu lassen</translation>
</message>
@ -106,227 +106,227 @@
<context>
<name>NOOPengineHistory</name>
<message>
<location filename="../../mainwindow.py" line="44"/>
<location filename="../../mainwindow.py" line="46"/>
<source>Tempo</source>
<translation>Tempo</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="45"/>
<location filename="../../mainwindow.py" line="47"/>
<source>Group Duration</source>
<translation>Gruppierungsdauer</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="46"/>
<location filename="../../mainwindow.py" line="48"/>
<source>Steps per Pattern</source>
<translation>Schritte pro Takt</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="47"/>
<location filename="../../mainwindow.py" line="49"/>
<source>Group Size</source>
<translation>Gruppengröße</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="48"/>
<location filename="../../mainwindow.py" line="50"/>
<source>Convert Grouping</source>
<translation>Gruppierung umwandeln</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="49"/>
<location filename="../../mainwindow.py" line="51"/>
<source>Swing</source>
<translation>Swing</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="50"/>
<location filename="../../mainwindow.py" line="52"/>
<source>Measures per Track</source>
<translation>Takte pro Spur</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="51"/>
<location filename="../../mainwindow.py" line="53"/>
<source>Measures per Group</source>
<translation>Takte pro Gruppe</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="52"/>
<location filename="../../mainwindow.py" line="54"/>
<source>Track Name</source>
<translation>Spurname</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="53"/>
<location filename="../../mainwindow.py" line="55"/>
<source>Track Color</source>
<translation>Spurfarbe</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="54"/>
<location filename="../../mainwindow.py" line="56"/>
<source>Track Midi Channel</source>
<translation>Spur Midikanal</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="55"/>
<location filename="../../mainwindow.py" line="57"/>
<source>Add Track</source>
<translation>Neue Spur</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="56"/>
<location filename="../../mainwindow.py" line="58"/>
<source>Clone Track</source>
<translation>Spur klonen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="57"/>
<location filename="../../mainwindow.py" line="59"/>
<source>Add deleted Track again</source>
<translation>Gelöschte Spur wieder hinzufügen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="58"/>
<location filename="../../mainwindow.py" line="60"/>
<source>Delete Track and autocreated Track</source>
<translation>Lösche Spur und automatische Ersatzspur</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="59"/>
<location filename="../../mainwindow.py" line="61"/>
<source>Delete Track</source>
<translation>Spur löschen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="60"/>
<location filename="../../mainwindow.py" line="62"/>
<source>Move Track</source>
<translation>Spur bewegen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="61"/>
<location filename="../../mainwindow.py" line="63"/>
<source>Pattern Multiplier</source>
<translation>Takt-Skalierung</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="62"/>
<location filename="../../mainwindow.py" line="64"/>
<source>Set Measures</source>
<translation>Setze Takte</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="63"/>
<location filename="../../mainwindow.py" line="65"/>
<source>Invert Measures</source>
<translation>Taktauswahl umdrehen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="64"/>
<location filename="../../mainwindow.py" line="66"/>
<source>Track Measures Off</source>
<translation>Alle Takte ausschalten</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="65"/>
<location filename="../../mainwindow.py" line="67"/>
<source>Track Measures On</source>
<translation>Alle Takte einschalten</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="66"/>
<location filename="../../mainwindow.py" line="68"/>
<source>Copy Measures</source>
<translation>Takte Kopieren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="67"/>
<location filename="../../mainwindow.py" line="69"/>
<source>Replace Measures</source>
<translation>Takte Ersetzen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="68"/>
<location filename="../../mainwindow.py" line="70"/>
<source>Set Modal Shift</source>
<translation>Modale Transposition</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="69"/>
<location filename="../../mainwindow.py" line="71"/>
<source>Set Half Tone Shift</source>
<translation>Halbtontransposition</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="70"/>
<location filename="../../mainwindow.py" line="72"/>
<source>Change Group</source>
<translation>Gruppe verändern</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="71"/>
<location filename="../../mainwindow.py" line="73"/>
<source>Insert/Duplicate Group</source>
<translation>Gruppe einfügen/duplizieren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="73"/>
<location filename="../../mainwindow.py" line="75"/>
<source>Clear all Group Transpositions</source>
<translation>Alle Transpositionen der Taktgruppe zurücksetzen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="74"/>
<location filename="../../mainwindow.py" line="76"/>
<source>Delete whole Group</source>
<translation>Taktgruppe Löschen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="75"/>
<location filename="../../mainwindow.py" line="77"/>
<source>Change Step</source>
<translation>Schritt verändern</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="76"/>
<location filename="../../mainwindow.py" line="78"/>
<source>Remove Step</source>
<translation>Schritt aus</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="77"/>
<location filename="../../mainwindow.py" line="79"/>
<source>Set Scale</source>
<translation>Benutze Tonleiter</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="78"/>
<location filename="../../mainwindow.py" line="80"/>
<source>Note Names</source>
<translation>Notennamen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="79"/>
<location filename="../../mainwindow.py" line="81"/>
<source>Transpose Scale</source>
<translation>Tonleiter transponieren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="80"/>
<location filename="../../mainwindow.py" line="82"/>
<source>Invert Steps</source>
<translation>Schritte invertieren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="81"/>
<location filename="../../mainwindow.py" line="83"/>
<source>All Steps On</source>
<translation>Alle Schritte an</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="82"/>
<location filename="../../mainwindow.py" line="84"/>
<source>All Steps Off</source>
<translation>Alles Schritte aus</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="83"/>
<location filename="../../mainwindow.py" line="85"/>
<source>Invert Row</source>
<translation>Reihe umkehren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="84"/>
<location filename="../../mainwindow.py" line="86"/>
<source>Clear Row</source>
<translation>Reihe löschen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="85"/>
<location filename="../../mainwindow.py" line="87"/>
<source>Fill Row with Repeat</source>
<translation>Reihenwiederholung</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="86"/>
<location filename="../../mainwindow.py" line="88"/>
<source>Change Row Velocity</source>
<translation>Reihenlautstärke</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="87"/>
<location filename="../../mainwindow.py" line="89"/>
<source>Change Pattern Velocity</source>
<translation>Taktlautstärke</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="88"/>
<location filename="../../mainwindow.py" line="90"/>
<source>Number of Notes in Pattern</source>
<translation>Anzahl der Tonhöhen im Takt</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="72"/>
<location filename="../../mainwindow.py" line="74"/>
<source>Exchange Group Order</source>
<translation>Gruppenreihenfolge tauschen</translation>
</message>
@ -334,22 +334,22 @@
<context>
<name>PlaybackControls</name>
<message>
<location filename="../../mainwindow.py" line="138"/>
<location filename="../../mainwindow.py" line="131"/>
<source>[Space] Play / Pause</source>
<translation>[Leertaste] Play / Pause</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="145"/>
<location filename="../../mainwindow.py" line="138"/>
<source>[L] Loop current Measure</source>
<translation>[L] Aktueller Takt in Schleife spielen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="166"/>
<location filename="../../mainwindow.py" line="159"/>
<source>[Home] Jump to Start</source>
<translation>[Pos1] Springe zum Anfang</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="159"/>
<location filename="../../mainwindow.py" line="152"/>
<source>Number of measures in the loop</source>
<translation>Anzahl der Takte pro Schleife</translation>
</message>
@ -468,27 +468,27 @@
<context>
<name>TimeSignature</name>
<message>
<location filename="../../mainwindow.py" line="405"/>
<location filename="../../mainwindow.py" line="398"/>
<source>Whole</source>
<translation>Ganze</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="406"/>
<location filename="../../mainwindow.py" line="399"/>
<source>Half</source>
<translation>Halbe</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="407"/>
<location filename="../../mainwindow.py" line="400"/>
<source>Quarter</source>
<translation>Viertel</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="408"/>
<location filename="../../mainwindow.py" line="401"/>
<source>Eigth</source>
<translation>Achtel</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="409"/>
<location filename="../../mainwindow.py" line="402"/>
<source>Sixteenth</source>
<translation>Sechzehntel</translation>
</message>
@ -504,32 +504,32 @@
<context>
<name>Toolbar</name>
<message>
<location filename="../../mainwindow.py" line="318"/>
<location filename="../../mainwindow.py" line="311"/>
<source>BPM/Tempo: </source>
<translation>BPM/Tempo: </translation>
</message>
<message>
<location filename="../../mainwindow.py" line="319"/>
<location filename="../../mainwindow.py" line="312"/>
<source>Deactivate to beccome JACK Transport Slave. Activate for Master.</source>
<translation>Aus: JACK Transport Slave. An: JACK Master (eigenes Tempo).</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="372"/>
<location filename="../../mainwindow.py" line="365"/>
<source>Overall length of the song</source>
<translation>Länge des Stückes in Takten</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="389"/>
<location filename="../../mainwindow.py" line="382"/>
<source>Please read the manual!</source>
<translation>Bitte im Handbuch nachlesen!</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="416"/>
<location filename="../../mainwindow.py" line="409"/>
<source>Length of the pattern (bottom part of the program)</source>
<translation>Länge des Musters in Schritten (untere Hälfte des Programms)</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="420"/>
<location filename="../../mainwindow.py" line="413"/>
<source>How long is each main step</source>
<translation>Welchen Notenwert repräsentiert ein Schritt</translation>
</message>
@ -544,47 +544,47 @@
<translation type="obsolete">Taktartaufspaltung durch Gruppierung umwandeln, versucht die Musik gleich klingen zu lassen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="494"/>
<location filename="../../mainwindow.py" line="487"/>
<source>Clone Selected Track</source>
<translation>Klone ausgewählte Spur</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="495"/>
<location filename="../../mainwindow.py" line="488"/>
<source>Use this! Create a new track that inherits everything but the content from the original. Already jack connected!</source>
<translation>Das hier benutzen! Neue Spur, die alle Eigenschaften außer der Musik selbst vom Original erbt. Ist bereits in JACK verbunden!</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="496"/>
<location filename="../../mainwindow.py" line="489"/>
<source>Add Track</source>
<translation>Neue Spur</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="497"/>
<location filename="../../mainwindow.py" line="490"/>
<source>Add a complete empty track that needs to be connected to an instrument manually.</source>
<translation>Eine neue, leere Spur, bei der man noch per Hand ein Instrument mit JACK verbinden muss.</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="502"/>
<location filename="../../mainwindow.py" line="495"/>
<source>Measures per Track: </source>
<translation>Takte pro Spur: </translation>
</message>
<message>
<location filename="../../mainwindow.py" line="508"/>
<location filename="../../mainwindow.py" line="501"/>
<source>Steps per Pattern:</source>
<translation>Schritte pro Takt:</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="513"/>
<location filename="../../mainwindow.py" line="506"/>
<source> in groups of: </source>
<translation> gruppiert in je: </translation>
</message>
<message>
<location filename="../../mainwindow.py" line="518"/>
<location filename="../../mainwindow.py" line="511"/>
<source> so that each group produces a:</source>
<translation> und jede Gruppe ergibt eine:</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="524"/>
<location filename="../../mainwindow.py" line="517"/>
<source>Set the swing factor. 0 is off. Different effect for different rhythm-grouping!</source>
<translation>Swing-Anteil. 0 ist aus. Andere rhythmische Gruppierungen haben einen anderen Effekt!</translation>
</message>
@ -749,29 +749,52 @@
<context>
<name>convertSubdivisionsSubMenu</name>
<message>
<location filename="../../mainwindow.py" line="568"/>
<location filename="../../mainwindow.py" line="561"/>
<source>New Grouping</source>
<translation>Neue Gruppierung</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="571"/>
<location filename="../../mainwindow.py" line="564"/>
<source>Do nothing</source>
<translation>Nichts machen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="571"/>
<location filename="../../mainwindow.py" line="564"/>
<source>Delete wrong steps</source>
<translation>Falsche Schritte löschen</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="571"/>
<location filename="../../mainwindow.py" line="564"/>
<source>Merge wrong steps</source>
<translation>Falsche Schritte mit einbinden</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="576"/>
<location filename="../../mainwindow.py" line="569"/>
<source>If not possible</source>
<translation>Falls unmöglich</translation>
</message>
</context>
<context>
<name>menu</name>
<message>
<location filename="../../mainwindow.py" line="618"/>
<source>View</source>
<translation>Ansicht</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="619"/>
<source>Maximize Song Area</source>
<translation>Formeditor maximieren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="620"/>
<source>Maximize Pattern Area</source>
<translation>Takteditor maximieren</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="621"/>
<source>Equal space for Pattern/Song Area</source>
<translation>Gleiche Größe für Form- und Takteditor</translation>
</message>
</context>
</TS>

Loading…
Cancel
Save