Index: applications/editors/josm/plugins/videomapping/test/SimpleVideoPlayer.java
===================================================================
--- applications/editors/josm/plugins/videomapping/test/SimpleVideoPlayer.java	(revision 21519)
+++ applications/editors/josm/plugins/videomapping/test/SimpleVideoPlayer.java	(revision 21519)
@@ -0,0 +1,185 @@
+import java.awt.Adjustable;
+import java.awt.BorderLayout;
+import java.awt.Canvas;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.beans.PropertyChangeListener;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import javax.swing.Action;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JSlider;
+import javax.swing.JToggleButton;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import org.openstreetmap.josm.Main;
+
+import uk.co.caprica.vlcj.binding.LibVlc;
+import uk.co.caprica.vlcj.check.EnvironmentCheckerFactory;
+import uk.co.caprica.vlcj.player.DefaultFullScreenStrategy;
+import uk.co.caprica.vlcj.player.FullScreenStrategy;
+import uk.co.caprica.vlcj.player.MediaPlayer;
+import uk.co.caprica.vlcj.player.MediaPlayerEventAdapter;
+import uk.co.caprica.vlcj.player.MediaPlayerFactory;
+
+//basic class of a videoplayer for one video
+public class SimpleVideoPlayer extends JFrame{
+	private MediaPlayer mp;
+	private Timer t;
+	private JPanel screenPanel,controlsPanel;
+	private JSlider timeline;
+	private JButton play,back,forward;
+	private JToggleButton loop;
+	private JSlider speed;
+	private Canvas scr;
+	
+	public SimpleVideoPlayer(JFrame mainwindow) {
+		super();
+		//TODO new EnvironmentCheckerFactory().newEnvironmentChecker().checkEnvironment();
+		try
+		{
+			String mediaPath = "C:\\Dokumente und Einstellungen\\g\\Eigene Dateien\\Eigene Videos\\23C3-1610-en-fudging_with_firmware.m4v";
+			String[] libvlcArgs = {""};
+			String[] standardMediaOptions = {""}; 
+			String[] mediaOptions = {""};
+			System.out.println("libvlc version: " + LibVlc.INSTANCE.libvlc_get_version());
+			//setup Media Player
+			//TODO we have to deal with unloading things....
+			MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(libvlcArgs);
+		    FullScreenStrategy fullScreenStrategy = new DefaultFullScreenStrategy(mainwindow);
+		    mp = mediaPlayerFactory.newMediaPlayer(fullScreenStrategy);
+		    mp.setStandardMediaOptions(standardMediaOptions);
+		    //mp.addMediaPlayerEventListener(new MediaPlayerEventAdapter() {});
+		    //setup GUI
+		    scr=new Canvas();
+		    timeline = new JSlider(0,100,0);
+		    play= new JButton("play");
+		    back= new JButton("<");
+		    forward= new JButton(">");
+		    loop= new JToggleButton("loop");
+		    speed = new JSlider(0,2,1);
+			speed.setPaintTicks(true);
+			speed.setMajorTickSpacing(5);
+			speed.setOrientation(Adjustable.VERTICAL);
+		    setLayout();
+			addListeners();
+		    //embed player
+			scr.setVisible(true);
+			setVisible(true);
+			mp.setVideoSurface(scr);
+		    mp.playMedia(mediaPath, mediaOptions);
+		    mainwindow.pack();
+		}
+		catch (NoClassDefFoundError e)
+		{
+			System.err.println("Unable to find JNA Java library!");
+		}
+		catch (UnsatisfiedLinkError e)
+		{
+			System.err.println("Unable to find native libvlc library!");
+		}
+	}
+	
+	//creates a layout like the most mediaplayers are...
+	private void setLayout() {
+		this.setLayout(new BorderLayout());
+		screenPanel=new JPanel();
+		screenPanel.setLayout(new BorderLayout());
+		controlsPanel=new JPanel();
+		controlsPanel.setLayout(new FlowLayout());
+		add(screenPanel,BorderLayout.CENTER);
+		add(controlsPanel,BorderLayout.SOUTH);
+		//fill screen panel
+		screenPanel.add(scr,BorderLayout.CENTER);
+		screenPanel.add(timeline,BorderLayout.SOUTH);
+		screenPanel.add(speed,BorderLayout.EAST);
+		controlsPanel.add(play);
+		controlsPanel.add(back);
+		controlsPanel.add(forward);
+		controlsPanel.add(loop);		
+	}
+
+	//add UI functionality
+	private void addListeners() {
+		final float JUMP_LENGTH=1000;
+		final int  LOOP_LENGTH=6000;
+		timeline.addChangeListener(new ChangeListener() {
+			public void stateChanged(ChangeEvent e) {
+				if(!timeline.getValueIsAdjusting())
+				{
+					//recalc to 0.x percent value
+					mp.setPosition((float)timeline.getValue() / 100.0f);
+				}
+			}
+		    });
+		
+		play.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				mp.play();
+				
+			}
+		});
+		
+		play.addActionListener(new ActionListener() {
+			
+			public void actionPerformed(ActionEvent arg0) {
+				mp.play();				
+			}
+		});
+		
+		back.addActionListener(new ActionListener() {
+			
+			public void actionPerformed(ActionEvent arg0) {
+				mp.setTime((long) (mp.getTime()-JUMP_LENGTH));
+				
+			}
+		});
+		
+		forward.addActionListener(new ActionListener() {
+			
+			public void actionPerformed(ActionEvent arg0) {
+				mp.setTime((long) (mp.getTime()+JUMP_LENGTH));
+				
+			}
+		});
+		
+		loop.addActionListener(new ActionListener() {
+
+			public void actionPerformed(ActionEvent arg0) {
+			if(!loop.getModel().isPressed())
+			{
+				final long resetpoint=(long) mp.getTime()-LOOP_LENGTH/2;
+				TimerTask ani=new TimerTask() {
+					
+					@Override
+					public void run() {
+						mp.setTime(resetpoint);
+					}
+				};
+				t= new Timer();
+				t.schedule(ani,LOOP_LENGTH/2,LOOP_LENGTH); //first run a half looptime till reset	
+				}
+			else
+			{
+				t.cancel();
+			}
+			}
+		});
+		
+		speed.addChangeListener(new ChangeListener() {
+			
+			public void stateChanged(ChangeEvent arg0) {
+				// TODO get integrated with future VLCj relase
+				
+			}
+		});
+		
+	}
+	
+
+}
Index: applications/editors/josm/plugins/videomapping/test/videotest.java
===================================================================
--- applications/editors/josm/plugins/videomapping/test/videotest.java	(revision 21295)
+++ applications/editors/josm/plugins/videomapping/test/videotest.java	(revision 21519)
@@ -1,2 +1,14 @@
+import java.awt.Canvas;
+import java.awt.Dimension;
+
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JSlider;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import uk.co.caprica.vlcj.player.*;
+
 
 public class videotest {
@@ -6,11 +18,10 @@
 	 */
 	public static void main(String[] args) {
-//		JFileChooser fc = new JFileChooser();
-//		fc.setAcceptAllFileFilterUsed( false );
-//		fc.setFileFilter( new VideoFileFilter() );
-//		if (fc.showOpenDialog( Main.parent )==JFileChooser.APPROVE_OPTION)
-//		{
-//			VideoWindow w = new VideoWindow(fc.getSelectedFile());
-//		}
+		JFrame window = new JFrame("video test");
+		window.setSize(new Dimension(600,600));
+		window.setVisible(true);
+		SimpleVideoPlayer sVP = new SimpleVideoPlayer(window);
+		window.add(sVP);
+		window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 	}
