# Laborejo

Laborejo Software Suite

Für Programmversion 2.2.2

## 1. Einleitung

### 1.1. Zielgruppe

Laborejo richtet sich an Personen, die Musik als Notation begreifen und ein Computersystem dadurch zum Klingen bringen möchten. Damit fällt es in die Kategorie der sogenannten "Sequenzer".

Es ist für Kompositionen und -produktionen gedacht, die von Anfang an in Laborejos "Workflow" geplant und umgesetzt worden sind.

Es erfordert daher Erfahrung mit Tonhöhen, Notenwerten, verschiedenen Schlüsseln, Tonartenvorzeichen, Skalenlehre und vieles mehr.

Laborejo ist kein Notensatz oder -druckprogramm. Zwar existiert ein rudimentärer Lilypondexporter, dieser wird jedoch immer hinter den vollen Möglichkeiten von Lilyponds Funktionsumfang zurückbleiben.

Dieses Handbuch ist eine umfangreiche Beschreibung des Programmes und seiner Benutzung. Allerdings wird nicht jede selbsterklärende Funktion bis ins Detail beschrieben. Vielmehr geht es darum typische Fälle der Benutzung ergebnisorientiert zu beschreiben.

## 2. Grundlagen

Im folgenden eine Übersicht über Grundlagen, die im Kapitel "Funktionsumfang" ergänzt wird. Wenn Sie bereits über Erfahrung mit Sequencern und Notenprogrammen verfügen sollten Sie nach diesem Kapitel in der Lage sein durch Ausprobieren, und nur gelegentliches Nachschlagen, Laborejo zu benutzen.

Die Hirarchie ist: Spuren→Blöcke→Objekte.

Laborejo organisiert Musik in Spuren, in Partituransicht (was untereinander steht klingt gleichzeitig). Spuren gehen in der Hauptansicht von links nach rechts, ohne Zeilenumbrüche. Eine Spur kann, muss aber nicht, in Blöcke aufgeteilt sein, die an verschiedenen Stellen wiederverwendet werden können. Dabei ist angedacht eine einstimmige Stimme pro Spur zu schreiben. Homophone Akkorde sind möglich, polyphone Stimmen in einer Spur sind schwierig bis unmöglich umzusetzen.

Noten werden in die Spuren (bzw. Blöcke eingetragen). Dies geht nur mit der Computertastatur alleine oder zusätzlich mit Hilfe eines Midi-Instrumentes, z.B. einem Keyboard. Dazu gibt es, wie in einem Texteditor oder Schreibprogramm, einen Cursor, der markiert an welcher Stelle Eingaben oder Änderungen gemacht werden.

Alle Funktionen, außer der Navigation (Cursor bewegen), sind als Menüeinträge aufrufbar. Navigation muss auswendig gelernt werden, folgt aber etablierten Konzepten (Pfeiltasten, Umschalten zum markieren etc.). Siehe dazu das Kapitel "Navigation und Pfeiltasten".

Laborejo selbst erzeugt keine Klänge, sondern arbeitet als Midi-Sequenzer, der an andere JACK-Programme sendet, etwa an Sampler oder Synthesizer.

Aus diesem Grund ist der "New Session Manager" die ideale Umgebung um das Programm Laborejo zu starten, da man hier auch alle nötigen Klangerzeuger und Hilfsprogramme verwalten kann. Die Laborejo Software Suite bietet hierzu das Programm "Agordejo" an.

### 2.1. Platzierung, Zoom und Skalierung

#### 2.1.1. Zoom

Wie in vielen Programmen ist auch in Laborejo ein Zoom möglich. Strg mit Plus(+) oder Minus(-) verkleinert oder vergrößert die Notenansicht. Alternativ kann auch Strg+Mausrad benutzt werden.

Es gibt Grenzen der Vergrößerung oder Verkleinerung.

#### 2.1.2. Skalierung

Oft möchte man nicht zoomen sondern den Notenzwischenraum kleiner oder größer machen, wahrscheinlich öfter als der normale Zoom. Dies wird hier als "Skalierung" bezeichnet.

Veränderung der Skalierung ist für alle Benutzer eine sehr häufige Aktion in Laborejo.

Strg+Umschalten mit Plus(+) oder Minus(-) verkleinert oder vergrößert die Notenzwischenräume.

Warum?

Je nachdem ob die momentane Stelle hauptsächlich kurze oder lange Noten enthält ist ein größerer oder kleinerer Zwischenraum besser zu erkennen, bzw. überhaupt zu erkennen.

Laborejo zeigt Rhythmus linear an. Hinter den Spuren ist ein (änderbares) Gitternetz zu sehen, das die rhythmische Ausdehnung anzeigt und außerdem auch hilft Noten mit Hilfslinien besser in ihrer Tonhöhe zu erkennen.

Eine halbe Note benutzt immer doppelt so viele Pixel wie eine Viertelnote. Eine ganze Note besteht also aus ihrer Notengrafik und dann reseviertem Leerraum. Die folgende Note wird erst nach diesem Leerraum platziert. Das bedeutet aber, dass bei sehr kurzen Noten der reservierte Leeraum kleiner ist als die Notengrafik selbst, und somit Noten "ineinander" stecken.

Und noch mehr: Objekte, die keine eigene Dauer haben (Notenschlüssel) sind an der gleichen Stelle wie die nächste Note. Manche Objekte werden daher über die Notenlinien geschoben, damit man sie überhaupt sieht. Im schlimmsten Fall kann man aber nicht mehr richtig erkennen welche Reihenfolge die Objekte haben.

Es sei an dieser Stelle zugegeben, dass die derzeitige Lösung noch Nachteile hat, aber es noch keine bessere Idee gibt, die gleichzeitig Tastatursteuerung ermöglicht und ein lineares Rhythmus/Pixel-Verhältnis bietet.

In traditionellem Notensatz wird das anders gehandhabt: Noten werden nach im Sinne der Lesbarkeit näher aneinander gerückt oder zusätzlicher Platz wird zwischen kurze Notenwerte eingefügt. Der traditionelle Notensatz ist die klar besser lesbare Variante, allerdings fürs Sequencing nicht so gut geeignet, da hier noch mehr als pure Noten wichtig sind (z.B. CC-Kurven). In Laborejo ist der Notensetzer auch gleichzeitig der Komponist, so dass man jede Note und alle Zusammenhänge gut kennt. Diese "mentale Karte" des Stückes federt die schlechtere Lesbarkeit hoffentlich etwas ab.

### 2.2. Navigation und Pfeiltasten - Arbeiten mit der Auswahl

Laborejo hat einen einzigen Cursor, der anzeigt an welcher Stelle gerade gearbeitet und eingefügt wird. Damit funktioniert es wie ein Textverarbeitungsprogramm. Der Cursor ist immer nur in einer Spur, an einer Position und an einer Tonhöhe gleichzeitig.

Die Pfeiltasten bewegen den Cursor nach links und rechts. Der Cursor ist immer auf der Note, die direkt rechts von ihm ist.

Die Pfeiltasten nach oben und unten bewegen den Cursor in der Tonhöhe. Der Cursor steht immer auf einer absoluten Tonhöhe, und nicht etwa auf einer Notenlinie: Wechselt man in einen anderen Schlüssel so "springt" auch der Cursor grafisch an eine andere Stelle um auf der gleichen Tonhöhe zu bleiben.

Bild Auf und Bild Ab (Page Up / Down) wechseln die Spur nach oben oder unten.

Hält man die Steuerungstaste (Strg / Ctrl) gedrückt werden alle Navigationstasten in ihrer Wirkung verstärkt. Dies gilt auch in Kombination mit Auswahl und Veränderung (s.u.) * Links / Rechts springen einen Takt weiter. Wenn keine Taktart eingestellt wird eine ganze Note gesprungen * Oben / Unten springt eine Oktave auf oder ab. * Bild Auf/Ab springt zu ersten bzw. letzten Spur.

Hält man die Umschaltentaste (Shift) gedrückt wird zusätzlich zur Bewegung eine Auswahl erzeugt, die sich über mehrere Spuren erstrecken kann: * Links / Rechts erweitert und reduziert die Auswahl. * Oben / Unten hat keine Funktion, lässt die Auswahl aber intakt * Bild Auf/Ab wählt auch die nächste Spur, parallel, mit aus. * Die Verstärkung durch die Steuerungstaste gilt auch hier

Die Auswahl ist immer zusammenhängend. Sie muss auch immer die gleichen rhythmischen Werte (als Summe) in jeder Spur beinhalten. Ist die Auswahl deswegen ungültig ändert sich das Auswahlrechteck von einem Schatten zu einem Punktemuster. Eine Auswahl in einer Einzelspur ist immer gültig.

Wie oft in diesem Handbuch zu lesen sind Objekte ohne eigene Dauer (z.B. Notenschlüssel) etwas komplizierter. Für eine Auswahl über mehrere Spuren ist es besser nicht auf diesen anzufangen oder aufzuhören, da das Programm nicht wissen kann ob und wieviele Objekte ohne Dauer in allen Spuren gemeint sind.

Hält man die Alttaste (nicht Alt-Gr) gedrückt ändern die Pfeiltasten ihre Wirkung indem sie eine Note oder die Auswahl verändern: * Links / Rechts verdoppelt oder halbiert den Grundwert der Note * Oben / Unten schiebt die Noten höher oder tiefer. Noten bleiben dabei in der aktuellen Skala. * Mit der Steuerungstaste wird um eine reine Oktave transponiert.

Falls keine Auswahl besteht wird die dem Curor nächste Note benutzt.

Zusätzlich gibt es noch folgende Tasten: * Pos1 (Home) springt zum Anfang der Spur (oder wählt von der aktuellen Cursorposition bis dahin aus) * Ende (End) springt zum Ende der Spur (oder wählt bis dahin aus) * Steuerung+A markiert den aktuellen Takt in allen Spuren * Umschalten+A markiert die ganze Spur. * Steuerung+Umschalten+A markiert alles.

Die Maus kann ebenfalls benutzt werden, um den Cursor zu setzen. Ein Klick mit der Linken Maustaste setzt die Position, mit Umschalten wird die Auswahl verändert.

### 2.3. Der Cursor als Quelle für Befehle

Die Cursorposition, besonders die Tonhöhe, wird in vielen Befehlen benutzt, nicht nur um Noten einzufügen. Tonartenanweisungen holen sich hierüber den Grundton beim Einfügen. Der Werkzeugkasten benutzt die Cursorposition u.a. als Spiegelachse oder als Fixpunkt um zufällige Noten im Umkreis um den Cursor zu erzeugen.

Ein Beispiel ist das Einfügen einer Tonart, bwz. deren Vorzeichen. Diese wählt als Grundton die Tonhöhe des Cursors aus.

Mit ein wenig Erfahrung wird bald klar wann der Cursor vor einem Befehl richtig gesetzt werden muss.

### 2.4. Wiedergabe und Playhead

In der Notenansicht befindet sich eine vertikale rote Linie, die über allen Spuren liegt. Das ist der "Playhead". Er zeigt die Stelle der momentanen Wiedergabe an. Drückt man auf die Leertaste (s.u.) beginnt die Wiedergabe und alle Noten werden als JACK-MIDI-Signale an verbundene Instrumente geschickt. Hier endet die Verantwortung Laborejos.

Aufgrund technischer Grundlagen des MIDI-Protokolls ist es leider nur möglich, dass Noten von ihrem Anfang an gespielt werden. Startet der Playhead z.B. in der Hälfte einer ganzen Noten wird diese nicht zu hören sein.

Folgend Wiedergabe-Modi sind möglich: * Spiele von der aktuellen Position des Playheads (Leertaste) * Starte beim normalen Cursor (Strg+Leertaste). Da der Cursor sich durch die Wiedergabe nicht bewegt kann man hierdurch immer wieder von der gleichen Position starten. * Spiele von Anfang (Umschalten+Leertaste) * Es ist möglich den Playhead per Drag&Drop mit der Maus zu bewegen.

Um von Anfang oder vom Cursor zu starten muss die Wiedergabe nicht zwingend gestoppt sein. Man kann z.B. Strg+Leertaste auch benutzen um zurückzuspringen.

Das bearbeiten, löschen, einfügen etc. von Noten und Objekten ist auch möglich während die Wiedergabe läuft.

#### 2.4.1. Cursor: Tempo, Wiederholungen und Sprünge

Laborejo hat den Rhythmus ("Tick") als lineare Grundlage. Als Konsequenze ergibt sich, dass die Cursorgeschwindigkeit sich verändert, sobald das Tempo wechselt.

Die Wiedergabe läuft immer von links nach rechts. Der Playhead springt niemals. Wiederholungen und Sprünge (Wiederholungszeichen, 1. und 2. Klammer, Da Capo etc.) gibt es nicht, bzw. nur als rein grafisches Element.

Soll es eine wörtliche Wiederholung geben so muss diese im Notentext stehen. Um das einfacher zu machen (und Lilypond im Export dazu zu bringen tatsächlich Wiederholungszeichen und Sprungmarken zu setzen) werden verlinkte Blöcke benutzt (s.u.).

### 2.5. Noteneingabe und Pausen

Laborejo arbeitet prinzipiell untransponiert. Alle Spuren und Instrumente sind in C.

Es gibt zwei Möglichkeiten neue Noten einzugeben. * Der Basismodus ist die Tastatureingabe, mit der alle Möglichkeiten des Programmes bedient werden können. * Als Ergänzung ist es möglich ein MIDI-Instrument zu benutzen. Dies beschleunigt in erster Linie die Eingabe.

#### 2.5.1. Tastatur-Eingabe

Der typische Prozess ist es beide Hände auf der Tastatur zu haben, linke Hand auf den Nummertasten, rechte Hand auf den Pfeiltasten.

Zuerst wird die Tonhöhe ausgewählt, dann durch den Rhythmus eingefügt, dann werden Modifikationen gemacht (Punktierung, Vorzeichen etc.). Bitte beachten Sie, dass die zuletzte eingefügte Note am Ende einer Spur oder eines Blocks gleichzeitg die derzeit ausgewählte Note ist. Sie müssen nicht mit den Pfeiltasten einen Schritt nach links machen um ein Vorzeichen zu setzen und dann nach rechts um neue Noten einzugeben.

Tonhöhen: * Die Pfeiltasten hoch und runter wählen die Tonhöhe aus (sieben Schritte per Oktave, in der vorherrschenden Tonart). * Enter fügt einen Akkordton hinzu * Umschalten+Enter oder Umschalten+Entfernen löscht dem Cursor nächsten Akkordton, aber nie die letzte Einzelnote. * Plus(+) und Minus(-) setzt ein Vorzeichen auf die derzeit ausgewählte Note, oder entfernt es wieder. * Hat man sich vertippt ist es oft schneller mit Alt+Auf/Ab die Tonhöhe nachträglich zu ändern, statt zu löschen.

Rhythmus: * Die Nummerntasten 1 bis 6 fügen Noten unterschiedlicher Dauer ein. * Nummerntasten zusammen mit der Umschaltentasten fügen Pausen ein. * Die Taste Q punktiert eine Note oder eine Pause, bzw. schaltet durch drei Zustände: * Ohne Punkt, Punktierung, Doppelpunktierung. Danach wieder "ohne Punkt". * Die Taste R fügt eine Mehrtaktpause ein, aber nur wenn es eine Taktart gibt. * Mehrtaktpausen starten bei einem einem Takt und können mit Alt+Links/Rechts eingestellt werden. * Alt+R bietet die Möglichkeit direkt eine Taktzahl eingeben zu können. * Hat man sich vertippt ist es oft schneller mit Alt+Links/Rechts die Dauer nachträglich zu ändern, statt zu löschen.

Die kürzeste eintippbare Noten (Taste 6) ist eine 32tel. Kürzere Noten können durch mit Alt+Links/Rechts die Dauer nachträglich gemacht werden.

Möchte man zu Kompositionszwecken leeren Raum "reservieren", weil man etwa in einer Spur einen Teil noch nicht geschrieben hat, aber am folgenden weitermachen möchte, benutzt man hierzu besser keine Mehrtaktpausen sondern leere Blöcke mit einer festgesetzten rhythmischen Dauer (s.u.). So kann man sich z.B. 32 Takte reservieren, die auch durch nachträgliche Eingabe nicht länger oder kürzer werden.

#### 2.5.2. MIDI-Eingabe

Die MIDI-Eingabe ist eine Ergänzung zur Tastatursteuerung und übernimmt deren zeitaufwändigsten Part: die Auswahl der Tonhöhen.

Mit F4 schaltet man die Tonhöheneingabe über ein Midi-Instrument ein. Es handelt sich um schrittweise Eingabe ("Step Entry"): Die Tondauer wird immer noch über die Nummerntasten ausgewählt, allerdings fügt jetzt ein Tastendruck auf z.B. 3 nicht mehr eine Viertelnote ein sondern wählt den Rhythmus für Noten, die per MIDI eingegeben werden.

Eine Leiste am linken Rand zeigt an welche Tondauer gerade ausgewählt ist.

Akkorde können eingefügt werden indem man nach der ersten Noten noch weitere spielt ohne die erste zu "releasen". Für ein Midi-Keyboard heißt das nichts anderes als die erste Taste festzuhalten und dann weitere zu spielen. Für andere Midi-Instrumente entscheidet die Haptik und Spielweise inwiefern das möglich ist. Technisch wird gewartet bis das MIDI event "Note-Off" der ersten Note im Programm ankommt. Alles zwischen Note-On und Note-Off wird als ein Akkord zusammengefasst. In der Praxis bedeutet dies, das man die Tasten gleichzeitig drücken kann.

Die eingehenden MIDI-Noten unterscheiden laut MIDI-Protokoll nicht zwischen enharmonischen Varianten. Cis und Des sind zunächst die gleiche Note. Um dies zu verbessern entscheidet Laborejo anhand der aktuell geltenden Tonart welche Variante benutzt wird.

Beim alltäglichen Komponieren sind evtl. nicht alle Tonart-Modulation durch einen Tonartenwechsel gekennzeichnet, so dass es bei der MIDI-Eingabe zur enharmonischen Verwechselung kommen kann. Laborejo ist kein Notensatzprogramm, es "möchte" mehr Informationen haben als üblicherweise ausgedruckt werden. Setzen Sie statt dessen an Stellen, an denen implizit Tonartenwechsel stattfinden explizit ein Objekt um die Vorzeichen zu ändern. Darüberhinaus bleibt immer noch die nachträgliche Änderung ohne das Midiinstrument, was in der Praxis auch nicht so schlimm ist.

Pausen, Extra-Vorzeichen und Punktierungen müssen nach wie vor durch nachträgliche Modifikation gemacht werden.

Die eingehenden MIDI-Noten werden in Echtzeit an die Spurausgänge weitergeleitet, so dass man immer die Instrumente hört, die auch gemeint sind. Dabei wird die Cursorposition benutzt um Parameter, wie den Midi-Kanal, einzustellen. Es ist daher nicht nötig das Midiinstrument von Hand mit einem anderem Instrument zu verbinden.

Es ist möglich Midi-Eingabe mit F4 ein- und auszuschalten während die Wiedergabe läuft. Man kann weiterhin zur Musik spielen; die Echtzeitweiterleitung bleibt bestehen. Das ermöglicht es Ideen auszuprobieren, mit oder ohne Wiedergabe.

Die Midi-Eingabe funktioniert nur, wenn man auch gerade Noten eingeben darf. Also nicht im CC-Modus (s.u.) oder während der Spureditor offen ist. Allerdings ist sie auch aktiv, wenn das Laborejo-Fenster gerade nicht zu sehen ist, also auf einer anderen Desktop-Arbeitsfläche oder minimiert. Schalten Sie also besser die Eingabe aus, bevor Sie sich jammenderweise in einem anderem Programm umsehen, sonst ist nachher alles voller "Müllnoten".

#### 2.5.3. Live-Aufnahme

Eine Live-Aufnahme, mit Rhythmus, Dynamik und anderen MIDI-Werten, ist derzeit nicht möglich.

## 3. Ansichten und Betriebsmodi

Die Hauptansicht in Laborejo ist der Noteneditor. Dieser hat mehrere Betriebsmodi, wobei der Standard die Noteneingabe ist. Es gibt allerdings noch andere, spezialisierte Ansichten und Betriebsmodi, die hier erklärt werden.

### 3.1. Spur-Editor

Der Menüeintrag `Steuerung`→`Spureditor`, oder Strg+T (T wie "Track"), zeigt den Spureditor. Erneutes Aufrufen zeigt wieder den Noteneditor.

Zunächst kann hier für alle Spuren gleichzeitig der Auftakt eingestellt werden.

Anschließend werden alle Spuren abstrakt aufgeführt und es können verschiedene, wichtige Einstellungen vorgenommen und Werte eingegeben werden: * Der Name der Spur (Standard ist eine Zahl, eine ID). Dies ist auch der JACK-Portname. * Der Name des Instrumentes (für Lilypond Export. z.B. "Viola") * Die Abkürzung des Instrumentennames (z.B. "Vla") * Auftakt für diese Spur * Doppelspur erweitert das Liniensystem von 5 auf 10/11 nach unten, so dass man mit einem Violinenschlüssel gut lesbar bis in den Bassschlüssel schreiben kann * Hörbar ist normalerweise aktiv. Falls ausgeschaltet wird alles außer Noten gesendet. Diese Funktion ist kein Ersatz fürs Stummschalten ("mute") im Mixer. Vielmehr geht es hier um kurzfristiges ausschalten, wobei CCs und Program Changes weiterhin an das externe Instrument geschickt werden, damit beim Einschalten während der laufenden Wiedergabe korrekt weitergespielt wird. Sollte Sie ein Instrument benutzen, dass auch bei CCs o.ä. Klang generiert wird Ihnen diese Funktion nicht helfen. * Sichtbar versteckt die Spur in der Notenansicht. Die Spur sendet aber weiterhin MIDI. Der Cursor springt über sie hinweg, sie wird bei "Alles auswählen" nicht beachtet. Einige Funktionen, die von sich aus auf alle Spuren wirken (z.B. Lösche leere Blöcke), greifen aber auf die versteckten Spur zu. * Der Löschen-Knopf löscht diese Spur.

Ausgabeoptionen für MIDI: * Channel ist der Midikanal von 1 bis 16. Es ist nur einer gleichzeitig möglich. Der Kanal kann aber durch andere Befehle im Noteneditor geändert werden, auch nur kurzfristig für einzelne Noten. * CC Channels stellt ein auf welchen Kanälen Control Changes gleichzeitig gesendet werden. Der momentane Kanal ist auf jeden Fall dabei. Die Auswahl zusätzlicher Kanäle erfordert Planung. Welche umspannt das externe Instrument? Eine Geige könnte Abstriche auf Channel 1 und Aufstriche auf Channel 2 spielen. Dann ist es sinnvoll, dass CCs immer auf beiden Kanälen gesendet werden, z.B. Modulation um Vibrato einzustellen. Ansonsten würde die Einstellung evtl. nur für die Abstriche gelten. * Program ist der Program Change (0xC0), und damit das Midi-Instrument von 0 bis 127. Im GM Standard ist 0 das Klavier, 41 die Geige etc. Lässt man den Wert auf -1 wird überhaupt kein Program Change über MIDI gesendet. * Hat man einen Program ausgewählt werden die Felder für Bank MSB und LSB aktiv. Diese gehören ebenfalls zur MIDI-Instrumentenauswahl und wechseln je nach externem Instrument ihre Bedeutung. Die Erklärung der Werte muss also im Handbuch des Instrumentes nachgelesen werden. * Transposition ist eine Halbtontransposition der MIDI Noten, ganz am Ende der Verarbeitungskette nachdem alles in Laborejo berechnet wurde. Für MIDI-Kenner: Der hier eingstellte Wert wird auf die genierte Midi-Note (60 = mittleres C) addiert. Es ist also plus oder minus möglich. Man muss selbst zusehen, dass dadurch keine Noten höher als 127 oder tiefer als 0 entstehen. Laborejo sendet in diesem Fall 127 oder 0, verändert aber die Originalnoten nicht.

#### 3.1.1. Spuren Verschieben und Anordnen

Jede Spur hat im Editor einen Index, also eine Zahl, die die Reihenfolge bestimmt. Die Zahlen können frei vergeben werden. Nur die Reihenfolge ist wichtig, nicht die Abstände der Zahlen. Nachdem der Spureditor geschlossen wurde bereinigt Laborejo die Eingabe und nummeriert alle Spuren neu. Sollten Sie den gleichen Index für zwei Spuren eingegeben haben ist die Reihenfolge der beteiligten Spuren praktisch zufällig, allerdings nur bis der Spureditor geschlossen wird, ab dann ist sie wieder korrekt definiert.

Der Blockmodus (F6, siehe dessen Kapitel) kann auch benutzt werden um ganze Spuren zu verschieben. Hierzu die Alt-Taste gedrückt haben, während Sie mit der Linken Maustaste Spuren hoch und runter verschieben.

#### 3.1.2. Erweiterte Spuroptionen

Laborejo verwendet Noten, ist aber trotzdem ein MIDI-Sequencer. Notation hat einen Kontext, also eine Umgebung an momentan gültigen musikalischen Werten. Während in einem Pianoroll-Sequencer jede Note ihre eigenen Anschlagsstärke (Velocity) hat, ergibt sich diese in Laborejo aus einer vorangegangenen Dynamikanweisung wie "forte" oder "piano". Für eine Trompete bedeutet "forte" aber etwas anderes als für eine Geige. Und für Mozart ist piano etwas anderes als für Debussy.

Ebenfalls werden Noten von echten Musikern nie in ihrer vollen Dauer gespielt sondern unterschiedlich phrasiert. Je nach Stück oder Instrument (ließ: Spur) ist auch ein Staccato mal kürzer oder länger.

Das Ziel ist es seinen Klang so einstellen zu können, dass "Alle Instrumente spielen piano" einen bereits ausgewogenen Klang ergibt. Ebenso sollen bei einer Viertelnote tutti auch alle zur gleichen Zeit aufhören. Soundsetup ist sehr komplex und hängt nicht zuletzt von den verbundenen Instrumenten ab.

Um zuverlässig zu arbeiten können all diese Werte (wie kurz ist ein Staccato?, wie laut ist forte?) im Spureditor pro Spur eingestellt werden.

Im Reiter Dynamische Veränderungen sind alle Einfügbaren Dynamikanweisungen definiert. Ändert man hier Werte dann folgen alle bereits in der Spur vorhandenen Anweisungen den neuen Zahlen. 0 ist unhörbar, 127 ist die höchste Stufe.

Eine Spur ohne eingefügte Dynamikanweisungen benutzt den "Benutzdefiniert"-Wert.

Welche Lautstärke am Ende aus den Lautsprechern kommt hängt von zahlreichen Faktoren außerhalb Laborejos ab: Aufnahmepegel und Abspiellautstärke des Instruments, Mixer und Effekte (Kompression etc.)

Im Reiter Rhythmische Veränderungen sind die Abweichungen vom Anfang und Ende der Noten durch einen mathematischen Ausdruck definiert. Der eigentliche Wert und die Abweichung bilden durch Addition einen neuen Wert. Es ist sogar möglich simple Programmieranweiseungen zu geben!

Benutzt werden D für Duration, gefolgt von einer Zahl für einen Basisnotenwert: * Die Variable steht x für die die eigentliche Notenlänge. * DM Maxima (Doppellonga, Achtfachtganze) * DL Longa (Doppelbreve, Vierfachganze) * DB Breve (Doppelganze) * D1 Ganze Note * D2 Halbe Note * D4 Viertelnote * D8 Achtelnote * D16 Sechzehntelnote * D32 Zweiunddreißigstelnote * D64 Vierundsechzigstelnote * D128 Hunderachtundzwanzigstelnote * usw: D256, D512, D1024. 1024 ist die kleinste mögliche Note in Laborejo und auch in der musikalischen Literatur.[1].

Man kann die Python-Syntax für falls/dann Unterscheidung benutzen, aber nur für zwei Fälle: `MATHEFORMEL1 if BEDINGUNG-WAHR else MATHEFORMEL2 ` z.B. `-1 * D64 if x ⇐ D16 else -1 * D32` Die Note wird um eine 64tel verkürzt (-1*D64) falls die eigentliche Note kleiner (oder gleich) ist als eine 16tel, ansonsten wird sie um eine 32tel verkürzt (-1*D32).

Zum Beispiel: * "Normal Anfang" steht auf 0, das heißt eine Note fängt genau da an, wo sie auch logisch sein soll * "Tenuto Ende" steht auf 0. Die Noten ist exakt so lang wie sie logisch andauert, wird also voll ausgespielt. * "Legato Ende" steht auf D128, also eine 128tel länger als ihr logischer Wert * "Staccato Ende" ist -1*x+D64. -1*x heißt die Länge wird auf 0 gesetzt, da eine Länge minus die gleiche Länge natürlich 0 ergibt. Anschließend wird 0 noch um eine 64tel verlängert, also sind Staccatonoten immer so lange wie eine 64tel. Bei Stücken, die bereits über regelmäßie 64tel verfügen und diese dann auch noch Staccato haben möchten sollte man diesen Wert als auf D128, oder noch kürzer, ändern.

### 3.2. Noten-Editor

Der Noten-Editor (im Gegensatz zum Spur-Editor) hat mehrere Modi: Noten, Blöcke und Control Changes.

Nicht alle Menübefehle funktionieren in jedem Modus. Sie werden evtl. ausgegraut und ihre Tastenkürzel deaktiviert.

Der Notenmodus ist die normale Ansicht. Durch `Steuerung`→`Modus zur Ansicht und Bearbeitung` → `Noten` (Taste F5) kann man in diesen zurückkehren. Hier kann man Noten und andere Objekte eingeben, Löschen und bearbeiten.

Wie Noten eingegeben werden steht bereits weiter oben. Es gibt aber noch eine Menge andere Funktionen und Objekte:

#### 3.2.1. Akkorde und Pseudo-Polyphonie

Akkorde können auch ohne Mehrspur-Polyphonie gebildet werden. Die Enter Taste fügt Akkordtöne hinzu.

Wenn man einen Akkord per Auswahl markiert wirken sich alle Befehle auf den ganzen Akkord aus. Ohne Auswahl wird die dem Tonhöhencursor nächste Note benutzt. So wird Alt+Pfeil Auf/Ab Einzelnoten innerhalb des Akkordes verschieben.

Mit Alt+Links/Rechts ist es möglich Einzelnoten kürzer oder länger zu machen und damit Pseudo-Polyphone Akkorde zu bilden. Grundsätzlich zählt die kürzeste Note im Akkord als dessen logische Definition: Eine Achtel- und eine Viertelnote zusammen werden innerhalb der Spur als Achtelnote behandelt, d.h. die nächste Note folgt nach einer Achtel.

Falls ein Befehl eine Tonhöhe zur Berechnung benötigt zählt der tiefste Ton im Akkord.

Alle Ansprüche, die über diesen Funktionsumfang hinaus gehen müssen durch echte Polyphonie in mehreren Spuren gelöst werden. Diese können durch Lilypondexport und Midi-Ausgabe das selbe Instrument ansprechen und in einer Notenzeile gedruckt werden.

#### 3.2.2. Feineinstellung für Notendauern & Rechteck-Notenköpfe (Sequencer)

Traditionelle Noten mit Köpfen und Hälsen sind gut lesbar, unterscheiden korrekt zwischen enharmonischen Tonhöhen und ermöglichen eine kompakte Schreibweise.

Typische Software-Midisequencer arbeiten in der Regel mit der sogenannten Piano-Roll und rechteckigen Tönen, die exakt die Tonlänge 1:1 darstellen.

Laborejo bietet im Menü `Steuerung` den Befehl `Balken-Noten` an (Taste F1), mit der die Ansicht auf solche Rechtecknoten umgeschaltet werden kann. Man sieht jetzt die tatsächliche Länge der Note. Die Basisnotenlänge, Phrasierungen von Bögen, andere Zeichen wie Staccato etc. werden komplett berücktsichtig. Was man sieht ist was man hört.

Mit den Befehlen `Kürzer` (Alt+Umschalten+Links) und `Länger` (Alt+Umschalten+Rechts) im Menü `Noten Bearbeiten` können einzelne Noten oder eine Auswahl verlängert oder verkürzt werden. Alternativ kann man mit der Maus an den Balkenenden links und rechts die Länge ändern.

Im Hintergrund ist nach wie vor eine Basislänge vorhanden (Viertel, Halbe, Achtel etc.) und Sie können jederzeit zwischen Noten und Rechtecken hin- und herschalten. Die Änderungen werden seperat gespeichert. Auf diese Weise geänderte Noten werden farblich markiert.

Tonhöhen, Lautstärke etc. ändern sich dadurch nicht.

#### 3.2.3. Transposition

Alle Töne in Laborejo klingen zunächst so, wie sie notiert sind. Transposition, wie sie etwa Blechblasinstrumente oder Klarinetten, aber auch Kontrabässe, in normaler Notation (auf dem Papier) benötigen sind ein Arbeitsschritt für die Druckausgabe, etwa in Lilypond.

Möchte man dennoch einzelne Akkorde oder Auszüge in der Tonhöhe verändern (etwa als Variante eines kopierten Teils nach einer Tonartenmodulation) bietet Laborejo destruktive Befehl an, also Verfahren, bei denen die Noten tatsächlich geändert werden:

- `Noten Bearbeiten` → `Akkord Transponieren` transponiert einen Akkord oder die momentane Auswahl.

- `Strukturen`→ `Alles transponieren` transponiert das gesamte Stück.

Eigentlich sollten für nicht-destruktive Klangtransposition externe Midifilter verwendet werden, dennoch bietet der Spureditor einen Transpositionswert in Halbtönen, pro Spur an. Die Berechnung erfolgt als letzter Schritt vor der tatsächlichen Midiausgabe. Sollten Befehle, auch selbstgeschriebene Skripte, auf die Tonhöhe zugreifen werden sie nicht den Klang benutzen sondern die logische, tatsächliche, Tonhöhe.

TODO: Beschreibung der einzelnen Standaloneobjekte hier drunter `Objekte Einfügen` → ``

#### 3.2.4. Metrum oder Taktart

Eine Spur ohne Metrikanweisung hat keine Taktart und dementsprechend auch keine Taktstriche.

Das Metrum oder die Taktart kann in Laborejo durch Metrikanweisungen eingestellt werden. Hierzu `Objekte Einfügen` → `Metrum` (Taste M) auswählen.

Der Befehl zeigt ein Submenü, in dem häufige Taktarten zur Auswahl angeboten werden. "6/8" fügt z.B. ein Objekt in die Spur ein, ab dem der 6/8 Takt gilt.

Sie können so viele Taktart-Objekte in die Spur einfügen, wie sie möchten. Außerdem können Spuren unterschiedliche Taktarten haben.

Das Objekt kann nicht verändert werden. Es muss gelöscht werden und ein anderes an die selbe Stelle gesetzt werden.

Sie sind selbst dafür verantwortlich, das Objekt ausschließlich an den Anfang eines Taktes zu setzen. Taktwechsel bevor ein Takt fertig ist sind musikalisch per Definition ausgeschlossen und ein logischer Fehler. Allerdings nötig für die Bearbeitung der Spur.

Diese ausgwählten Taktarten ergeben in Musik und evtl. Lilypond-Druckversion genau die ausgewählten Taktarten. Allerdings fällt sofort auf, dass in der Spur selbt ein Objekt vorhanden ist, über dem "Metrical" steht, gefolgt von einer Kombination aus Zahlen und Notenwerten. Es handelt sich um die tatsächlichen metrischen Verhältnisse (s.u.)

##### Eigene metrische Anweisungen

Laborejo Metriksystem geht weit über die traditionell bekannten Abkürzungen wie "4/4" hinaus und unterstützt sehr komplexe, zusammengesetzte und verschachtelte Taktarten beliebieger Länge. Es kann daher nicht bedient werden ohne die musiktheoretischen Hintergründe zu kennen, was Taktarten eigentlich sind und warum eine Beschreibung wie "5/8" nur eine auswendiggelernte Abstraktion für einen komplexen Sachverhalt ist. Daher gibt es hierzu ein eigenes Kapitel am Ende dieser Anleitung.

Die Option im Submenü bietet dann die Eingabe in der beschriebenen Form an.

TODO: Beschreiben, wenn das Menü tatsächlich existiert. Eigenes Kapitel ganz am Ende. Nur ein String?

#### 3.2.5. Notenschlüssel

Der Notenschlüssel wählt aus welcher Ausschnitt aller möglichen Tonhöhen auf dem Fünfliniensystem gezeigt wird. Er ist damit Bestandteil des Layouts und nicht des Klanges.

Eine Spur ohne explizites Schlüsselobjekt wird im G-Schlüssel ("Violinenschlüssel") dargestellt.

In Laborejo haben alle Noten tatsächliche Tonhöhen, der Schlüssel ändert nur die Anzeige. Wenn Sie einen Schlüssel vor vorhandene Noten setzen werden diese sich automatisch auf andere Notenlinien setzen. Ein Schlüssel ändert niemals den Klang!

Durch den Befehl `Objekte Einfügen` → `Schlüssel` (Taste C von engl. Clef) kann ein neuer Notenschlüssel an der Cursorposition eingefügt werden. Die häufigsten Schlüssel gibt es als Kurzwahl.

Es können beliebig viele Schlüssel in einer Spur verwendet werden. Jede Spur hat seine eigenen Schlüssel.

Die Percussion- und Schlagzeugschlüssel sind tatsächliche Notenschlüssel und machen die Spur nicht etwa zu einem Drumcomputer. Noten haben nach wie vor eine Länge und senden Noten-On und Note-Off Midisignale.

#### 3.2.6. Vorzeichen und Tonarten

`Objekte Einfügen` → `Tonart` (Taste K von engl. Key) fügt einen Tonartenwechsel an der Cursorposition ein. Dabei wird die Tonhöhe des Cursors als Grundton der Tonart verwendet. Möchte man also "D-Dur" setzt man den Cursor auf ein beliebiges D, wählt den Befehl aus und wählt im folgenden Submenü die Option für "Dur".

Neben "Dur" stehen noch viele weitere Tonarten zur Verfügung. Moll natürlich, aber auch Dorisch oder exotischere Tonarten.

Es können beliebig viele Tonarten in einer Spur verwendet werden. Jede Spur hat seine eigenen Tonarten.

Das Submenü bietet auch die Möglichkeit die Tonart komplett selbst zu bestimmen. Kreuze und Bs können in beliebiger Reihenfolge und Zusammensetzung ausgewählt werden. Hier kann auch jeder beliebige Grundton ausgewählt werden.

Ist in einer Spur keine explizite Tonart gesetzt geht Laborejo von C-Dur aus.

#### 3.2.7. Dynamik

Das Menü `Objekte Einfügen" enthält den Befehl `Dynamik` (Taste D). Nach Aufruf können Sie die Art auswählen, es stehen die üblichen italienischen Bezeichnungen inkl tacet, Stille, zur Verfügung.

Zur schnelleren Benutzung kann die Dynamikanweisung hier mit den Nummerntasten eingefügt werden.

Außerdem gibt es die Möglichkeit eine Lautstärkeänderung über die Zeit einzufügen (Taste r von engl. "Ramp"). Ob es crescendo oder decrescendo wird entscheidet sich automatisch. Die Veränderung sucht sich die beiden Dynamikanweisungen vorher und nachher.

##### Feineinstellung

Wie oben beschrieben gilt in Laborejo zunächst der Kontext für die Lautstärke. Alle Noten, die der Dynamikanweisung "forte" folgen werden dementsprechend laut gespielt. Die musikalische Realität verlangt aber noch feinerere Kontrolle. So werden die Zielnoten von Phrasen, z.B. Läufen, nach oben oft zunehmend lauter gespielt, oder die erste Zählzeit pro Takt wird betont.

Jede Note kann zusätzlich zum Kontext dynamisch noch verändert werden. Diese Modifikation ist relativ, ändert sich also auch wenn der Kontext von Forte nach Piano wechseln würde.

Im `Noten Bearbeiten`-Menü finden sich die Befehle `Lauter` (Taste >) und `Leiser` (Taste <). Werden sie benutzt schalten die Noten automatische in die Balkenansicht um und man sieht wie sich der vertikale Balken verändert. Der Lautstärkebalken ist nicht mit der Tonhöhe verknüpft, er startet immer von der gleichen Grundlinie. Die Lautstärken der Noten sind also miteinander vergleichbar.

Man kann bei Balken-Noten auch die Maus benutzen um die Lautstärken zu "ziehen".

#### 3.2.8. Bindebögen oder Legatobögen

`Objekte Einfügen` → `Bindebogen` (Taste S für engl. Slur) setzt ebendiesen in die Spur.

Alle Noten unter einem Bindebogen werden ineinander übergehend gespielt. D.h. die Länge jeder Note ist etwas länger als ihre normale Gesamtlänge. Die exakte Länge, was "legato" bedeutet, kann im Spur-Editor in den erweiterten Optionen pro Spur eingestellt werden. Siehe das dazugehörige Kapitel.

Bindebögen sind tatsächliche Objekte (im Gegensatz zu Rhythmusbalken) in der Spur. Ob ein Bogen geöffnet oder geschlossen wird entscheidet sich aus der Reihenfolge. Das bedeutet implizt, dass Bindebögen nicht verschachtelt werden können. Für ungeübte Augen sieht es manchmal in gedruckten Noten so aus, als gäbe es dieses Phänomen. Es handelt sich jedoch bei übergeordneten Bögen stets um sogenannte "Phrasierungsbögen". Phrasierungsbögen gehören in den Bereich der gedruckten Noten und sind unspezifische Interpretationshinweise, die meist eine zusammengehörende Melodielinie kennzeichnen, damit der Interpret das z.B. durch Lautstärke (cresc) oder Geschwindigkeit (accel) subtil umsetzt. Da diese Art von Interpretation in Laborejo explizit gesetzt wird gibt es Phrasierungsbögen nur als Lilypond-Befehl.

#### 3.2.9. Instrumentenwechsel (das Objekt)

Das Objekt `Objekte Einfügen` → `Instrumentenwechsel` ist eine Möglichkeit das Midi-Instrument zu wechseln, indem Program und zwei Bankparameter eingegeben werden. Das ist äquivalent zur Einstellung des Spur-Editors.

Es können beliebig viele Instrumentenwechsel in die Spur eingefügt werden.

Ihre Auswirkung hängt allein vom über JACK verbundenen Instrument ab.

Zusätzlich kann noch ein Instrumentenkürzel (z.B. Vla für Viola) eingegeben werden. Das kann rein der Übersicht dienen, wird aber auch von der Lilypondausgabe als Instrumentenwechsel interpretiert.

Bitte beachten Sie, dass Program/Bank-Changes exakt dann gesendet werden, wenn der Playhead sie berührt. Springt man manuell in einen Bereich mit einem anderen Instrument so wird dies nicht zusätzlich gesendet. Die in die Spur (durch den Spur-Editor) eingebauten Werte werden genau einmal am Anfang gesendet, wenn der Cursor auf Position 0 steht (`Steuerung` → `Wiedergabe vom Anfang`).

#### 3.2.10. MIDI-Kanäle

Sample-Instrumente benutzen oft MIDI-Kanäle um unterschiedliche Spielweisen schnell ansteuern zu können. z.B. um zwischen Auf- und Abstrichen von Streichern hin- und herzuschalten.

Dem MIDI-Kanal wird daher besondere Aufmerksamkeit zu teil.

Im Spureditor (Strg+T) kann der Basiskanal für eine Spur eingestellt werden. Die Kanäle für MIDI CCs sind etwas besonderes, hier können mehrere auf einmal ausgewählt werden (oder gar keiner). Diese Option gibt es genau aus dem Grund, dass Instrumente auf mehrere Kanäle verteilt sind aber Parameter, die durch CCs vorgenommen werden (Lautstärke, Modulation, Filter etc.) auch auf all diesen Teilkanälen eingstellt werden müssen.

Möchte man Noten auf zwei Kanälen gleichzeitig senden gibt es entweder die Möglichkeit die Spur mit Hilfe von verlinkten Blöcken zu doppeln, oder ein externes Programm zu nutzen (z.B. mididings oder einen von mehreren MIDI-Filtern im LV2 Format). Letztere Möglichkeit wird klar empfohlen.

Im Noteneditor werden nun die Noten auf dem eingestellten Kanal gesendet. Nun zu den kurzzeitigen Veränderungen:

Im Menü `Werkzeugkasten` → `MIDI` ist `Channel Change einfügen`. Hiermit kann man den Kanal ab dem Objekt einstellen.

Im Menü `Musikobjekte Bearbeiten` kann man für jedes Objekt, meistens Noten und Akkorde, `Midi Channel +`, `Midi Channel -` und `Midi Channel zurücksetzen` auswählen.

Plus und Minus verändern den Kanal um je 1, ausgehend vom derzeitigen Basiskanal (ausgewählt durch den Spureditor oder den Werkzeugkasten). Man kann den Befehl mehrfach auf das gleiche Objekt aufrufen um um +3 etc. zu verändern. `Zurücksetzen` löscht die Veränderung wieder.

Diese Veränderungen sind Eigenschaften der Noten selbst, bzw. des gesamten homophonen Akkordes. Auch hier ist echte Polyphonie nur durch mehrere Spuren möglich.

Sie sind selber dafür verantwortlich, dass der Kanal nicht 1 unter- und 16 überschreitet.

Die drei Befehle sind sehr nützlich, haben aber keine Standardtastaturkürzel. Für diesen Einsatzzweck sind sogenannte "Hover Shortcuts" gedacht. TODO: interner link

TODO: Hier weiter machen: Triolen N-Tole Zweiteilen/Dreiteilen/X-Tteilen. auch als altenrative um Triolen zu setzen. Balken, auch mit dem Selection-Trick. balken ist ein switch in der note, so wie legatobögen. Mit start/end Tenuto, Staccator, Haltebogen/Tie

### 3.3. Blöcke und Blockmodus

Laborejos Spuren bestehen aus Blöcken. Jede Spur hat automatisch einen Block, der so lange ist wie die Spur, d.h. es ist möglich Noten zu setzen ohne jemals mit Blöcken in Berührung zu kommen.

Nun kann dieser Block um weitere ergänzt werden, in die Noten eingetragen werden können. Ein Blockende ist durch eine geschwungene Linie gekennzeichnet, über die der Cursor mit einem Extraschritt navigieren muss.

Blöcke und deren Grenzen sind in der Wiedergabe nicht zu hören. Auch für die Notenlogik existieren die Grenzen nicht. Es wird weiterhin von Links nach Rechts ausgewertet: Momentan geltende Schlüssel, Tonarten, Dynamikanweisungen usw. bleiben über die Blockgrenzen gültig.

Es gibt mehrere Gründe Blöcke zu verwenden: * Übersicht: Unterschiedliche Teile ("Strophe, Refrain" oder einfach "A, B, C" * Erleichtertes Arbeiten: Blöcke duplizieren ist manchmal einfacher als Kopieren & Einfügen, selbst wenn man anschließend unabhängig an ihnen weiterarbeitet. * Wiederverwendung: Wiederholungen gehören zur Musik. Wörtliche Wiederholungen können durch verlinkte Blöcke hergestellt werden. * Dopplung in anderen Spuren: Blöcke können auf andere Spuren verschoben werden, auch verlinkte Blöcke. Damit können zwei Instrumente das gleiche spielen.

Es können neue Blöcke am Ende der Spur erschaffen werden, der Block am Cursor geteilt werden oder zwei Blöcke vereint werden.

Um Blöcke umzubenennen und hin- und herzuschieben muss man sich in den Blockmodus begeben. Siehe das entsprechende Kapitel.

Normale Blöcke, und auch verlinkte Blöcke, werden immer direkt in eine Spur eingefügt und befinden sich aufgereiht auf der selben Ebene. Das heißt, man kann keine Blöcke in andere Blöcke (und keine Spuren in Blöcke) einfügen. Verschachtelung und Rekursion sind nicht möglich.

Welche Dauer ein Block haben soll richtet sich ganz nach Ihren Vorlieben. Wir empfehlen allerdings eine Länge von einigen Takten. Zumindest sollte im Blockmodus die Beschriftung des Blocks ("ABC Start" und "ABC Ende") nicht länger sein als der Block selbst.

Die Farbe eines Blockes ergibt sich automatisch aus seinem Namen. Siehe dazu "Blockmodus".

#### 3.3.1. Blöcke Erschaffen und Duplizieren

Das Strukturen-Menü beinhaltet alle Befehle um mit Blöcken umzugehen.

Die schnellste Art einen neuen Block zu erschaffen ist die Einfügentaste (Insert). Befindet sich der Cursor in einem Block wird dieser an der Cursorposition getrennt. Am Ende der Spur hat das den selben Effekt, als würde ein leerer Block angehängt.

Wenn Sie verlinkte Blöcke trennen und vereinen gibt es Spezialfälle zu beachten, siehe dazu das Kapitel "Blöcke Trennen und Vereinen".

In seltenen Fällen benötigt man zwingend die Funktion explizit einen leeren Block ans Ende zu setzen, etwas wenn man nach einen verlinkten Block am Ende einen eigenständigen, leeren Block haben möchte. Hierzu gibt es im Menü `Strukturen` den Befehl `Leeren Block ans Ende anhängen`

Der Befehl "Duplizieren" erschafft eine Kopie des ausgewählten Blocks und platziert sie rechts nebem dem Original. An den Namen wird ein "Copy" (engl. Kopie) angehängt. Die Kopie teilt sich zunächst den Inhalt mit dem Original, ist aber ab jetzt unabhängig. Die Kopie kann auch in eine andere Spur verschoben werden (siehe Kapitel "Blockmodus").

Um eine Kopie zu erhalten, die sich den Inhalt mit dem Original teilt siehe "Verlinkte Blöcke".

#### 3.3.2. Blöcke Löschen

Blöcke löschen Sie über das Menü `Strukturen`→`Diesen Block löschen`. Der Befehl hat mit Absicht kein Tastenkürzel, da eine Blocklöschung nicht ausversehen passieren soll. Möchten Sie mehrere Blöcke hintereinander löschen, etwa in einer "Aufräumphase", begeben Sie sich in den Blockmodus um dort mit der rechten Maustaste Blöcke löschen zu können.

Der letzte bzw. einzige Block einer Spur kann nicht gelöscht werden.

Manchmal erschafft man ausversehen mehrere leere Blöcke hintereinander. Etwas am Anfang der Spur, oder weil man zweimal hintereinander auf die Einfügentaste gedrückt hat ohne es zu bemerken. Für diesen Fall muss man nicht umständlich den Cursor zwischen zwei Blockgrenzen bewegen, was man nicht sehen könnte, sondern es gibt `Strukturen`→`Alle leeren Blöcken löschen`.

#### 3.3.3. Blöcke mit fester Mindestdauer

Ein Block kann, entweder durch das Sturkturmenü oder durch das Kontextmenü im Blockmodus, auf eine feste Mindestdauer eingestellt werden ("Eigenschaften Bearbeiten"). Nach Auswahl zeigt sich ein Untermenü, dass eine Berechnung der "Ticks" erlaubt. Das ist die MIDI-Einheit für Rhythmus. Es entsteht eine Art Platzhalter, der erst länger wird, sobald der Inhalt auch länger wird.

Oft weiß man schon im Vorraus, wie lange eine Strophe, ein kontrastierender Formteil, oder ein Gitarrensolo sein wird. Mit Mindestdauern (und evtl. verlinkten Blöcken) kann man sich bereits ein Grundgerüst für die Komposition erstellen, dass man anschließend mit Musik füllen kann.

#### 3.3.4. Verlinkte Blöcke

Ein verlinkter Block teilt sich den Inhalt mit einem, oder mehreren, anderen. Ändert man einen, Noten einfügen, löschen etc. ändern sich auch automatisch alle anderen. Auch andere Eigenschaften, wie der Name und die Mindestdauer, sind geteilt.

Im Blockmodus können verlinkte Blöcke beliebig verschoben werden, etwa an das Ende einer Spur oder sogar in eine andere Spur.

Das ermöglicht viele nützliche Arbeitstechniken. Zum Beispiel: * Ein Refrain kommt nach der Strophe noch ein weiteres mal, oder generell mehrmals im Stück * Zwei Instrumente spielen die gleichen Noten für eine Weile. * Oder ein Instrument spielt zu einem späteren Zeitpunkt etwas, dass vorher woanders vorkam.

Verlinkte Blöcke erzeugt man fast wie normale Kopien auch: `Strukturen`→`Diesen Block mit Link verdoppeln`. Oder im Blockmodus durch das Rechtsklick-Kontextmenü.

Das Bearbeiten von verlinkten Blöcken sollten Sie vorzugsweise in der ersten Version (ganz links) machen, da hier die Ansicht am "stabilsten" ist. Würden Sie etwa im vierten verlinkten Block einer Spur arbeiten würde sich jedes Einfügen einer Note darin auswirken, dass der Cursor optisch viermal so weit nach rechts "springt", wie man eigentlich erwartet, da jetzt weiter links (also früher) in jedem der vier verlinkten Blöcke diese Note eingefügt wurde.

Löscht man einen verlinkten Block so ändert sich dadurch nichts an den anderen Versionen.

Um einen verlinkten Blöck zu einer eigenständigen Version zu machen benutzen gibt es `Link des Blocks lösen` im `Struktur`menü, sowie als Kontextmenüfunktion im Blockmodus.

Um von einem verlinkten Block eine eigenständige Kopie zu erstellen können Sie einfach das normale `Duplizieren`benutzen.

Bitte bedenken Sie, dass die Ansicht der Noten nicht deren Inhalt bedeutet. Laborejo speichert Tonhöhen, und nicht Positionen auf Linien. Haben Sie also zwei verlinkte Blöcke, bei einem steht ein Violinenschlüssel vorher (in einem anderen Block) und beim anderen ein Bassschlüssel, so sehen die Noten auch anders aus.

Gleiches gilt auch für Lautstärken und andere Parameter, die von der Umgebung abhängig sind: Befindet sich vor der erste Kopie des verlinkten Blocks eine Dynamikanweisung "piano" und vor dem zweiten ein "forte", so werden die Blöcke auch unterschiedlich laut gespielt.

#### 3.3.5. Blöcke Trennen und Vereinen

Um einen existierenden Block zu trennen, also zwei daraus zu machen, drücken sie die Einfügen Taste oder benutzen den Befehl `Strukturen`→`Diesen Block teilen`. Da diese Funktion eine Cursorposition benötigt kann sie nicht im Blockmodus benutzt werden.

Beide Blöcke haben zunächst den gleichen Namen, und damit die gleiche Farbe. Sie stehen auch noch an der alten Position, musikalisch ist noch keine Veränderung eingetreten. Ab nun sind sie aber individuell veränderbar und können im Blockmodus auch verschoben werden.

Das Gegenteil von Trennen (abgesehen von Undo, Strg+Z) ist `Mit nächstem Block vereinen`, das es im `Struktur`menü gibt, sowie als Kontextmenüfunktion im Blockmodus. Die zu vereinenden Blöcke müssen nicht vorher getrennt worden sein, alle Blöcke sind geeignet.

Eine Besonderheit ergibt sich bei verlinkten Blöcken. Diese können, wie normale Blöcke, getrennt werden. Die Trennung geschieht dann in allen verlinkten Versionen. Als Resultat erhalten Sie einen neuen Satz an verlinkten Blöcken, die jeweils zweiten Hälften.

Vereinen geht auch, aber nur unter eine Bedingung: Alle Versionen müssen von jeweils dem gleichen verlinkten Block gefolgt werden. Vereinfacht kann man sich diesen Prozess als das Rückgängigmachen der Trennung vorstellen.

Beispiel: A ist ein Set verlinkter Blöcke, B ebenso, C und D sind unabhängige Blöcke. X ist ein neu enstandener verlinkter Block.

- `ABAB` kann vereint werden. Es ensteht: `XX`

- `ABCAB` kann vereint werden. Es ensteht: `XCX`

- `ABAC` kann nicht vereint werden, da B und C verschieden sind.

- `AABBAB` kann nicht vereint werden, da auf A jeweils B folgen müsste.

- `AA` ist ein Spezialfall und kann nicht vereint werden.

#### 3.3.6. Blockmodus

Der Blockmodus ist eine Spezialansicht des Noteneditors, wie auch Control Changes. Durch `Steuerung`→`Modus zur Ansicht und Bearbeitung` → `Blöcke` (Taste F6) kann man ihn aktivieren. Die Noteneingabe und viele andere Befehle, auch per Midi, werden deaktiviert.

Blöcke werden nun deutlich mit Namen und Farbe dargestellt, ohne Noten und andere Objekte. Die Skalierung (Steuerung+Umschalten mit Plus oder Minus) ist jetzt besonders hilfreich um das ganze Stück auf einmal zu betrachten.

Drückt man mit der linken Maustaste auf einen Block, hält sie gedrückt und bewegt dann die Maus kann man einen Block verschieben. Dies ist auch Spurübergreifend möglich. Sobald man die Maustaste wieder loslässt ändert sich die Blockstruktur.

Es ist nicht möglich Blöcke in einem Arbeitsschritt zu verschieben und zu kopieren (wie das in einem Dateimanager oft der Fall ist). Es muss immer erst dupliziert und/oder verlinkt werden und anschließend in einem zweiten Schritt die Kopie verschoben werden.

Da man im Blockmodus mit der Maus arbeiten muss und es keinen Cursor gibt, der den aktuellen Block auswählt (also die Menübefehle deaktiviert sind) gibt es hier ein Kontextmenü: Mit der rechten Maustaste lassen sich die Eigenschaften eines Blocks bearbeiten sowie weitere typische Funktionen (löschen, duplizieren etc.) aufrufen.

Der Blockmodus kann auch benutzt werden um ganze Spuren zu verschieben. Hierzu die Alt-Taste gedrückt haben, während Sie mit der Linken Maustaste Spuren hoch und runter verschieben.

## 4. Modus für Control Changes

Nebem dem Notenmodus und dem Blockmodus gibt es den CC-Modus. Durch `Steuerung`→`Modus zur Ansicht und Bearbeitung` → `Control Changes` (Taste F7) kann man ihn aktivieren.

CCs sind Bestandteil des MIDI Protokolls. Man kann sie sich als Regler oder Drehknöpfe an einem Gerät vorstellen. Jeder der 16 Midikanäle verfügt über 128 (0 bis 127) CCs, deren Bedeutung per Konvention oder Tradition festlegt ist, technisch aber einfach nur einen Zahlenraum, wiederum von 0 bis 127, darstellt. Zum Beispiel wird der CC Nr 7 ("CC7") oft für Lautstärke ("Channel Volume") benutzt. Stellt man seinen Wert auf 0 ist die Lautstärke aus, auf 127 ist das Maximum. Was das konkret bedeutet entscheidet das Gerät oder Programm (Synthesizer, Sampler etc.), an das die Spur seine CCs sendet. Ein anderes Gerät könnte CC7 aber auch durchaus für die Helligkeit seines eingebauten Displays benutzen. Welche CC Nummern traditionell welche Funktion haben muss außerhalb dieses Handbuchs nachgelesen werden.

Im CC-Modus wird die Spur zu einem Graphen, also Einzelpunkte und deren Verbindungen. Die Musiknoten schimmern leicht im Hintergrund durch, damit Sie sich noch an der Musik orientieren können.

In der Menüleiste ist ein Kontrollfeld erschienen, in dem man die momentan zu bearbeitende CC Nummer (für alle Spuren) auswählen kann. D.h. es ist nicht möglich zwei CCs der gleichen Spur parallel zu betrachten.

Ein Klick mit der linken Maustaste fügt nun an der entsprechenden Rhythmusposition einen Wert ein. So könnte man z.B. allmählich die Lautstärke (CC7) von 0/aus zu voll/127 steigern indem man immer höhere Punkte nach weiter rechts setzt.

Punkte können auch durch die Maus frei verschoben werden, sowohl in Wert als auch Position.

TODO: Selection?

### 4.1. Einrasten

Ebenfalls in der Menüleiste gibt es die "Einrasten"-Funktion. Hierbei wird die Rhythmusposition automatisch an die nächste Stelle des Rhythmusgitters verschoben. (siehe dort). Das ist nützlich, wenn man CC-Werte rhythmisch präzise, z.B. gleichzeitig mit Noten setzen möchte. Man stelle sich Achtelkette vor, die auf jeder Position auch einen CC-Wert ändert.

### 4.2. Interpolation - Automatische Zwischenschritte

Häufig möchte man von einem Startwert einen Zielwert erreichen. Alle Zwischenschritte von Hand als Einzelpunkte zu setzen ist sicherlich musikalisch am wertvollsten, allerdings auch zeitaufwändig.

Laborejo kann automatisch Zwischenschritte generieren, sogenannte Interpolation. Mit der rechten Maustaste auf einen existierenden Punkt kann man diesen editieren und die Interpolation zum Folgepunkt auswählen.

Man sieht dabei stets die tatsächlich Punkte, und nicht eine Verbindungslinie. Es ist also ablesbar wann genau sich der Wert von z.B. 57 auf 58 ändert. Zwischenschritte lässt das MIDI-Protokoll schlicht nicht zu.

Es gibt mehrere (mathematische) Kurven, wie diese Veränderung des Werte auf die vorhandene Zeit aufgeteilt wird. Die einfachste Methode ist "linear", der Vorhandene Zeitraum wird gleichmäßig aufgeteilt. Weitere musikalisch sinnvollere Interpolationskurven probieren Sie am besten selbst aus. Und am Ende des Tages gibt es immer die Möglichkeit die Punkte von Hand zu setzen. Machen Sie keine musikalischen Kompromisse!

Control Changes sind, wie Noten, in Blöcken organisiert. Diese können nach den gleichen Regeln dupliziert, verschoben, verlinkt, getrennt und vereint werden. Bitte lesen Sie dazu das Kapitel über Notenblöcke. Der Unterschied zu Notenblöcken ist, dass bei CCs alles mit der Maus gehandhabt wird.

### 4.3. Control Changes und Midikanäle

Kurzversion: Laborejo kann im Spur-Editor einstellen, auf welchen Midikanälen die CCs gleichzeitig gesendet werden sollen. Hat man ein Instrumente mit "Articulations" auf den Channels sollte man alle nötigen Kanäle für CCs aktivieren. damit sich Änderungen auch auf alle Articulations auswirken.

Lange Erklärung:

Der MIDI-Standard sah ursprünglich vor, dass über ein Kabel (für JACK ist das ein Port, für Laborejo eine Spur) 16 Instrumente gleichzeitig angesteuert werden konnten. Das sind die Kanäle/Channels. Dementsprechend gelten CCs auch immer nur für einen Kanal, da sonst eine Lautstärkenveränderung durch CC7 alle Instrumente gleichzeitig betroffen hätte.

In einer modernen Softwareumgebung, in der sich Laborejo befindet, ist dieses Konzept eigentlich überholt. Ein Instrument wird nun durch einen Port, also ein ursprüngliches Kabel, dargstellt. Die 16 Kanäle haben eigentlich keine Funktion mehr und werden auch in vielen Programmen wie Synthesizern gar nicht mehr benutzt.

Orchestrale Samples, die typischerweise mit Laborejo angesteuert werden, benutzen die freigewordenen Kanäle jedoch häufig, um alternative Spielweisen des selben Instrumentes anzusteuern. z.B. Auf- und Abstriche eines Streichinstruments. (Es gibt auch Alternativen wie Keyswitches, aber die bereiten Ihnen bei CCs keine Probleme, sind also hier nicht Thema).

Die genaue Kanalbelegung eines Instrumentes variiert natürlich von Sample zu Sample. Alle folgenden Zahlen sind nur Beispiele:

Aufstrich ist auf Kanal 2, Abstrich auf Kanal 3. Sendet man während eines Aufstrichs eine CC-Änderung (z.B. "Expression", um Vibrato der linken Hand einzustellen) gilt dieser Wert noch nicht für den Abstrichkanal. Kommt nun der Abstrich auf wird die falsche Vibratoeinstellung benutzt.

Die Lösung ist es CC-Werte auf allen Kanälen gleichzeitig "auf Vorrat" zu senden. Im Spur-Editor kann pro Spur eingestellt werden, welche Kanäle für CCs gelten. Im obigen Beispiel wollen wir also immer auf 2 und 3 senden. Würde sich ein Staccato-Sample auf Kanal 4 befinden müsste dieser auch als CC aktiviert werden.

## 5. Tempospur

Die Tempospur befindet sich ganz oben in der Notenansicht. Sie ist immer vorhanden und sichtbar. Es gilt immer genau ein Tempo gleichzeitig, für alle Spuren.

In der wirklichen Welt hat Musik immer nur genau ein Tempo. In Laborejo wird das praktiziert: Da hier der Computer für Sie "denkt" sind für komplexe Musik keine Notbehelfe oder Selbsttäuschung wie "Polytempo" nötig.

Generell folgt das Setzen von Tempoänderungen dem gleichen Schema wie CCs. Lesen Sie also bitte das Control-Change-Kapitel um das Setzen von Punkten, Interpolation, Blöcke und mehr zu lernen. Tempo ist in MIDI ein eigener Bereich und hat nichts mit Kanälen zu tun. Die ausführliche Betrachtung über Kanäle im CC-Kapitel spielt also hier keine Rolle.

Tempopunkte in Laborejo bestehen aus zwei Werten: Welcher Rhythmuswert (z.B. Viertelnote/D4) wird gezählt und wieviele davon soll es pro Minute geben. Dies folgt dem traditionellen Metronom bzw. BPM (Beats per Minute).

Einige Arbeitsschritte mit dem Tempo sind so häufig, dass es für sie Objekte im `Einfügen`-Menü gibt. z.B. ist eine Fermate in Wirklichkeit eine extreme Verlangsamung des Tempos für eine Notendauer.

Hinweis: Bitte benutzen Sie keinen verlinkten Block als letzten, am Ende der Tempospur. Der letzte Block wird automatisch auf die Länge der längsten Spur erweitert. Das heißt alle verlinkten Versionen werden auch länger! Es entsteht eine unvorhersagbare Verschiebung der Tempospur, die musikalisch unnütz ist.

## 6. Werkzeugkasten

## 7. Raster / Grid

## 8. Hover-Tastasturkürzel

Die Tastaturkürzel ("Shortcuts") in Laborejo sind festgelegt. Manche Befehle, wie z.B. alle im Werkzeugkasten, haben überhaupt keine Kürzel, müssen aber trotzdem sehr häufig aufgerufen werden um normal benutzbar zu sein. Zum Beispiel benötigt das Erzeugen einer zufälligen Melodie das vielfache Erzeugen einer Einzelnote. Jedes mal den Menübefehl mit der Maus aufzurufen wäre eine Zumutung.

Dafür gibt es in Laborejo sog. Hovershortcuts. Hat ein Menübefehl noch kein Tastenkürzel kann man mit dem Mauszeiger über diesem schweben, also einfach darauf zeigen, und dann eine Tastenkombination drücken um sie dem Menübefehl zuzuweisen. Natürlich können nur Tasten verwendet werden, die noch nichts anderes auslösen.

Versucht man einen bereits benutzten Hovershortcut an einen anderen Befehl zu binden wird dessen alte Verwendung gelöscht.

Diese Einstellungen werden auf dem Computer (für Experten: Im Config-Verzeichnis des Benutzers) gespeichert, aber nicht in der Datei.

## 9. Tickwidget

TODO nach Redesign des Widgets.

## 10. Metronom

TODO:

## 11. Lilypond Ausgabe

TODO: Lilypond gibt es, soll hier aber als eigenständiger Bereich erklärt werden. So z.B. transponierte Instrumente hier, anstatt im Transpositionskapitel. Es wird nicht erklärt wie Lilypond funktioniert. Nur klargemacht, dass das die Druckausgabe ist. So richtig komplexe Partituren macht man besser in Lilypond selbst, aber der Laborejoexport sollte ne gute Grundlage sein.

## 12. Eigene Scripte

TODO: Das Interface und Menü fehlt noch. Geht aber schon mit der Testdatei.

## 13. FAQ und Detailerklärungen

Um ehrlich zu sein, niemand hat diese Fragen gestellt. Aber es sind dennoch wichtige Details. Daher verzichten wir auch auf tatsächliche Fragestellungen.

### 13.1. Die gleiche Note zweimal in einem Akkord

Die gleiche Stammnote kann nicht zweimal in einem Akkord vorkommen. Auch Fis mit Fes nicht. z.B. für diese Stimmführung über zwei Leittöne mit zwei Stimmen: `<g g> <ges gis> <f a>`

Das wäre echte Polyphonie und gehört auf eine eigene Spur. Laborejos Philosohpie ist es, dass eine Spur eine Stimme darstelle. Akkorde oder einfache Polyphonie sind aus Bequemlichkeitsgründen möglich, aber bestimmte, komplexe, Stimmführung erfordert echte Stimmführung. Im Fis/Fes-Beispiel ist außerdem zu überprüfen, ob es sich nicht um einen ortographischen Fehler handelt.

### 13.2. Extreme Notenwerte- und Dauern

Nur weil extreme Werte theoretisch unterstützt werden (Maxima- und 1024tel Noten, Noten tiefer oder höher als MIDI 0 und 127) heißt nicht, dass diese auch zur Benutzung gedacht sind. Extremwerte sind ein Toleranzbereich, der es erlaubt während der Bearbeitung kurzzeitig Grenzen zu überschreiten, die nicht erklingen sollen.

z.B. soll eine ganze Reihe Noten, inkl der Midi-Note 120, eine Quinte (7 Halbtöne) nach oben transponiert werden. Der Benutzer entscheidet sich aus Übersichtsgründen erst eine Oktave nach oben (12 Halbtöne) zu transponieren und dann wieder nach unten zu korrigieren. Hier wird kurzeitig die Midi-Note 132 erreicht. Würde Laborejo die pure Existenz dieser Werte ablehnen würde der ganze Prozess gestoppt werden, im schlimmsten Fall mit Datenverlust, da 120 + 12 = 132 ergibt, aber 127 erzwungen wird. Anschließend würde von 127 abwärts gerechnet und es käme die falsche Note heraus.

Analog kann man sich vorstellen, dass so etwas auch mit rhythmischen Längen passieren kann.

Es kann auch vorkommen, dass ein Wert rechnerisch unterstützt wird aber in der grafischen Oberfläche keine Entsprechung hat. Das kommt nur selten vor (z.B. 1024tel Noten) und ist generell unkritisch.

Sollte sich ein Datenverlust dennoch einstellen, der nicht mehr rückgängig gemacht werden kann, bleibt nur noch die Undo-Funktion, da diese sich die tatsächlichen Werte gemerkt hat und nicht einfach den gegenteiligen Befehl ausführt (also nicht Dauer halbieren durch verdoppeln rückgängig machen).

### 13.3. Eine Note auf mehreren Channels gleichzeitig senden

Channel Ranges, also eine Midi-Note mehreren kanälen gleichzeitig, müssen extern gemacht werden. Es gibt eine Reihe an Midi-Programmen und Plugins, die so etwas machen.

Eine Ausnahme sind Control Changes. Diese kann Laborejo auf beliebig vielen Midikanälen gleichzeitig senden. Siehe dazu den Spureditor.

### 13.4. Relative MIDI Programchanges oder Bankchanges

Es gibt zwar relative Midi-Channelchanges, z.B. vom jetzigen Channel +1, aber keine relativen Programchanges oder Bankchanges. MIDI-Kanäle sind in den Zeiten eines Jack-Systems fast schon obsolet und werden hauptsächlich unterstüzt um all die alten Softwaresampler, wie sf2 Player, zu unterstützen, die Kanäle benutzen um Artikulationswechsel (z.B. Aufstrich und Abstrich) zu implementieren.

Programchanges haben historisch nie diese Rolle übernommen und werden daher auch nicht in dieser Funktion unterstützt.

### 13.5. Notizen des Autors. Wenn Sie die sehen habe ich vergessen sie umzuschreiben.

Für Triolen ist es einfacher eine Viertelnote zu setzen und zu splitten anstatt drei Achtelnoten umzuformen.

Beams sind einfachs per Selection, statt Start und Ende zu markieren.

Slurs sind eigene Objekte, Beams nicht. Erklären warum: Bei Slur schreibt man dazwischen, Beam gehört zu einem notenwert, den kann man nicht einfach ändern.

Trackname mit rechtsklick auf den namen geht nur im Blockmodus. Das ist gewollte, damit das nicht im Weg ist. Der normale Weg ist der Trackeditor.

Objekt/Auswahl verdoppeln noch irgendwo ein.

## 14. Installation und Start

Laborejo ist exklusiv für Linux. Am besten installieren Sie Laborejo über deinen Paketmanager. Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitten sie ihre Linuxdistribution Laborejo bereitzustellen.

Falls in den Paketquellen vorhanden bitte direkt bei "laborejo in Agordejo (New Session Manager)" weiterlesen. Falls nicht kann man Laborejo auch selbst "bauen".

Abhängigkeiten

- Eine Liste der Abhängigkeit befindet sich in der README.md

- Kompilieren und Installieren geht entweder mit einem Releasedownload oder mit der Git-Version:

  - Laden Sie von https://www.laborejo.org/downloads die aktuelle Version herunter und entpacken Sie sie.

  - `git clone https://git.laborejo.org/lss/laborejo.git`

- Wechseln Sie in das neue Verzeichnis und benutzen diese Befehle:

  - `./configure --prefix=/usr`

  - Das Standardprefix is /usr/local

- `make`

- `sudo make install`

laborejo im Agordejo (New Session Manager, NSM) starten

- Starten Sie `agordejo`

- Erstellen Sie eine neue Session, geben Sie einen Namen für das Musikstück ein.

- Benutzen Sie den Launcher um `laborejo` hinzuzufügen.

- Fügen Sie beliebige kompatible Programme hinzu, z.B. Synthesizer.

In der Datei README.md befinden sich weitere Möglichkeiten laborejo zu starten. Diese sind zum Musikmachen nicht praktikabel, aber nützlich für Tests und Entwicklung.

## 15. Helfen und Entwicklung

Sie können Laborejo auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing, anderen Nutzern helfen und schließlich programmieren.

### 15.1. Testen und Programmfehler

Falls Sie einen Fehler im Programm entdecken (oder es zu langsam läuft) melden Sie diese bitte auf eine Art und Weise, die ihnen am besten passt.

Kontaktmöglichkeiten

- Bugs und Probleme melden: https://www.laborejo.org/bugs

- Webseite: https://www.laborejo.org

- E-Mail: info@laborejo.org

- Wenn Sie die Gelegenheiten sehen und wissen, dass ein Entwickler es lesen wird sind auch Foren, Socialmedia etc. möglich.

## 16. Entwicklung

Falls Sie an der Entwicklung interessiert sind, melden Sie sich am besten direkt bei uns (s.o.) Kurzversion: clone git, programmieren, einen git-patch erstellen oder uns eine git URL zukommen lassen.

### 16.1. Übersetzungen

Laborejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss. Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrichten.

Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in das Programm einzubinden. Das Programm ist in zwei Teile aufgeteilt: Ein gemeinsames "Template" (für alle Laborejo Software Suit Programme) sowie das eigentliche Programm.

Der Übersetzungsprozess ist der gleiche für beide Teile, man muss ihn jedoch in unterschiedlichen Verzeichnissen durchführen: `template/qtgui` und nur `/qtgui`, relativ zum Stammverzeichnis, wo sich die ausführbare Datei laborejo befindet.

Jedes "template/qtgui" hier kann durch nur "qtgui" ersetzt werden um den zweiten Teil zu übersetzen.

So fügt man eine neue Sprache hinzu:

- Öffnen Sie ein Terminal und navigieren zu template/qtgui/resources/translations

- Bearbeiten Sie die Datei `config.pro` in einem Texteditor.

  - Hängem Sie in der letzten Zeile den Namen der neuen Sprache an, in der Form `XY.ts`, wobei XY der Sprachcode ist.

  - Achten Sie bitte darauf ein Leerzeichen zwischen den einzelnen Sprachen zu lassen

- Führen Sie `sh update.sh` im selben Verzeichnis aus.

  - Das Programm hat nun eine neue `.ts`-Datei im Verzeichnis erstellt.

- Starten Sie Qt Linguist mit `linguist-qt5` (kann evtl. anders heißen) und öffnen von dort die neu generierte Datei.

- Wählen Sie die "Target Language", also Zielsprache, aus und benutzen das Programm um eine Übersetzung anzufertigen.

- Senden Sie uns bitte die .ts Datei, z.B. per E-Mail an info@laborejo.org (s.u bei Bugs und Programmfehler für mehr Kontaktmöglichkeiten)

Die Übersetzung können Sie auch selbst, zum Testen, einbinden. Dafür sind rudimentäre Python Kentnisse nötig.

- Im Qt Linguist "Datei" Menü ist eine "Release" Option. Das erstellt eine `.qm` Datei im gleichen Verzeichnis wie die `.ts` Datei.

- Bearbeiten Sie `template/qtgui/resources/resources.qrc` und kopieren die Zeile `<file>translations/de.qm</file>` . Dabei das Länderkürzel zum Neuen ändern.

- Führen Sie `sh buildresources.sh` aus

- Bearbeiten Sie `engine/config.py`: Die neue Sprache hinzufügen. z.B. `{"German":"de.qm", "Esperanto:"eo.qm"}`

  - Um den Sprachstring herauszufinden öffnen Sie den `python3`-Interpreter im Terminal und führen aus:

  - `from PyQt5 import QtCore;QtCore.QLocale().languageToString(QtCore.QLocale().language())`

Um die neue Übersetzung zu testen starten Sie das Programm, falls ihr System bereits auf diese Sprache eingstellt ist. Ansonsten starten Sie laborejo mit diesem Befehl, Sprachcode ändern, vom Terminal aus:

- `LANGUAGE=de_DE.UTF-8 ./laborejo -V`

1. http://homes.sice.indiana.edu/donbyrd/CMNExtremes.htm