See: Description
| Interface | Description |
|---|---|
| BeatListener |
The listener interface for receiving beat announcements.
|
| DeviceAnnouncementListener |
The listener interface for receiving device announcements.
|
| DeviceUpdateListener |
The listener interface for receiving detailed updates from all devices.
|
| LifecycleListener |
The listener interface for receiving updates when a Beat Link component is started or stopped.
|
| MasterListener |
The listener interface for receiving updates about changes to tempo master state.
|
| Class | Description |
|---|---|
| Beat |
A device update that announces the start of a new beat on a DJ Link network.
|
| BeatFinder |
Watches for devices to report new beats by broadcasting beat packets on port 50001,
and passes them on to registered listeners.
|
| CdjStatus |
Represents a status update sent by a CDJ (or perhaps other player) on a DJ Link network.
|
| DeviceAnnouncement |
Represents a device announcement seen on a DJ Link network.
|
| DeviceAnnouncementAdapter |
An abstract adapter class for receiving device announcements.
|
| DeviceFinder |
Watches for devices to report their presence by broadcasting announcement packets on port 50000,
and keeps a list of the devices that have been seen, and the network address on which they were seen.
|
| DeviceUpdate |
Represents a device status update seen on a DJ Link network.
|
| LifecycleParticipant |
Provides the abstract skeleton for all the classes that can be started and stopped in Beat Link, and for which
other classes may have a need to know when they start or stop.
|
| MasterAdapter |
An abstract adapter class for receiving updates related to the tempo master.
|
| MixerStatus |
Represents a status update sent by a mixer on a DJ Link network.
|
| Util |
Provides utility functions.
|
| VirtualCdj |
Provides the ability to create a virtual CDJ device that can lurk on a DJ Link network and receive packets sent to
players, monitoring the detailed state of the other devices.
|
| Enum | Description |
|---|---|
| CdjStatus.PlayState1 |
The possible values of the first play state found in the packet, labeled P1 in Figure 11 of
the Packet Analysis document.
|
| CdjStatus.PlayState2 |
The possible values of the second play state found in the packet, labeled P2 in Figure 11 of
the Packet Analysis document.
|
| CdjStatus.PlayState3 |
The possible values of the third play state found in the packet, labeled P3 in Figure 11 of
the Packet Analysis document.
|
| CdjStatus.TrackSourceSlot |
The possible values describing from where the track was loaded, labeled Sr in Figure 11 of
the Packet Analysis document.
|
| CdjStatus.TrackType |
The possible values describing the track type, labeled tr in Figure 11 of
the Packet Analysis document.
|
A library for synchronizing with beats from Pioneer DJ Link equipment, and finding out details about the tracks that are playing.
Overview and installation instructions are found on the Project page on GitHub.
This top level package provides classes for finding a DJ Link network, watching for devices to appear and
disappear on it, and creating a VirtualCdj which can obtain more detailed
information about what other players are doing, like their current tempo, pitch, playback state, which player is
the current tempo master, and the source and database ID of the currently-loaded rekordbox track. See the
CdjStatus class for more details.
The classes in the org.deepsymmetry.beatlink.data package can augment this low-level information with
rich details about the track metadata, including album art, cue point locations, beat grid, and waveforms, both
the whole-track preview, and full detailed waveform for scrolling through. The
MetadataFinder is the main coordinator for obtaining and caching this
information, and it keeps track of the track metadata for all tracks loaded on decks, either for current playback,
or as hot cues. It also supports creating metadata cache files to avoid the need to query players for this
information during busy shows with a full complement of four CDJs.
The metadata queries are performed with the help of the org.deepsymmetry.beatlink.dbserver package,
which knows how to locate and communicate with the database servers running on the players.
This project is based on research performed with dysentery, and the packet analysis resulting from that project (also available as downloadable PDF).
An good example of an application built using this library is Beat Link Trigger.
Copyright © 2016–2018 Deep Symmetry, LLC. All rights reserved.