You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

626 lines
29 KiB

:Author: Laborejo Software Suite
:Version: 1.2.2
:iconfont-remote!:
:!webfonts:
////
This documentation is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a
letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
A copy of the license has been provided in the file documentation/LICENSE.
////
////
https://powerman.name/doc/asciidoc
https://asciidoctor.org/docs/user-manual/
////
:sectnums:
:toc: left
:toc-title: Inhaltsverzeichnis
:toclevels: 3
= Vico
// Don't write in the empty line above line. It will be interpreted as author html tag
Für Programmversion 1.2.2
== Bedienung
Schön, dass Sie sich für Vico entschieden hast. Es handelt sich um einen minimalistischen
Midi-Sequencer, der parallel zu anderer Software eingesetzt werden soll.
"Vico" (mit c als 'z'/'ts' wie in Zirkel) heißt Reihenfolge auf Esperanto, da es sich um einen
"Sequencer" handelt.
=== Anwendungszweck und Zielgruppe
In einer loop- oder patternbasierten Umgebung möchte man oft einen 'freien' Track habe, um etwa ein
Instrumentalsolo umzusetzen.
Manchmal möchte man auch nur schnell eine Skizze oder Idee aufnehmen und dazu nicht gleich ein
ganzes DAW-Projekt öffnen oder erstellen.
Vico erfüllt diese Bedingungen indem es genau eine Aufnahmequelle mit einer Ausgabe verbindet und
dazwischen aufnehmen und bearbeiten kann. Oder anders gesagt: man bekommt nur einen Track, gedacht
für ein Instrument (dafür aber mit nützlichen Ebenen)
Vico ist in erster Linie für Benutzer von Patroneo geschrieben worden, hat dazu aber keine engere
technische Bindung. Patroneo ist ein Programm geprägt von strengen Wiederholungen und ständiger
Wiederverwendung von sehr kurzen Mustern. Damit kann man schnell ganze Arrangements für Schlagzeug,
Bass und Begleitakkorde aufbauen, aber eine schöne, lange Melodie ist extrem umständlich. Daher
hier das Programm für genau diesen Zweck.
Alle Programme, die als JACK-Transport-Master oder JACK-Timebase-Master laufen können Vico
fernsteuern.
=== Grundlagen
Vico erzeugt selbst keine Klänge und bietet nur einen einzigen Ausgang für JACK-Midi und ordnet alle
Events auf bis zu zehn Ebenen, ähnlich wie in Grafikprogrammen.
Es gibt einen Eingang für JACK-Midi, an dem man MIDI-Instrumente oder andere Programme anschließen
kann.
Beim Start sieht man einen leeren Track. Der Playhead befindet sich immer an der Stelle, an der
JACK Transport sich befindet.
Die Taktstriche werden ebenfalls im Metrum des JACK Masters gezeigt. Falls nicht vorhanden gibt es
keine.
Ein roter Playhead zeigt an, dass man sich im Aufnahmemodus befindet; Läuft Transport wird
aufgenommen, etwa von einen Midikeyboard.
Mit Maus und Tastatur können außerdem alle Events von Hand gesetzt und nachträglich verändert
werden (s.u.). Bis auf Velocity werden alle Events im Haupttrack dargestellt.
Zur Vereinfachung kann man ein Rhythmusraster ein- und ausschalten sowie einstellen in welchem
Raster Events erzeugt oder verschoben werden sollen.
Alles Bearbeiten erfordert das Erstellen einer Auswahl ("Selection") indem man mit Umschalten und
der linken Maustaste einen Rahmen zieht. Ein Klick mit der rechten Maustaste beendet die Auswahl.
Starten, speichern, laden und schließen ihres Projektes wird am besten durch den New Session
Manager (Agordejo) erledigt.
=== MIDI-Unterstützung
Vico unterstützt alle MIDI Channel-Nachrichten:
* Noten (ON 0x80 und OFF 0x90 sind als Rechtecknote zusammengefasst)
* Control Changes (0xB0)
* Program Change (0xC0)
* Channel Pressure / "Monophonic Aftertouch" (0xD0)
* Pitch Bend (0xE0 - nur 7bit MSB)
* Polyphonic Aftertouch (0xA0)
Alle Nachrichten können entweder live aufgenommen werden oder mit der Hand eingetragen werden.
Nachbearbeitung ist für alle Channel-Nachrichten möglich.
Der Midikanal wird bei der Aufnahme verworfen. Statt dessen hat jede Ebene die Möglichkeit einen
Kanal einzustellen, auf dem gesendet wird.
Alle nichtmusikalischen Events (0xF...) werden ignoriert, inkl. aller Nachrichten zu MIDI-Transport
(nicht JACK-Transport), Tune-Request usw. Gleiches gilt für SystemExclusive Events.
=== Maus und Tastaturkürzel
Alle Tastaturkürzel ("Shortcuts") sind in den Menüs zu finden, es gibt keine "geheimen" Tasten.
Im Gegensatz dazu sind Mausbefehle überhaupt nicht in der grafischen Oberfläche einzusehen und
müssen hier gelernt werden:
(LM = Linke Maustaste, RM = Rechte Maustaste, Rad = Mausrad bewegen, MM = Mittlere Maustaste, meistens das Rad selbst drücken)
* Umschalten + LM gedrückt halten, Maus bewegen: Zieht einen Rahmen um Events auszuwählen.
* RM auf den Hintergrund: Löst die Auswahl wieder auf.
* LM auf ein ausgewähltes Event, dann Maus bewegen: Verschiebt die ausgewählten Events nach oben/unten oder links/rechts
* Steuerung (Strg) dabei gedrückt halten: Bewegt nur nach links / rechts
* Alt dabei gedrückt halten: Bewegt nur nach oben / unten
* MM: Spielt die Note unter dem Mauszeiger ab. Es muss keine tatsächliche Note dort sein, die Position alleine reicht. Dies geht auch auf dem Klavier am linken Rand.
* RM auf ein Event: Öffnet ein Menü mit weiteren Funktionen.
* Rad: Scrollt den Notenbereich hoch und runter
* Rad, dabei Alt gedrückt halten: Scrollt den Notenbereich links und rechts
* Rad auf Velocities im unteren Bereich: Ändert die Lautstärke der einzelnen Note, unabhängig der momentanen Auswahl
* Strg + Leertaste: Startet Playback an der Mauszeigerposition
== Beschreibung der grafischen Oberfläche und ihrer Funktionen
image::overview-german.png[Screenshot mit Beschriftung, link="overview-german.png"]
Alle Punkte, und mehr, werden weiter unten ausführlich besprochen.
* *[A]* Menüleiste
* *[B]* Hauptansicht (Noten und Events)
* *[C]* Klavier am linken Rand
* *[D]* Velocityansicht
* *[E]* Einige Noten
* *[F]* Ein weiteres Event, als Beispiel
* *[G]* Statusleiste mit aktueller Ebene und Ebenen-MIDI-Kanal
Im Normalfall, wenn Vico im New-Session-Manager läuft, gibt keine interne Möglichkeit das Programm
zu *beenden*. Benutzt man die Funktion seinen Fenstermanagers wie [X], Alt+F4 etc. wird die
grafische Oberfläche lediglich versteckt.
Um Vico wirklich zu schließen kann man in Agordejo (New Session Manager) stoppen. Hier
kann man auch die Sichtbarkeit wieder herstellen.
Die momentane Sichtbarkeitseinstellung wird gespeichert.
== Klavier am linken Rand
Am linken Rand des Programmfensters befindet sich eine gedrehte Klaviatur. Sie dient ausschließlich
als Orientierungshilfe.
Die Zahlen zwischen 0 und 127 in den Tasten sind MIDI-Tonhöhen. 60 ist in diesem System das mittlere
C.
Hält man die mittlere Maustaste gedrückt und fährt über die Tastatur erklingt der Ton über das
verbundene Instrument.
== Hauptansicht
Die Hauptansicht nutzt Rhythmus als lineare Ausdehnung (technisch: Midi-Ticks).
Das bedeutet, dass eine Note mit gleicher Dauer immer gleich lang aussieht.
Verändert sich das Tempo (BPM) dann bewegt sich der Playhead schneller oder langsamer.
Im Umkehrschluss bedeutet das, dass es keine Zeitleiste geben kann, an der man sieht bei welcher
Sekunde ein Event stattfindet.
=== Bewegen und Navigation
Mit dem Mausrad scrollt man die Hauptansicht nach oben und unten. Mit gedrückter Alt-Taste scrollt
man stattdessen nach vorne oder hinten (links / rechts)
Das "Navigation"-Menü bietet weitere Möglichkeiten.
=== Zoom und Skalierung
Hält man Strg gedrückt und dreht das Mausrad wird die Ansicht größer oder kleiner.
Hält man zusätzlich noch Umschalten gedrück wird nur die Zeitachse skaliert. Noten werden
zusammengedrückt oder auseinandergezogen, so dass man entweder mehr auf einmal sehen kann oder
genauere Anfangs- und Endpositionen setzen kann.
Zoom und Skalierung ist rein grafisch und hat keinerlei Auswirkung auf die Musik selbst.
=== Ebenen
Noten werden nicht in Tracks, sondern in Ebenen organisiert. Es gibt derer zehn.
Im "Ebenen"-Menü, oder mit den Funktionstasten F1 bis F10, kann die momentane Ebene ausgewählt werden.
==== Schatten
Ebenen liegen hintereinander und verdecken sich gegenseitig. Man kann allerdings sogenannte Schatten
aktivieren,
die eine andere Ebene auf die momentane projizieren. Schatten können nicht bearbeitet werden.
Alle Schatten verschwinden,sobald man die aktive Ebene verändert.
Umschalten+Funktionstaste, z.B. F3, zeigt die dritte Ebene als Schatten. F12 zeigt alle als Schatten.
==== Farben
Jede Ebene kann eine Farbe haben, diese ist im Ebenenmenü auswählbar. Hauptsächlich sind Noten und
Events in dieser Farbe. Der Mauszeiger ist immer in der gegenteiligen Farbe.
==== Midi-Kanal
Kanäle sind keine Eigenschaften der Events. Jede Ebene hat einen eigenen Midikanal,
zwischen 1 und 16, auf dem gesendet wird. Bei einem neuen Projekt ist das immer Kanal 1.
Bei der Aufnahme wird zwar auf allen eigehenden Midikanälen zugehört, allerdings wird der Kanal
sofort verworfen und auf den jeweiligen Ebenenkanal geändert.
== Live Aufnahmen
Vico hat einen MIDI-in Jackport, an dem man beliebige Programme oder Hardwareinstrumente anschließen
kann.
Der Eingangsport leitet, unabhängig von der Verarbeitung in Vico selbst (Aufnahme oder nicht), alles
sofort an den Ausgangsport durch, allerdings mit dem Kanal der jeweils aktuellen Ebene. Die
Weiterleitung geschieht in Echtzeit (Realtime).
Um etwas aufzunehmen muss der Aufnahmemodus aktiviert sein (Bearbeiten->"Aufnahmemodus
umschalten"). Dies ist bei Programmstart bereits der Fall. Ein roter Playhead zeigt
Aufnahmebereitschaft, ein schwarzer ist reines Abspielen. Zusätzlich muss Transport laufen. Ist
beides nicht der Fall reagiert Vico, z.B. auf Noten, indem es die Tonhöhe farbig markiert.
Da Vico immer der JACK Timebase folgt (s.u.) geschieht die Aufnahme auch an dieser Position.
Man kann also in einem anderen Programm genau an die Stelle springen zu der man etwa ein Solo
aufnehmen möchte und in diesem Programm auch auf Play drücken. Im Prinzip kann Vico wie ein im
Hintergrund laufendes Programm benutzt werden (was mit NSMs GUI-verstecken auch tatsächlich geht).
=== Ebenen-Filter
Es passiert schnell, dass man eine Fülle von Events aufzeichnet, die das weitere Bearbeiten extrem
erschweren können. Man stelle sich vor, dass zu einer Melodie auch noch MIDI Aftertouch auf jeder
Note aufgezeichnet wird und darüber hinaus das Modwheel (CC) benutzt wird. Schon ist der ganze
Bildschirm voller Symbole.
Im Menü "Filter" befinden sich mehrere Möglichkeiten um Events auf Ebenen umzusortieren.
Die einfachste Anwendung ist einen Filter für alle Ebenen zu benutzen und dort lediglich den
Event-Typ einzustellen, z.B. Aftertouch. Nun werden alle Aftertouch-Events auf die aktuelle Ebene
verschoben.
Darüber hinaus kann man die Zielebene natürlich selbst einstellen. Auch ist es möglich die jeweiligen
MIDI Bytes als Ober- und Untergrenze zu definieren.
Beispiel: Event-Typ "Note" mit Byte1 Minimum 0 und Maximum 59 verschiebt alle tiefen Noten, z.B.
die Begleitung eines Klavierstückes, auf die Zielebene aber lässt alle hohen Noten stehen.
Die weiteren Menübefehle in "Filter" bieten Variation, funktionieren aber nach dem gleichen Muster.
=== JACK Transport und Timebase: Taktstriche
Vico wurde mit dem erklärten Ziel konstruiert, untergeordnet in einer Session zu laufen.
Startet man es alleine kann man natürlich aufnehmen und alle Funktionen benutzen, aber man sieht
keine Taktstriche und es ist ein bischen schwieriger die richtige Stelle zu finden.
Gibt es hingegen ein Programm, dass als JACK Timebase "Master" fungiert folgt Vico dessen Taktart
und Position.
Mit "Bearbeiten"->"Zeige Rhythmus Raster" (Taste L) kann man Taktstriche auch komplett ausschalten.
Vico hat keine festgesetzte Länge. Die Hauptansicht hat praktisch unendliche Länge, und man arbeitet
stets an der Stelle, an der sich alle anderen Programme auch befinden.
Sobald Transport läuft springt die Hauptansicht zum Playhead, es sei denn
Bearbeiten->"Playhead stets zentrieren" ist ausgeschaltet.
Starten und Stoppen des Transports ist von jedem laufenden JACK-Programm möglich, inkl. Vico selbst.
(Leertaste)
== Noten und Events
Möchte man Noten und Events mit Maus und Tastatur einfügen, und nicht per MIDI Instrument aufnehmen,
stehen in den Menüs "Eingabe" und "Raster" zahlreiche Möglichkeiten zur Verfügung.
Alle Events werden immer auf dem Midi-Kanal ihrer Ebene gesendet.
=== Events löschen
Momentan ausgewählte Events (s.u.), inkl. Noten, können mit der Entfernen Taste gelöscht werden.
Alternativ kann man im "Bearbeiten"-Menü löschen.
=== Noten
Bei Programmstart ist der Mauszeiger ein kleines Rechteck mit einem Text zur Tonhöhe. Dies ist der
Modus zum eingeben von Noten mit beliebiger Länge. Durch gedrückt halten und ziehen der linken
Maustaste können Noten gezeichnet werden. Man muss zuerst den Mauszeiger auf die richtige Tonhöhe
bringen, dann anfangen zu zeichnen.
Im Eingabemenü stehen feste Tondauern zur Verfügung. Diese können durch die Zahlentasten ausgewählt
werden. Nach Taste "1" fügt ein Klick mit der linken Maustaste eine Ganze Note ein, mit "2" eine
Halbe Note usw. "0" wählt wieder den freien Modus aus.
Punktierte Notenlängen können hier für alle festen Dauern an und ausgeschaltet werden.
Eingefügte Noten haben eine Durchschnitts-Velocity (Median) aus allen bisherigen Noten.
=== Weitere Events
Alle anderen Events können ebenfalls mit der Maus eingefügt werden. Das ist aufgrund großer
Datenmengen evtl. nicht sehr bequem oder schnell, aber immerhin möglich. Eine Liveaufnahme ist
wahrscheinlich vorzuziehen.
==== Control Changes (0xB0)
Zunächst muss man in einem Submenü den CC Typ auswählen, etwa "Volume (CC7)".
Die Höhe in der Hauptansicht bestimmt nun die Intensität von 0 bis 127.
Möchte man Control Changes eines anderen Typs setzen muss man den Menüeintrag erneut auswählen
(oder das Tastenkürzel drücken).
Control Changes können nicht nachträglich ihren Typ ändern, z.B. von Modwheel zu Volume. Man müsste
sie löschen und neu erstellen.
==== Program Change (0xC0)
Um das Programm zu wechseln, um ein anderes Instrument auszuwählen, muss man lediglich das
Event auf eine Position setzen. Die Beschriftung zeigt an um welche Programmnummer und
General-Midi-Instrument es sich handelt. Folgt das verbundene JACK-Intrument nicht der MIDI-Benennung
kann man die Namen natürlich ignorieren.
==== Channel Pressure / "Monophonic Aftertouch" (0xD0)
Channel Pressure präsentiert sich als ein simples X ohne weitere Beschriftung oder Auswahlmöglichkeit.
Je "höher" die Position, desto intensiver.
==== Pitch Bend (0xE0 - nur 7bit MSB)
Pitch Bend präsentiert sich als kleiner Kreis ohne weitere Beschriftung
oder Auswahlmöglichkeit. Je "höher", desto intensiver.
==== Polyphonic Aftertouch (0xA0)
Zunächst muss man in einem Submenü die Note auswählen, für die Aftertouch gelten
soll. Anschließend kann man das Event einfügen. Intensität ist auch hier wieder die "Tonhöhe".
Möchte man Polyphonic Aftertouch für eine andere Note setzen muss man den Menüeintrag erneut
auswählen (oder das Tastenkürzel drücken).
Polyphonic Aftertouch können nicht nachträglich ihren Bezug zur Tonhöhe ändern.
Man müsste sie löschen und neu erstellen.
== Events bearbeiten und verschieben
Alle Events lassen sich nachträglich bearbeiten. Hat man Ordnung durch Ebenen hergestellt, etwa
durch Filter, gestaltet sich dies umso einfacher.
Schreiben von Textanmerkungung ist die einzige Funktion in der Hauptansicht,
die keine Auswahl benötigt.
Alles weitere benötigt zwingend ausgewählte Events, selbst wenn es nur ein einziges ist.
=== Textanmerkung
Existiert gerade keine Auswahl ermöglicht es die rechte Maustaste auf ein Event eine Textanmerkung
zu schreiben. Sie hat keine Auswirkung auf die Musik.
=== Auswahl
Das wichtigste zuerst: Ein Klick mit der rechten Maustaste ist die beste Möglichkeit die Auswahl
aufzuheben.
Hält man die Umschalten-Taste gedrückt verschwinden die Event-Symbole am Mauszeiger. Statt dessen
erhält man den normalen Zeiger und kann durch drücken, halten und ziehen ein Rechteck ziehen um
Events auszuwählen.
Zusätzliche markierte Events werden zur bestehenden Auswahl hinzugefügt.
Die Auswahl kann sich über mehrere Ebenen ausdehnen.
Die Hauptansicht scrollt automatisch wenn man mit dem Mauszeiger an den linken bzw. rechten Rand
kommt. Oft ist aber rauszoomen die bessere Methode um viele Events auf einmal zu markieren.
Das "Bearbeiten"-Menü bietet die Möglichkeit die ganze Ebene zu wählen (Strg+A) oder sogar alle
Ebenen (Strg+Umschalten+A)
==== Auswahl umkehren
Benutzt man die Strg-Taste, anstatt Umschalten, kehrt sich die Auswahl um: Ausgewählte Noten werden
aufgehoben, alle anderen werden markiert.
Das ist besonders nützlich wenn man einzelne Noten aus einer Auswahl herausnehmen möchte, etwa
nach Strg+A.
=== Event-Position verändern
Durch Drück/Halten/Ziehen mit der linken Maustaste können alle Events sowohl in ihrer zeitlichen
Position (links/rechts) als auch in ihrer Tonhöhe bzw. Event-Intensität (hoch/runter) verändert
werden.
Hält man dabei die Alt-Taste gedrückt bewegen sich Events nur noch nach links/rechts, egal ob die
Maus auch hoch und runter fährt. Das erhöht die Kontrolle und vermeidet Ausrutscher in der Tonhöhe.
Hält man dabei die Strg-Taste gedrückt bewegen sich Events nur noch nach oben/unten, egal ob die
Maus auch nach links oder rechts fährt. Das erhöht die Kontrolle und vermeidet Ausrutscher in der
Position in der Zeit.
Man kann auch die Pfeiltasten benutzen um Events Schrittweise in alle Richtungen zu verschieben.
Diese Methode ist mitunter am schnellsten und genauesten.
=== Notenlängen verändern
Noten in der Auswahl können sowohl in ihrer Dauer nach vorne, wie auch nach hinten verändert werden.
Dazu kann man mit der Maus am linken oder rechten Rand einer Note mit der linken Maustaste
drücken/halten/ziehen. Alle markierten Noten werden um das gleiche Maß verändert.
Es gibt eine Mindestdauer, die nicht unterschritten werden kann. Dabei muss nur eine der
ausgewählten Noten an diese Mindestdauer stoßen, damit der gesamte Prozess gestoppt wird.
Sind gleichzeitig Nicht-Noten markiert werden diese bei der Aktion ignoriert.
=== Raster und Positionen einrasten
Das "Raster"-Menü ermöglicht es Events auf feste Position zu setzen. Bei Programmstart ist das
Raster zunächst ausgeschaltet: freie Positionierung auf jeder Zeitposition ist möglich.
Wie die Zifferntasten Tondauern, so stellen Umschalten+Ziffern das Rhythmusraster ein.
Ein Viertelnotenraster lässt nur noch Events und Tonanfänge auf Viertelnotenpositionen zu.
Das Raster auf Achtel- oder Sechzehntelnoten zu stellen ist meistens ein guter Kompromiss zwischen
robuster Eingabe und rhythmischer Flexibilität.
Bei freier Notenlänge (Umschalten+0) ist der Anfang ans Raster gebunden, das Ende ist jedoch frei.
Beim Verändern von Notenlängen ist das Raster aktiv.
=== Notenlautstärke / Velocity verändern
In der Hauptansicht kann man die Lautstärken von Noten nur durch Menübefehle verändern. Eine weitere
Möglichkeit bietet die Velocityansicht (s.u.).
Das "Bearbeiten"-Menü bietet mehrere Optionen:
Man kann Velocities schrittweise erhöhen oder ernierigen. Die Tastenkürzel sind + und -.
Dazu gibt es einen Befehl, der es ermöglicht entweder relativ alle Noten zu verändern oder absolute
alle auf einen festen Wert zu setzen. Schreibt man ein "+" oder "-" vor den Wert in der Eingabezeile
wird die Änderung als relativ angesehen.
Beispiel: "+23" erhöht alle Velocities um 23. "23" setzt alle auf 23, "-42" verringert alles um
42.
Achtung! Es wird technisch zugelassen Velocities kleiner als 0 und größer als 127 zu haben. Das ist
musikalisch nicht möglich und muss von Hand beachtet und korrigiert werden.
Ein weiterer Befehl ist es Velocities zu "komprimieren". Hierbei werden alle proportional in einen
neuen Rahmen gepresst. Zum Beispiel: Velocities 0 (niedrigster), 64 (mitte) und 127 (höchster)
werden komprimiert in den Rahmen zwischen 70 und 90. Dann bekommen wir: 70 (niedrigster), 80 (mitte),
und 90 (höchster).
Bei all diesen Befehlen werden Nicht-Noten ignoriert.
=== Kopieren, Ausschneiden, Einfügen
Wie in fast allen Programmen gibt es Kopieren, Ausschneiden und Einfügen bzw. Copy, Cut, Paste.
Die üblichen Tastenkürzel werden benutzt: Strg+C, Strg+X, Strg+V.
Ausgewählten Noten werden mit Strg+C in einen Hintergrundspeicher kopiert; mit Strg+X wird die
Originalauswahl zusätzlich gelöscht. Da die Auswahl mehrere Ebenen überspannen kann, kann man auch
von mehreren Ebenen kopieren.
Mit Strg+V wird nun *an der selben Stelle* eine Kopie eingefügt.
Es ist möglich die Ebene zu wechseln um dort eine Kopie einzufügen.
Fügt man auf der selben Ebene ein überlagern sich die Noten zunächst, sind also "unsichtbar"!
Es ist aber nur ein Satz an Noten ausgewählt! Das heißt man kann sofort verschieben.
=== Änderungen rückgängig machen / Undo & Redo
Strg+Z ("Undo") macht die jeweils letzte Änderung rückgängig.
Strg+Umschalten+Z ("Redo") widerruft das letzte Undo, geht also wieder einen Schritt zurück
(...nach vorne?). Hat man inzwischen selber wieder etwas geändert ist Redo nicht mehr möglich.
Undo ist nur bis zum Zustand des Programmstarts möglich.
== Velocityansicht
Am unteren Rand des Programmfensters befindet sich die Velocityansicht. Sie dient als Übersicht über
Lautstärken und ermöglicht außerdem das Verändern von Einzelnoten.
Das besondere an dieser Ansicht ist, dass sie erstens nur Noten anzeigt, und keine anderen Events,
und zweitens nur die ausgewählten Noten anzeigt. So können selbst Einzelnoten aus Akkorden genau
angesehen werden.
Die Velocityansicht zeigt alle Noten unterhalb ihrer Anfangsposition in der Hauptansicht, scrollt also mit.
Jeder Balken ist eine Note. Der Rhythmus wird nicht dargestellt; alle Balken sind gleich breit.
Zeigt der Mauszeiger auf einen Balken ändert das Mausrad die Velocity in Zweierschritten von genau
dieser einen Note.
Um Velocities aller ausgewählten Noten auf einmal zu veränden muss man jedoch die Menübefehle im
"Bearbeiten"-Menü benutzen (s.o.)
== Verschiedenes für fortgeschrittene Benutzer
=== Parameter und Einstellungen am Anfang des Stückes
Es gibt keine verstecken Daten oder Einstellungen. Alles, was Vico sendet ist auch für den
Benutzer zu sehen. Das bedeutet vor allem, dass es keine Starteinstellungen gibt.
Zum Beispiel: Ändert man am Ende eines Stücks für z.B Geige das Instrument auf eine Bratsche
(Program Change) und spielt dann von vorne ab wird es immer noch die Bratsche sein, da das
verbundene JACK-Instrument keine Nachricht bekommen hat auf die Geige zu wechseln. Man muss also
ganz am Anfang die Geige explizit setzen. Ähnliches gilt für Pitchbend oder Control Changes wie
Klavierpedal, Modwheel, Expression etc.
=== MIDI Parameter mit hoher Auflösung (MSB und LSB)
Manche MIDI Parameter sind 14bit, statt der üblichen 7bit. Sie werden aus zwei Werten
zusammengesetzt. Das ist standard Midipraxis und muss an anderer Stelle gelernt werden.
Für Vico gilt, dass diese Werte auch als zwei getrennte 7bit-Einträge gesetzt werden müssen.
=== Überlappende Noten
Das MIDI Format verbietet nicht, dass auf ein Note-On ein weiteres Note-On der gleichen Tonhöhe
folgt, ohne dass vorher ein Note-Off kam. Ach wenn es das in den meisten Fällen wenig musikalischen
Sinn macht ist es erlaubt und von daher von Vico unterstützt. Im Allgemeinen sollte man versuchen
sich überlappende Noten der gleichen Tonhöe zu vermeiden (auch auf mehreren Ebenen, wenn diese den
selben Midikanal teilen).
=== "Control Changes sind falsch herum in Vico!"
Schlaue MIDI-Füchse wissen: MIDI Nachrichten haben zwei Parameter (Byte1 und Byte2). Bei Noten ist
Byte1 die Tonhöhe und Byte2 die Velocity. Bei Control Changes ist Byte1 der Typ (z.B. Volume) und
Byte2 die Intensität. Aber in Vico wird bei CCs Byte2 als Tonhöhe dargestellt, damit man diese
hoch und runter schieben kann.
=== Rundungsfehler: Meine Noten sind an der Falschen Stelle
Mathematik und Computer lassen sich irgendwann nicht mehr austricksen.
Wenn bei extremer Skalierung (Strg+Umschalten+Mausrad), wenn Noten sehr stark zusammen gepresst
werden, 64tel Noten auf ein 64tel Raster gesetzt werden wollen kommt es evtl. zu Rundungsfehlern
und damit zu Fehlpositionierung um einige Pixel bzw. Midi-Ticks. Lösung: Skalierung verändern,
Noten "länger" darstellen lassen.
== Installation und Start
Vico ist exklusiv für Linux. Am besten installieren Sie Vico über deinen Paketmanager.
Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitten sie ihre
Linuxdistribution Vico bereitzustellen.
Falls in den Paketquellen vorhanden bitte direkt bei "vico in Agordejo (New Session Manager)" weiterlesen.
Falls nicht kann man Vico 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/vico.git`
* Wechseln Sie in das neue Verzeichnis und benutzen diese Befehle:
*`./configure --prefix=/usr`
** Das Standardprefix is /usr/local
* `make`
* `sudo make install`
.vico 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 `vico` hinzuzufügen.
* Fügen Sie beliebige kompatible Programme hinzu, z.B. Synthesizer.
In der Datei README.md befinden sich weitere Möglichkeiten vico zu starten. Diese sind zum
Musikmachen nicht praktikabel, aber nützlich für Tests und Entwicklung.
== Helfen und Entwicklung
Sie können Vico auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing,
anderen Nutzern helfen und schließlich programmieren.
=== 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.
== 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.
=== Übersetzungen
Vico 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
vico 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 vico mit diesem Befehl, Sprachcode ändern, vom Terminal aus:
* `LANGUAGE=de_DE.UTF-8 ./vico -V`