See: Description
| Interface | Description |
|---|---|
| AlbumArtListener |
The listener interface for receiving updates when the album art available for a track loaded in any player
changes.
|
| BeatGridListener |
The listener interface for receiving updates when the beat grid available for a track loaded in any player
changes.
|
| MetadataCacheCreationListener |
The listener interface for receiving updates on the progress of creating a metadata cache file.
|
| MetadataCacheListener |
The listener interface for receiving updates when the set of attached metadata caches changes.
|
| MountListener |
The listener interface for receiving updates when the set of mounted media slots on the network changes.
|
| TrackMetadataListener |
The listener interface for receiving updates when the metadata available about a track loaded in any player
changes.
|
| TrackPositionListener |
The listener interface for receiving updates when there are significant changes to the movement through
a track on a player (for example, to send time code that represents the progress of playing the track).
|
| WaveformListener |
The listener interface for receiving updates when the waveforms available for a track loaded in any player
change.
|
| Class | Description |
|---|---|
| AlbumArt |
Represents album artwork associated with tracks loaded into players on a DJ Link network, and provides a
convenience method for getting a buffered image for drawing the art.
|
| AlbumArtUpdate |
Provides notification when the album art associated with a player changes.
|
| ArtFinder |
Watches for new metadata to become available for tracks loaded on players, and queries the
appropriate player for the album art when that happens.
|
| BeatGrid |
Provides information about each beat in a track: the number of milliseconds after the start of the track that
the beat occurs, and where the beat falls within a measure.
|
| BeatGridFinder |
Watches for new metadata to become available for tracks loaded on players, and queries the
appropriate player for the track beat grid when that happens.
|
| BeatGridUpdate |
Provides notification when the beat grid associated with a player changes.
|
| ColorItem |
Represents a track color label.
|
| CueList |
Provides information about each memory point, hot cue, and loop stored for a track.
|
| CueList.Entry |
Breaks out information about each entry in the cue list.
|
| DataReference |
Uniquely identifies a track, album art, beat grid, or waveform currently available on the network, by the player
and media slot in which it is mounted, and its rekordbox ID.
|
| DeckReference |
Uniquely identifies a place where a track can be currently loaded on the network, either the visible deck of one
of the players, or one of the hot cues on a player.
|
| MetadataFinder |
Watches for new tracks to be loaded on players, and queries the
appropriate player for the metadata information when that happens.
|
| SearchableItem |
Represents an item with an ID and label that can be used as a way to select tracks in a dynamic playlist request,
and on which playlists can be sorted.
|
| SlotReference |
Uniquely identifies a media slot on the network from which tracks can be loaded, by the player and slot type.
|
| TimeFinder |
Watches the beat packets and transport information contained in player status update to infer the current
track playback position based on the most recent information available, the time at which that was
received, and the playback pitch and direction that was in effect at that time.
|
| TrackMetadata |
Represents rekordbox metadata (title, artist, etc.) about tracks loaded into players on a DJ Link network.
|
| TrackMetadataUpdate |
Provides notification when the track metadata associated with a player changes.
|
| TrackPositionUpdate |
Keeps track of the most recent information we have received from a player from which we have been able to compute
a track position.
|
| WaveformDetail |
Gives a detail view of the audio content of a track, and offers a Swing component for rendering that view
as part of a user interface, along with annotations showing the current playback position, beats, and cue points,
if the appropriate metadata is available.
|
| WaveformDetailComponent |
Provides a convenient way to draw waveform detail in a user interface, including annotations like the
location at the current time, and cue point markers (if you supply
TrackMetadata so their location
can be determined), and beat markers (if you also supply a BeatGrid). |
| WaveformDetailUpdate |
Provides notification when the waveform detail associated with a player changes.
|
| WaveformFinder |
Watches for new metadata to become available for tracks loaded on players, and queries the
appropriate player for track waveforms when that happens.
|
| WaveformPreview |
Gives a birds-eye view of the audio content of a track, and offers a Swing component for rendering that view
as part of a user interface, along with annotations showing the current playback position and cue points, if the
appropriate metadata is available.
|
| WaveformPreviewComponent |
Provides a convenient way to draw a waveform preview in a user interface, including annotations like the
current time and minute markers (if you supply
TrackMetadata so the total length can be determined),
and cue markers (if you also supply a CueList). |
| WaveformPreviewUpdate |
Provides notification when the waveform preview associated with a player changes.
|
Offers rich information about the tracks loaded in players on the network.
The classes in this package can augment the low-level information offered by the packet listeners with
rich details about 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.