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
Ich verwende diese Lösung nicht mehr! === benötigte Software

Das installiert/entpackt ihr nun alles.

Einstellungen für VDJ

(Hier nur das einstellen, was hier steht, sonst könnt ihr euer gesamtes Windows sofort zerstören!)

  1. Öffne das Ausführen-Fenster (bei Win7+8 nicht nötig)
  2. dort gibt man nun regedit ein (bei Win7+8 direkt ins Startmenü-Suchfeld) und öffnet die regedit.exe
  3. Links in dem Explorer geht ihr in folgendes Verzeichnis: HKEY_CURRENT_USER/Software/Virtual DJ
  4. Nun sucht ihr den Punkt "SendMidiClockTo"
  5. dort mit Rechtsklick den "Ändern-Dialog" öffnen und in das in das Feld "Wert" "all" eintragen (ohne Anführungszeichen)
  6. Nun OK klicken und regedit schließen.

Programme starten

Nun startet ihr die Programme, die Reihenfolge ist glaub ich egal, bei mir war sie:

  1. VirtualDJ
  2. MIDIClock2Note
  3. MidiOx
  4. DMXC

Programminterne Einstellungen

VirtualDJ

Hier müsst ihr nichts einstellen. Nur ein Lied zum abspielen in den Player ziehen.

MIDI Clock2Note

MIDI Ein- und Ausgang einstellen.

  1. MidiIn: MidiYoke2 ein
  2. MidiOut: MidiYoke2 ein
  3. Den Rest so lassen, wie er war.

Das Tool zeigt den ausgewählten Ein- bzw. Ausgang nicht an.

MidiOX

MidiOX mappt die MIDI-Daten auf ein anderes Virtuelles Midi Kabel.

  1. Options - Midi Devices
  2. als MidiIn: MidiYoke1
  3. als MidiOut MidiYoke2 ein.

(falls ihr mehr MidiController habt, die ihr mit DMXC verbinden wollt, müsst ihr diese bei MidiIn auch auswählen.)

DMXControl

  • Bei der Midi-Fernbedinung muss man nun noch MidiYoke2 einstellen.
  • (falls euer weiteres angeschlossenes Gerät MidiOut unterstützt, könnt ihr das hier direkt auswählen.)
  • Nun drückt ihr auf Midi-Lern, es sollten mindestens 2 Kanäle mit folgenden Werten erscheinen:
Midi-Status   	MIDI-Kanal	Adresse	Min.Wert   Max.Wert   Flags
Note On/Off     1                64     0          127       E,Ü,-
Note On/Off     1                65     0          127       E,Ü,-
  • Die beiden Noten kann man unter Steuerelement in Beat1 und Beat2 umbenennen. Dann ist es später übersichtlicher.
  • Nun erstellt ihr eine neue Bank.
  • Ihr wählt Beat1 (oder 2) aus und stellt als Modul: BeatTool, als Funktion: Tap-Button, als Kanal: Auswählen und als Flags, bzw. Wert - ein.
  • Nun drückt ihr OK und öffnet unter Fenster die Midi-Fernsteuerung, dort wählt ihr die richtige Bank und setzt den Haken bei aktiv.

Fertig

Jetzt erstellt ihr noch einen Musikgesteuerten Effekt und startet in VDJ das Lied, der grüne Punkt von MIDIClock2Note sollte deutlich blinken. Und in MidiOx sollten in dem Fenster Werte angezeigt werden, in DMXC sollte das Beattool anfangen zu blinken.

Tipp

Schalte im WindowsMixer das MidiClock2Note Stumm, da es bei jedem Beatsignal einen Ton von sich gibt.

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...