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 }