001 // License: GPL. Copyright 2007 by Immanuel Scholz and others 002 package org.openstreetmap.josm.actions.audio; 003 004 import static org.openstreetmap.josm.gui.help.HelpUtil.ht; 005 import static org.openstreetmap.josm.tools.I18n.tr; 006 import static org.openstreetmap.josm.tools.I18n.trc; 007 008 import java.awt.event.ActionEvent; 009 import java.awt.event.KeyEvent; 010 011 import org.openstreetmap.josm.Main; 012 import org.openstreetmap.josm.actions.JosmAction; 013 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; 014 import org.openstreetmap.josm.tools.AudioPlayer; 015 import org.openstreetmap.josm.tools.Shortcut; 016 017 public class AudioBackAction extends JosmAction { 018 019 public AudioBackAction() { 020 super(trc("audio", "Back"), "audio-back", trc("audio", "Jump back."), 021 Shortcut.registerShortcut("audio:back", tr("Audio: {0}", trc("audio", "Back")), KeyEvent.VK_F6, Shortcut.DIRECT), true); 022 this.putValue("help", ht("/Action/AudioBack")); 023 } 024 025 public void actionPerformed(ActionEvent e) { 026 try { 027 if (AudioPlayer.playing() || AudioPlayer.paused()) 028 AudioPlayer.play(AudioPlayer.url(), AudioPlayer.position() 029 - Main.pref.getDouble("audio.forwardbackamount","10.0")); 030 else 031 MarkerLayer.playAudio(); 032 } catch (Exception ex) { 033 AudioPlayer.audioMalfunction(ex); 034 } 035 } 036 }