- All Superinterfaces:
public interface TrackPositionBeatListener extends TrackPositionListener
The listener interface for receiving updates when a new beat has occurred during track playback, when you want to know the actual new beat number (the beat packet itself does not carry this information, but the
TimeFinderintegrates it for you).
Registering this extension of the
TimeFinder.addTrackPositionListener(int, TrackPositionListener)will arrange for
newBeat(Beat, TrackPositionUpdate)to be called whenever a player sends a beat, even if this does not represent an unexpected change in playback position (so
TrackPositionListener.movementChanged(TrackPositionUpdate)would not be called).
- James Elliott
All Methods Instance Methods Abstract Methods Modifier and Type Method Description
newBeat(Beat beat, TrackPositionUpdate update)Invoked when a beat is reported by a player for which we have a
void newBeat(Beat beat, TrackPositionUpdate update)
Invoked when a beat is reported by a player for which we have a
BeatGrid. The raw beat update is available in
beat, and calculated beat number of the beat which is just beginning (as well as the playback position within the track that this represents) can be found in
To reduce latency, beat announcements are delivered to listeners directly on the thread that is receiving them them from the network, so if you want to interact with user interface objects in this method, you need to use
javax.swing.SwingUtilities.invokeLater(Runnable)to do so on the Event Dispatch Thread. Even if you are not interacting with user interface objects, any code in this method must finish quickly, or it will add latency for other listeners, and beat announcements will back up. If you want to perform lengthy processing of any sort, do so on another thread.
beat- the message which announced the start of the new beat
update- the latest information about the current track position and playback state and speed