001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.actions.audio; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005import static org.openstreetmap.josm.tools.I18n.trc; 006 007import java.awt.event.ActionEvent; 008import java.awt.event.KeyEvent; 009 010import org.openstreetmap.josm.Main; 011import org.openstreetmap.josm.actions.JosmAction; 012import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; 013import org.openstreetmap.josm.tools.AudioPlayer; 014import org.openstreetmap.josm.tools.Shortcut; 015 016/** 017 * Jump the audio forward 10 seconds. 018 * @since 547 019 */ 020public class AudioFwdAction extends JosmAction { 021 022 /** 023 * Constructs a new {@code AudioFwdAction}. 024 */ 025 public AudioFwdAction() { 026 super(trc("audio", "Forward"), "audio-fwd", trc("audio", "Jump forward"), 027 Shortcut.registerShortcut("audio:forward", tr("Audio: {0}", trc("audio", "Forward")), KeyEvent.VK_F7, Shortcut.DIRECT), true); 028 } 029 030 @Override 031 public void actionPerformed(ActionEvent e) { 032 try { 033 if (AudioPlayer.playing() || AudioPlayer.paused()) 034 AudioPlayer.play(AudioPlayer.url(), AudioPlayer.position() 035 + Main.pref.getDouble("audio.forwardbackamount", 10.0)); 036 else 037 MarkerLayer.playAudio(); 038 } catch (Exception ex) { 039 AudioPlayer.audioMalfunction(ex); 040 } 041 } 042}