MIDI-Geräteunterstützung

Das System der Kurzbefehl-Mappings wurde intensiv mit dem Behringer X-Touch Mini getestet und enthält den zugehörigen Code mit den spezifischen Eigenschaften dieses Gerätes. Alle anderen Geräte werden als “generische MIDI” behandelt und können oder auch nicht (gut) funktionieren oder erfordern gewisse manuelle Nachjustierung. Konfigurations-Rahmenbedingungen (möglicherweise in lua), um zusätzliche Geräte-spezifische zu unterstützen sind auf der Aufgabenliste.

If you succeed in getting a midi device up and running that hasn’t been mentioned below, it would be greatly appreciated if you would provide feedback in order to assist others, if any special steps are required. You could do this either by submitting a documentation pull request to amend this page or by filing an issue containing the necessary information. Alternatively, you could read or respond to any of the (closed) midi or “inputng” issues or pull requests in the main darktable repository if you need additional help or guidance yourself.

🔗Behringer X-touch Mini

Das Gerät sollte im Standard-Modus verwendet werden (“MC Mode” darf also nicht aktiv sein). Das Umschalten zwischen den zwei Control-Ebenen A und B wird grundsätzlich unterstützt, jedoch gibt es keine aktive Information sobald die Layer gewechselt werden, deswegen sind Änderungen erst dann sichtbar wenn im neuen Layer eine Taste oder ein Dreh-Controller betätigt wird.

Die LED-Ringe rund um die Endlosregler verhalten sich unterschiedlich, je nachdem ob der entsprechende Regler einen symmetrischen +/- Bereich um 0, 0-100 (oder 0-1) hat oder nicht. Bei einem Pulldown-Menü (oder der Bewertungen mit Sternen) wird jeweils eine LED pro Raster-Schritt weitergeschaltet. Bei Pulldown-Menüs mit vielen Einträgen (mehr als 13) - wie z.B. Überblendmodi - gibt es mehrere Umdrehungen; bei der ersten Runde leuchtet jeweils eine LED pro Raster, bei der zweiten Runde leuchten zwei nebeneinanderliegende LEDs.

🔗Arturia Beatstep

Einzelne Drehregler können je nach Einstellung entweder absolute Werte (0-127) oder relative Änderungen (+/- 1,2,3, …) senden. Die empfohlene Einstellung für alle Regler ist Relativ #1, mit “Acceleration” (=Beschleunigung) auf “Slow (Off)” - also keine Beschleunigung - oder “Medium” - also mittlere Beschleunigung. Dies kann mit dem Midi Control Center konfiguriert werden, das für Windows oder MacOS verfügbar ist. Standardmäßig nimmt das darktable midi Modul - für unbekannte Geräte - an, dass Regler absolute Werte verwenden. Nach dem Start muss daher auf den Relativen Modus gewechselt werden. Drehen Sie dafür einen der Regler langsam fünf mal nach links (unten). Dadurch erkennt das Modul welcher Modus verwendet wird. Wenn es beim ersten Versuch nicht funktioniert, können Sie das Eingabe-Modul durch Drücken von Strg+Umschalt+Alt+I neu initialisieren, und es erneut versuchen. Sollten Sie weiterhin Probleme haben, versuchen Sie dies

Bei Tasten-Zuordnungen für Bewertungen mit Sternen, Farbmarkierungen oder Umschaltern, leuchtet die Taste wenn das entsprechende Element aktiviert wird.

🔗Behringer BCR2000

(und möglicherweise BCF2000)

Diese Geräte sind hochgradig konfigurierbar, sodass es viele Einstellungen gibt, die die Interaktion mit dem Midi-Modul von darktable erschweren könnten. Das BC-Manager-Tool (verfügbar für Windows und MacOS) kann verwendet werden, um sie zu konfigurieren. Am einfachsten ist es, alle Encoder und Tasten auf ihre einfachsten Einstellungen zurückzusetzen, was (für den BCR2000) mit dieser Datei erfolgt. Sie können die Datei mit dem BC Manager oder (unter Linux) mit amidi an das Gerät senden. Es gibt auch eine globale Einstellung namens “Deadtime”, die bestimmt, wie lange der BCR nach dem Versenden von Updates ankommende Nachrichten ignoriert. Dies dient dazu, Rückkopplungsschleifen zu vermeiden, aber für darktable bedeutet es, dass die Einstellungen, die unmittelbar nach jeder Rotorbewegung zurückgesendet werden, blockiert werden. “Deadtime” muss also auf 0 gesetzt werden.

Einmal auf diese Weise konfiguriert, sollten alle Tasten- und Drehregler-LEDs funktionieren. Die obere Regler-Reihe (oder die einzige Reihe beim BCF2000) unterstützt verschiedene Lichtmuster (wie der X-Touch Midi, mit einigen zusätzlichen Optionen und hat 15 statt 13 LEDs). Diese zu konfigurieren ist jedoch komplizierter und noch nicht implementiert. Es scheint auch langsamer zu sein, so dass es möglicherweise nicht für jedes Update in Echtzeit machbar ist (wie es beim X-Touch der Fall ist). Daher wird derzeit nur das 12-Punkte-Muster verwendet. Bei Drehreglern, die mit Pulldown-Listen verknüpft sind, gehen die LEDs wie beim X-touch zweimal im Kreis; Bei den ersten 15 Optionen leuchtet nur eine LED, bei den zweiten 15 Optionen leuchten zwei nebeneinanderliegende LEDs.

🔗Loupedeck

(und Loupedeck+, doch keine späteren nicht-MIDI-Geräte)

Ausgehend von den hier bereitgestellten Informationen, sollten die meisten Funktionen der ersten beiden Loupedeck-Modelle (beide Midi-basiert) unterstützt werden, mit den folgenden Ausnahmen und Vorbehalten:

  • Die Tasten Hue/Sat/Lum können den entsprechenden Registerkarten Farbton/Sättigung/Helligkeit im Modul Farbbereiche zugeordnet werden, aber die kleinen Lichter daneben reagieren möglicherweise nicht auf Aktualisierungsnachrichten, die gesendet werden, wenn der Benutzer die Registerkarten mit der Maus wechselt, sodass sie möglicherweise nicht mehr synchron sind.

  • die 8 Schiebe-/Dreh-Regler können individuell den Elementen des Graphen im Modul Farbbereiche zugewiesen werden

Abgesehen davon muss dem Midi-Modul (bis ein Konfigurationssystem implementiert wurde) bei jedem Start mitgeteilt werden, dass das Lupedeck “Relative Encoding” verwendet (ähnlich dem Beatstep). Sie tun dies, indem Sie einen der Drehregler 5 Mal langsam nach unten/links drehen. Wenn es beim ersten Mal nicht funktioniert hat, initialisieren Sie das Gerät mit Strg+Umschalt+Alt+I neu, damit Sie es erneut versuchen können.

🔗Korg nanoKONTROL2

Das Gerät sollte zuerst mit der Anwendung Korg Kontrol Editor so konfiguriert werden, dass es sich im CC-Modus befindet, und jede Taste sollte auf den Typ “Note” sowie “Momentary” eingestellt werden. Um die LEDs in den Tasten zu steuern, sollte der LED-Modus auf Extern eingestellt werden. Es ist wichtig zu beachten, dass die Track- und Marker-Tasten keine LEDs enthalten.

Es gibt hier ein Kontrol-Editor-Profil, das mit der Windows-Anwendung geladen werden kann, um alle diese Einstellungen direkt zu konfigurieren, damit sie mit darktable richtig funktionieren.

🔗Zusätzliche MIDI Konfiguration

Wenn darktable mit portmidi kompiliert ist, wird es beim Start versuchen, bis zu 10 Midi-Geräte in der Reihenfolge zu öffnen, in der es sie findet. Auf der Befehlszeile sehen Sie möglicherweise Folgendes:

[midi_open_devices] opened midi device 'Arturia BeatStep' via 'MMSystem' as midi0
[midi_open_devices] opened midi device 'BCR2000' via 'MMSystem' as midi1
[midi_open_devices] opened midi device 'X-TOUCH MINI' via 'MMSystem' as midi2

Zwei Probleme können auftreten:

  • ein Gerät, das Sie nicht verwenden möchten, könnte trotzdem geöffnet werden (und möglicherweise unangemessenes Verhalten verursachen, wie das vorzeitige Starten einer Feuerwerksshow (siehe [dieses Dokument](http://webcache.googleusercontent.com/search?q=cache:6EcEOjfjiAkJ :gmbh.pyropak.com/docs/downloads/surefire-prologic-digital-controller_rev2010.pdf+&cd=1&hl=en&ct=clnk&gl=us)), oder

  • Geräte werden beim nächsten Start möglicherweise in einer anderen Reihenfolge angezeigt (z. B. weil sie an einem anderen USB-Anschluss angeschlossen sind). Da Konfigurationen nur mit der Gerätenummer gespeichert werden, würde eine Neubestellung dazu führen, dass ein falsches Layout aufgenommen wird.

Mit dem Konfigurationsparameter darktable-Voreinstellungen > Verschiedenes > Benutzeroberfläche > Midi Devices anordnen oder ausschließen können Sie angeben, welche Geräte explizit an einem bestimmten Ort geladen und welche übersprungen werden sollen. Um das Laden des BCR2000 im obigen Beispiel zu überspringen und die anderen beiden Geräte in den Slots Nummer 0 und 2 zu fixieren, könnten Sie diesen Konfigurationsparameter auf “BeatStep;dontuse;X-TOUCH;-BCR2000” setzen. Dies würde den BeatStep als Gerät Midi0 belassen, Midi1 immer unbenutzt lassen und den BCR2000 überhaupt nicht laden, aber wenn irgendwelche anderen Geräte angeschlossen sind, würden sie als Midi3, Midi4 und so weiter erscheinen. Das Hinzufügen von “;-” am Ende würde verhindern, dass weitere Geräte geladen werden. Oder wenn Sie den Konfigurationsparameter nur als einzelnes Minuszeichen “-” angeben, werden überhaupt keine Geräte geladen.

Midi-Controller-Knöpfe können mehrere verschiedene “Codierungen” verwenden. Der Standardwert „absolut“ sendet einen Wert von 0 (ganz links) bis 127 (ganz rechts) – Schieberegler können auch absolute Kodierung verwenden. Relative Encoder senden einen “Down”-Wert, wenn Sie sie nach links drehen, und einen “Up”-Wert, wenn Sie sie nach rechts drehen. Wenn Sie also einen von diesen langsam nach oben drehen, wird beispielsweise „1, 1, 1, 1“ gesendet. Aber je nachdem, wie viele Bits verwendet werden und welche Codierung verwendet wird, kann eine langsame Linksdrehung 127 (8 Bits -1) oder 63, 31 oder 15 sein. Oder sogar 65. Wenn in dieser Einstellungsoption nichts angegeben ist, es wird davon ausgegangen, dass Midi-Geräte absolute Kodierung verwenden. Aber wenn die ersten fünf empfangenen Nachrichten identisch sind, wird angenommen, dass der Benutzer langsam einen Knopf nach links/unten gedreht hat, und die Codierung wird daraus abgeleitet und in einem Toast angezeigt. Die Codierung wird nicht für jedes Gerät gespeichert, daher muss dieses Manöver bei jedem Start wiederholt werden. Um die abgeleitete Codierung für den nächsten Start zu definieren, können Sie diesen Parameter zur Einstellung “Midigeräte bestellen oder ausschließen” hinzufügen. Zum Beispiel “Loupedeck:127”.

Einige Midi-Controller haben Tasten mit einem Licht darunter. Diese können verwendet werden, um Einstellungen umzuschalten und die aktuelle Position anzuzeigen, indem das Licht ein- oder ausgeschaltet wird. In diesem Fall überprüft darktable regelmäßig (ein paar Mal pro Sekunde), ob sich beispielsweise die Position einer Umschalttaste auf dem Bildschirm geändert hat, und sendet Nachrichten an alle verknüpften Midi-Gerätetasten, um deren Licht ein- oder auszuschalten. Wenn jedoch versehentlich ein unbekanntes Gerät angeschlossen wurde, kann dies unerwünscht sein. Daher wartet darktable standardmäßig, bis eine “Note”-Nachricht von einer Midi-Taste empfangen wird, bevor es irgendwelche “Note”-Licht-Ein/Aus-Nachrichten für diese Taste zurücksendet. Es werden nicht mehr Tasten angesprochen, als auf dem Gerät vorhanden sind. Wenn Sie möchten, dass sofort alle Tastenleuchten verwendet werden (anstatt die höchste Note einmal für jede Sitzung drücken zu müssen), können Sie die Anzahl der Tasten in der Einstellung „Midigeräte bestellen oder ausschließen“ angeben, zum Beispiel „BeatStep:63 :16".

translations