Class State


  • @API(status=MAINTAINED)
    public class State
    extends Object
    An immutable value class representing a snapshot of the synchronization state.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int latency
      The estimated latency in milliseconds between when a beat is played on a CDJ and when we receive the packet that reports this has happened.
      Integer linkPeers
      The number of peers that the Ableton Link network reports are connected, will be null if running is false.
      Double linkTempo
      The current tempo reported by the Ableton Link network, will be null if running is false.
      int port
      The port on which the Carabiner daemon is listening.
      boolean running
      Whether we are currently connected to a Carabiner daemon, and thus able to perform synchronization.
      SyncMode syncMode
      The synchronization we are currently trying to maintain between the Ableton Link and Pro DJ Link networks, if any.
      boolean syncToBars
      Whether the Ableton Link and Pro DJ Link timelines should be synchronized at the level of full musical measures rather than individual beats.
      Double targetTempo
      If we have been told to lock the Ableton Link tempo to a particular value, this will hold that value in beats per minute; otherwise, it will be null.
    • Field Detail

      • port

        public final int port
        The port on which the Carabiner daemon is listening.
      • latency

        public final int latency
        The estimated latency in milliseconds between when a beat is played on a CDJ and when we receive the packet that reports this has happened. Negative values mean we are seeing the packets before the beats occur.
      • syncMode

        public final SyncMode syncMode
        The synchronization we are currently trying to maintain between the Ableton Link and Pro DJ Link networks, if any.
      • syncToBars

        public final boolean syncToBars
        Whether the Ableton Link and Pro DJ Link timelines should be synchronized at the level of full musical measures rather than individual beats.
      • running

        public final boolean running
        Whether we are currently connected to a Carabiner daemon, and thus able to perform synchronization.
      • linkTempo

        public final Double linkTempo
        The current tempo reported by the Ableton Link network, will be null if running is false.
      • linkPeers

        public final Integer linkPeers
        The number of peers that the Ableton Link network reports are connected, will be null if running is false.
      • targetTempo

        public final Double targetTempo
        If we have been told to lock the Ableton Link tempo to a particular value, this will hold that value in beats per minute; otherwise, it will be null.