見出し画像

現行のVirtual DJでTraktor X1 MK2をMIDIモードで使用する

■注意■
このnote記事は執筆者の個人的なメモであり、ほぼ確実に間違いが含まれます。
当操作を参考にしたことで問題が発生した場合でも、執筆者は一切の責任を負いません。

Virtual DJ 8系のどこかから、Traktor X1 MK2(以下、X1と表記)が標準対応された。
その結果、VDJ7で使用していたカスタムマッピングファイル(※)をそのまま使用することができない状態になった。

このnote記事には、VDJ7のマッピング設定をVDJ8側に流用するまでの試行錯誤の結果をまとめる。
※:Devices内に格納するxmlファイルとMappers内に格納するxmlファイル

1.Devicesディレクトリ内にある対象コントローラのxmlファイルの先頭に「force-」を付ける
例)TRAKTORX1MK2.xml → force-TRAKTORX1MK2.xml
(force-付加の話、昔はxmlの作成手順の中に書かれていた気がするんだけど今はどこに書かれてるんだろう……)

2.force-TRAKTORX1MK2.xml内のdescriptionプロパティを、内臓の定義と被らない名称に変更する
例)

<device name="TRAKTORX1MK2" type="MIDI" decks="2" 
 description="Traktor Kontrol X1 MK2" author="VJ ZUMA" 
 drivername="Traktor Kontrol X1 MK2" vid="0x17CC" pid="0x1220">

↓

<device name="TRAKTORX1MK2" type="MIDI" decks="2"
 description="Traktor Kontrol X1 MK2_Custom" author="VJ ZUMA"
 drivername="Traktor Kontrol X1 MK2" vid="0x17CC" pid="0x1220">

基本的にはこれだけでVDJ8でMIDIモードで使え、VDJ7での動作もそのままという状態になるが、HID側の定義も生きたままになることから不具合が発生する場合がある。
続けて、下記の手順でHID側の定義を無効化する。

3-A.CONTROLLERS設定からHIDの定義を無効化する
(対象:v8.2系)

v8.2系で行うべき設定

VDJ8の中でも古いバージョンは無効化が簡単で、HIDの定義とMIDIの定義の両方が画面に表示されるので、HID側の定義に対してIgnoreを選択して無効化するだけでOK。

3-B.VDJに内臓されているHIDのマッピング定義を潰すためのxmlを格納する
(対象:2021(v8.5)系)

MIDIで操作ができるようにはなっているが、MIDI用・HID用の定義が分かれない

当noteを記載している時点での最新版であるv8.5 b7183は旧バージョンの動作とは異なり、force-付きのDevice xmlを格納するだけではダメで、「標準のHIDの定義の同枠に対してforce-で記述した定義が追加される」という挙動をしてしまう。
なので、標準のHIDの定義を
・X1用の空のHIDの定義ファイルをforce-付きで用意して強制で適用する
という考え方潰せないか試したところ、運良くうまく行った。
「force-TRAKTORX1MK2HIDKiler.xml」という名前で下記の通り記述したファイルをDevicesディレクトリに配置すればOK。

<?xml version="1.0" encoding="UTF-8"?>
<device name="TRAKTORX1MK2" type="HID" decks="2" description="Traktor Kontrol X1 MK2_Custom" author="VJ ZUMA" drivername="Traktor Kontrol X1 MK2" vid="0x17CC" pid="0x1220">

</device>
無事にHIDの定義が潰れて、_Custom付きの定義が出現した

まだイベントのレベル感での稼働実績が無いため現場で使うのは少し怖いが、とりあえず動くようにはできたので備忘録として。

(2022/11/25 追記)
ここまで読んで下さった方へのお礼として、実際に現場で使っているTraktor X1 MK2のマッピングファイルを置いておきます。
X1の1台だけでやっている現場は多々あり、VJ ZUMAが何もしていない実態そのものを示すものでございます。

この記事が気に入ったらサポートをしてみませんか?