org.deepsymmetry.beatlink.package-info Maven / Gradle / Ivy
Show all versions of beat-link Show documentation
/**
* 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 {@link org.deepsymmetry.beatlink.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
* {@link org.deepsymmetry.beatlink.CdjStatus} class for more details.
*
* The classes in the {@link 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
* {@link org.deepsymmetry.beatlink.data.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 {@link org.deepsymmetry.beatlink.dbserver} package,
* which knows how to locate and communicate with the database servers running on the players.
*
* Background
*
* 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.
*
* @author James Elliott
*/
package org.deepsymmetry.beatlink;