Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoObserver.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoObserver.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoObserver.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping;
 
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoPlugin.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoPlugin.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoPlugin.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping;
 
@@ -27,8 +28,12 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
-import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
+import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
+import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
@@ -39,12 +44,9 @@
 import uk.co.caprica.vlcj.player.DeinterlaceMode;
 
-  /**
+/**
+ * This Plugin allows you to link multiple videos against a GPS track and playback both synchronously
  * @author Matthias Meißer (digi_c at arcor dot de)
- * @ released under GPL
- * This Plugin allows you to link multiple videos against a GPS track and playback both synchronously 
  */
-
-//Here we manage properties and start the other classes
-public class VideoPlugin extends Plugin implements LayerChangeListener{
+public class VideoPlugin extends Plugin implements LayerChangeListener, ActiveLayerChangeListener {
     private JMenu VMenu,VDeinterlacer;
     private JosmAction VAdd,/*VRemove,*/VStart,Vbackward,Vforward,VJump,Vfaster,Vslower,Vloop;
@@ -69,5 +71,6 @@
         super(info);
         VideoEngine.setupPlayer();
-        MapView.addLayerChangeListener(this);				
+        Main.getLayerManager().addLayerChangeListener(this);				
+        Main.getLayerManager().addActiveLayerChangeListener(this);                            
         createMenusAndShortCuts();
         enableVideoControlMenus(false);
@@ -330,25 +333,33 @@
     }
 
+    private void handleLayer(Layer l) {
+        VMenu.setEnabled(true);
+        if (l instanceof GpxLayer) {
+            VAdd.setEnabled(true);
+            gpsLayer = (GpxLayer) l;            
+            //TODO append to GPS Layer menu
+        }   
+    }
+    
     @Override
-    public void activeLayerChange(Layer oldLayer, Layer newLayer) {
-        VMenu.setEnabled(true);
-        if (newLayer instanceof GpxLayer)
-        {
-            VAdd.setEnabled(true);
-            gpsLayer=((GpxLayer) newLayer);            
-            //TODO append to GPS Layer menu
-        }        
+    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
+        handleLayer(Main.getLayerManager().getActiveLayer());  
     }
 
     @Override
-    public void layerAdded(Layer arg0) {
-        activeLayerChange(null,arg0);
+    public void layerOrderChanged(LayerOrderChangeEvent e) {
+        // Do nothing
     }
 
     @Override
-    public void layerRemoved(Layer arg0) {
-        if(arg0 instanceof VideoPositionLayer)
-                enableVideoControlMenus(false);
-        activeLayerChange(null,arg0);
+    public void layerAdded(LayerAddEvent e) {
+        handleLayer(e.getAddedLayer());
+    }
+
+    @Override
+    public void layerRemoving(LayerRemoveEvent e) {
+        if (e.getRemovedLayer() instanceof VideoPositionLayer)
+            enableVideoControlMenus(false);
+        handleLayer(e.getRemovedLayer());
     }
   }
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoPositionLayer.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoPositionLayer.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/VideoPositionLayer.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping;
 
@@ -8,6 +9,4 @@
 import java.awt.Rectangle;
 import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
@@ -37,5 +36,5 @@
 
 //Basic rendering and GPS layer interaction
-public class VideoPositionLayer extends Layer implements MouseListener,MouseMotionListener {
+public class VideoPositionLayer extends Layer {
     private List<WayPoint> gpsTrack;
     private ImageIcon layerIcon;
@@ -51,8 +50,6 @@
         gpsTrack=importGPSLayer(gpsLayer.data);
         gpsTimeFormat= new SimpleDateFormat("HH:mm:ss");
-        Main.map.mapView.addMouseListener(this);
-        Main.map.mapView.addMouseMotionListener(this);
         iconPosition=gpsTrack.get(0);
-        Main.main.addLayer(this);        
+        Main.getLayerManager().addLayer(this);        
     }
 
@@ -293,22 +290,4 @@
     public void visitBoundingBox(BoundingXYVisitor arg0) {
     }
-
-    public void mouseClicked(MouseEvent arg0) {
-    }
-
-    public void mouseEntered(MouseEvent arg0) {
-    }
-
-    public void mouseExited(MouseEvent arg0) {
-    }
-
-    public void mousePressed(MouseEvent e) {
-    }
-
-    public void mouseDragged(MouseEvent arg0) {
-    }
-
-    public void mouseMoved(MouseEvent arg0) {
-    }
     
     public void setGPSVideoPlayer(GPSVideoPlayer player) {
@@ -321,5 +300,5 @@
 
     public void unload() {
-        Main.main.removeLayer(this);
+        Main.getLayerManager().removeLayer(this);
     }
 }
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideo.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideo.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideo.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 import java.io.File;
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideoPlayer.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideoPlayer.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/GPSVideoPlayer.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 import static org.openstreetmap.josm.tools.I18n.tr;
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/Video.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/Video.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/Video.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoEngine.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoEngine.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoEngine.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoObserversEvents.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoObserversEvents.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoObserversEvents.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoPlayer.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoPlayer.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoPlayer.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 import static org.openstreetmap.josm.tools.I18n.tr;
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoPlayerObserver.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoPlayerObserver.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoPlayerObserver.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 
Index: applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideosObserver.java
===================================================================
--- applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideosObserver.java	(revision 32346)
+++ applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideosObserver.java	(revision 32513)
@@ -1,2 +1,3 @@
+// License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.videomapping.video;
 
