source: josm/trunk/src/org/openstreetmap/josm/actions/audio/AudioFastSlowAction.java@ 1023

Last change on this file since 1023 was 1023, checked in by stoecker, 16 years ago

close bug #1622. Keyboard shortcuts and specific OS handling

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1// License: GPL. Copyright 2007 by Immanuel Scholz and others
2package org.openstreetmap.josm.actions.audio;
3
4import java.awt.event.ActionEvent;
5
6import org.openstreetmap.josm.Main;
7import org.openstreetmap.josm.actions.JosmAction;
8import org.openstreetmap.josm.tools.AudioPlayer;
9import org.openstreetmap.josm.tools.ShortCut;
10
11abstract public class AudioFastSlowAction extends JosmAction {
12
13 private double multiplier;
14
15 public AudioFastSlowAction(String name, String iconName, String tooltip, ShortCut shortcut, boolean fast) {
16 super(name, iconName, tooltip, shortcut, true);
17 try {
18 multiplier = Double.parseDouble(Main.pref.get("audio.fastfwdmultiplier","1.3"));
19 } catch (NumberFormatException e) {
20 multiplier = 1.3;
21 }
22 if (! fast)
23 multiplier = 1.0 / multiplier;
24 }
25
26 @Deprecated
27 public AudioFastSlowAction(String name, String iconName, String tooltip, int shortcut, int modifier, boolean fast) {
28 super(name, iconName, tooltip, shortcut, modifier, true);
29 try {
30 multiplier = Double.parseDouble(Main.pref.get("audio.fastfwdmultiplier","1.3"));
31 } catch (NumberFormatException e) {
32 multiplier = 1.3;
33 }
34 if (! fast)
35 multiplier = 1.0 / multiplier;
36 }
37
38 public void actionPerformed(ActionEvent e) {
39 double speed = AudioPlayer.speed();
40 if (speed * multiplier <= 0.1)
41 return;
42 try {
43 if (AudioPlayer.playing() || AudioPlayer.paused())
44 AudioPlayer.play(AudioPlayer.url(), AudioPlayer.position(), speed * multiplier);
45 } catch (Exception ex) {
46 AudioPlayer.audioMalfunction(ex);
47 }
48 }
49}
Note: See TracBrowser for help on using the repository browser.