/**
  * Dispose of this control point proxy. Must be called for each class instance. Must be called
  * before <tt>Library.close()</tt>.
  */
 public void dispose() {
   synchronized (this) {
     if (iHandle == 0) {
       return;
     }
     disposeProxy();
     iHandle = 0;
     iActionTime.destroy();
     iTrackCount.destroy();
     iDuration.destroy();
     iSeconds.destroy();
   }
 }
 /**
  * Query the value of the Duration property. This function is thread-safe and can only be called
  * if {@link #subscribe} has been called and a first eventing callback received more recently than
  * any call to {@link #unsubscribe}.
  *
  * @return value of the Duration property.
  */
 public long getPropertyDuration() {
   propertyReadLock();
   long val = iDuration.getValue();
   propertyReadUnlock();
   return val;
 }
 /**
  * Query the value of the Seconds property. This function is thread-safe and can only be called if
  * {@link #subscribe} has been called and a first eventing callback received more recently than
  * any call to {@link #unsubscribe}.
  *
  * @return value of the Seconds property.
  */
 public long getPropertySeconds() {
   propertyReadLock();
   long val = iSeconds.getValue();
   propertyReadUnlock();
   return val;
 }
 /**
  * Query the value of the TrackCount property. This function is thread-safe and can only be called
  * if {@link #subscribe} has been called and a first eventing callback received more recently than
  * any call to {@link #unsubscribe}.
  *
  * @return value of the TrackCount property.
  */
 public long getPropertyTrackCount() {
   propertyReadLock();
   long val = iTrackCount.getValue();
   propertyReadUnlock();
   return val;
 }