-
Notifications
You must be signed in to change notification settings - Fork 4
Tutorial: Beat Link Trigger
Beat Link Trigger is an open-source project that monitors tempo and beat information from Pioneer DJ devices on a local network. This can be used to synchronize the metronome of LX Studio.
Download and install Beat Link Trigger here: https://github.com/Deep-Symmetry/beat-link-trigger
Pre-built releases are available for Mac/Windows: https://github.com/Deep-Symmetry/beat-link-trigger/releases
Note from Deep Symmetry Feb 2023: The BLT application bundle for macOS uses an imbedded intel-based version of java. If you're on Apple architecture you can get around that by installing a JDK and running the BLT jar.
Configure LX Studio to receive OSC messages.
Set the clock source in the toolbar to OSC. Beat trigger modulation can be enabled/disabled using the circular green button on the right. The button remains gray when disabled, and pulses green on beats when enabled and clock signal is being received.
Pattern and effects that query the lx.engine.tempo
object directly will not need any modifications or updates. Custom code that wishes to receive a listener callback on beat/measure events can register as follows:
lx.engine.tempo.addListener(new Tempo.Listener() {
public void onBeat(Tempo tempo, int beat) {}
public void onMeasure(Tempo tempo) {}
});
First, from the gear icon select Edit Setup Expression
and enter the following:
(swap! locals assoc :lx (osc/osc-client "localhost" 3030))
Note that you may substitute localhost
and 3030
if LX Studio is running on a different machine or OSC settings.
Next, select Edit Beat Expression
and enter the following:
(when trigger-active?
(osc/osc-send (:lx @locals) "/lx/tempo/beat" beat-within-bar)
(osc/osc-send (:lx @locals) "/lx/tempo/setBPM" effective-tempo))
The first osc-send
call sends an active beat, and the second one sends the tempo. Typically LX Studio applications will want to receive both, but it is possible to only send one or the other if desired.
Finally, repeat this process for Edit Shutdown Expression
and enter the following to close the OSC client:
(osc/osc-close (:lx @locals))
Pioneer DJ equipment can generate a lot of local network traffic. This is not necessarily a problem, but if you are also using a local network for a large amount of LED output (e.g. ArtNet/sACN traffic), then it is generally a good idea to separate these networks. Possible approaches include:
- use two distinct network interfaces on your LX Studio machine
- use a physical switch that can separate the traffic with VLANs
BLT added support for CDJ 3000s in v7.3.0 released November 2023.
Many thanks to Justin Belcher for initial determination and documentation of these settings.
© 2020 LX Studio — Heron Arts LLC