VirtualDJ7 Pro und DMXControl 2

Aus Deutsches DMXC-Wiki

Einleitung

Ich hab lange drüber nachgedacht, wie ich aus VirtualDJ den exakten Beat rauskriegen kann. Im Forum steht ganz oft, dass es nichtmehr geht ab Version 7. Aber ich dachte, dass es doch irgendwie gehen muss. Dann ist mir eingefallen, dass unser Midi-Controller (Numark Mixtrack Pro) auch die LEDs der SYNC-Tasten im Beat blinken lässt und da es ja nur ein Midi-Controller ist, muss das auch mit DMXControl gehen. Da die Midi-Funktion bei der Home- bzw. Free-Version deaktiviert/auf 10min begrenzt ist, funktioniert das folgende Tutorial nur mit der Pro Version von VirtualDJ. Es kann durchaus sein, dass es auch mit mitgelieferten LE Versionen von Controllern funktioniert, das hab ich nicht getestet.
Letztendlich gab es dann 2 Möglichkeiten, zuerst eine von mir (etwas komplizierter) und dann eine von mirka21.

leichte Lösung

via MidiMapper, würde ich jedem empfehlen.
von mirka21

benötigte Software

Die Programme müssen alle installiert sein, die Reihenfolge ist egal.

  • VirtualDJ 7 Pro
  • ein virtuelles MIDI-Kabel (nicht MidiYoke), hierfür eignet sich LoopBe
  • und natürlich DMXControl

Device

Das VirtualDJ überhaupt irgendwas über MIDI ausgeben kann muss man ein Device erstellen und unter \user\%name%\documents\virtualdj\devices\ abspeichern. Diese Device-Datei erstellt man für LoopBe, dann erkennt VDJ LoopBe als Controller. In die Datei muss folgendes:

<?xml version="1.0" encoding="UTF-8"?>
<device author="CHACKL" decks="1" drivernameout="LoopBe Internal MIDI" name="MIDIO" type="MIDI" >
  <led channel="0" name="LED_000" note="0" />
  <led channel="1" name="LED_001" note="1" />
  <led channel="2" name="LED_002" note="2" />
  <led channel="3" name="LED_003" note="3" />
</device>

Über <led [...] /> wird VDJ vorgemacht, dass es sich um LEDs handelt, weil man LEDs aus VDJ heraus steuern kann.

Download

Die Datei gibts fertig hier[1] zum download.

Mapper

Jetzt muss man VirtualDJ noch beibringen, was es auf den LEDs anzeigen soll. Hier nimmt die original Datei von mirka21 immer den Player, der gerade über PFL ausgewählt ist. Das ist nicht ideal, wenn man ein neues Lied lädt und vorhört blinkt das Licht falsch bzw. garnicht. Den Mapper hab ich etwas abgeändert, deswegen sieht er jetzt so aus:

<?xml version="1.0" encoding="UTF-8"?>
<mapper device="MIDIO" author="Atomix Productions" description="MIDI Out Beispiel" version="704" date="07/12/2012">
  <map value="LED_000" action="deck active get beat_num 1" />
  <map value="LED_001" action="deck active get beat_num 2" />
  <map value="LED_002" action="deck active get beat_num 3" />
  <map value="LED_003" action="deck active get beat_num 4" />
</mapper>

Immer beim entsprechenden Beat-Schlag sendet VDJ jetzt auf dem ausgewählten MIDI-Kanal einen Wert. Insgesamt sendet VDJ 4 verschiedene Werte immer für den 1. 2. 3. und 4. Schlag eines Taktes.

Download

Auch die Datei gibts schon fertig zum runterladen hier[2].

DMXC-Konfiguration

Jetzt muss man DMXC öffnen und warten bis die 4 Midi-Signale angekommen sind. Wenn DMXC jedes mal das selbe tun soll, muss man 4mal die selbe Aktion zuweisen.

TAP

Da DMXC beim TAP-Button immer einen Mittelwert nimmt, wird das Licht trotz der sehr exakten übertragung nicht direkt im Beat blinken. Dafür laufen Effekte aber weiter, wenn die Musik stoppt.

SYNC

Die SYNC Funktion hat sich als sehr gut erwießen. Immer wenn der Sync-Button im Beattool gedrückt wird bedeutet das für DMXC einen Beat, es rechnet keinen Mittelwert aus oder so. Deshalb bietet sich dieses SYNC-Button hierfür seht gut an. Immer wenn der Track über einen Beat-Strich in VDJ kommt schaltet DMXC einen Beat, d.h. wenn der DJ über so einen Beatstrich scratcht blitzen die Scheinwerfer entsprechend schneller. Daraus lässt sich aber auch schließen, dass in dem Moment wo der Track gestoppt wird DMXC nicht mehr weiterschaltet.
Bevor man dieses Sync-Button allerdings einsetzt sollte man kurz einmal am Anfang den Reset Button vom Beattool drücken, sonst blinkt es nur wild rum, da die Scheinwerfer einmal beim Beat vom Beattool (also den, der über die TAP-Taste eingestellt worden ist) und immer dann wenn die SYNC-Taste gedrückt wird reagiert.

Sonstiges

Hier sind noch ein paar weitere Sachen, die für diesen Teil wichtig sein könnten.

weitere Controller

VirtualDJ unterstütz nach meinem jetzigen Wissensstand mehrere Midi-Controller gleichzeitig (zur Not einmal neustarten).

mehr DMXC steuern

mirka21 hat am Ende von seinem Post noch etwas ganz interessantes erwähnt:
Man kann über diesen Virtuellen LED-Controller alle über MIDI ansteuerbaren Teile von DMXControl steuern, indem man den LEDs den Befehl "var 'value000' ? on : off" gibt. Dabei ist value000 eine Variable. (000 muss durch andere Zahlen ersetzt werden.) Im Keyboard-Mapper von VirtualDJ kann man nun einer Taste den Befehl "toggle 'value000' while_pressed" zuordnen und somit DMXC über die Tastatur steuern.
Natürlich muss das nicht unbedingt der Keyboard-Mapper sein. Wenn man einen externen Midi-Controller für VDJ verwendet kann man dieses genauso einsetzen, wenn man dort Tasten entbehren kann.

verschiedene VDJ Funktionen abfragen

Wenn man in der Device Datei noch eine LED hinzufügt und ihr im Mapper die Funktion

deck active sync

zuweißt, gibt diese bei jedem Bassschlag ein MIDI-Signal aus. Das könnte für leichte Blinder Effekte (z.B. 2 schwache LED-PARs ganz interessant sein.

schwerere Lösung

via MidiClock, funktioniert nicht unbedingt immer.
von LJ Jojo
folgt...

Sonstiges

Thread

Den Thread im Forum zu diesem Artikel gibts hier. Dort kommen bitte auch weitere Fragen rein.

mehrere Controller

Falls man mit DMXControl mehrere MIDI-Controller gleichzeitig verwenden will, empfiehlt es sich dafür MidiOX zu verwenden.
MidiOX kann beliebig viele MIDI-Geräte mergen und dann auf einem virtuellen Midi-Kabel (z.B. Midi Yoke oder LoopBe) wieder ausgeben. Außerdem ist MidiOX gut dazu geeignet um festzustellen, ob überhaupt ein Signal kommt, da man sich die gesendeten und empfangenen Werte anzeigen lassen kann.
folgt...