org.openstreetmap.josm.gui.layer.markerlayer
Class PlayHeadMarker

java.lang.Object
  extended by org.openstreetmap.josm.gui.layer.markerlayer.Marker
      extended by org.openstreetmap.josm.gui.layer.markerlayer.PlayHeadMarker
All Implemented Interfaces:
TemplateEngineDataProvider

public class PlayHeadMarker
extends Marker

Singleton marker class to track position of audio.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.layer.markerlayer.Marker
Marker.TemplateEntryProperty
 
Field Summary
private  double animationInterval
           
private  int dropTolerance
           
private  boolean enabled
           
private  LatLon oldCoor
           
private  MapMode oldMode
           
private static PlayHeadMarker playHead
           
private  javax.swing.Timer timer
           
private  boolean wasPlaying
           
 
Fields inherited from class org.openstreetmap.josm.gui.layer.markerlayer.Marker
LABEL_PATTERN_AUTO, LABEL_PATTERN_DESC, LABEL_PATTERN_NAME, MARKER_FORMATTED_OFFSET, MARKER_OFFSET, markerProducers, offset, parentLayer, symbol, time
 
Constructor Summary
private PlayHeadMarker()
           
 
Method Summary
 void animate()
           
 boolean containsPoint(java.awt.Point p)
          Checks whether the marker display area contains the given point.
static PlayHeadMarker create()
           
 void drag(EastNorth en)
          apply the new position resulting from a drag in progress
private  void endDrag(boolean reset)
          reinstate the old map mode after switching temporarily to do a play head drag
 void paint(java.awt.Graphics g, MapView mv)
           
 void reposition(EastNorth en)
          reposition the play head at the point on the track nearest position given, providing we are within reasonable distance from the track; otherwise reset to the original position.
 void startDrag()
          called back from drag mode to say when we started dragging for real (at least a short distance)
 void synchronize(EastNorth en)
          Synchronize the audio at the position where the play head was paused before dragging with the position on the track where it was dropped.
 void timerAction()
          callback for moving play head marker according to audio player position
 
Methods inherited from class org.openstreetmap.josm.gui.layer.markerlayer.Marker
actionPerformed, createMarker, evaluateCondition, getCoor, getEastNorth, getTemplateKeys, getTemplateValue, getText, getTextTemplate, paint, setCoor, setEastNorth
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

timer

private javax.swing.Timer timer

animationInterval

private double animationInterval

playHead

private static PlayHeadMarker playHead

oldMode

private MapMode oldMode

oldCoor

private LatLon oldCoor

enabled

private boolean enabled

wasPlaying

private boolean wasPlaying

dropTolerance

private int dropTolerance
Constructor Detail

PlayHeadMarker

private PlayHeadMarker()
Method Detail

create

public static PlayHeadMarker create()

containsPoint

public boolean containsPoint(java.awt.Point p)
Description copied from class: Marker
Checks whether the marker display area contains the given point. Markers not interested in mouse clicks may always return false.

Overrides:
containsPoint in class Marker
Parameters:
p - The point to check
Returns:
true if the marker "hotspot" contains the point.

startDrag

public void startDrag()
called back from drag mode to say when we started dragging for real (at least a short distance)


endDrag

private void endDrag(boolean reset)
reinstate the old map mode after switching temporarily to do a play head drag


drag

public void drag(EastNorth en)
apply the new position resulting from a drag in progress

Parameters:
en - the new position in map terms

reposition

public void reposition(EastNorth en)
reposition the play head at the point on the track nearest position given, providing we are within reasonable distance from the track; otherwise reset to the original position.

Parameters:
en - the position to start looking from

synchronize

public void synchronize(EastNorth en)
Synchronize the audio at the position where the play head was paused before dragging with the position on the track where it was dropped. If this is quite near an audio marker, we use that marker as the sync. location, otherwise we create a new marker at the trackpoint nearest the end point of the drag point to apply the sync to.

Parameters:
en - : the EastNorth end point of the drag

paint

public void paint(java.awt.Graphics g,
                  MapView mv)

animate

public void animate()

timerAction

public void timerAction()
callback for moving play head marker according to audio player position



JOSM