Ticket #15226: josm-r12711-build-without-javafx.patch

File josm-r12711-build-without-javafx.patch, 2.0 KB (added by ris, 9 years ago)
  • build.xml

    diff --git a/build.xml b/build.xml
    index 13d1552..a7aeb0b 100644
    a b Build-Date: ${build.tstamp}  
    335335            <compilerarg value="-Xep:ShortCircuitBoolean:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
    336336            <compilerarg value="-Xep:LiteralClassName:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
    337337            <compilerarg line="-Xmaxwarns 1000"/>
     338            <exclude name="org/openstreetmap/josm/io/audio/JavaFxMediaPlayer.java" if:set="noJavaFX"/>
    338339        </javac>
    339340
    340341        <copy todir="build" failonerror="no" includeemptydirs="no">
  • src/org/openstreetmap/josm/io/audio/AudioPlayer.java

    diff --git a/src/org/openstreetmap/josm/io/audio/AudioPlayer.java b/src/org/openstreetmap/josm/io/audio/AudioPlayer.java
    index 697b95f..b1bea03 100644
    a b public final class AudioPlayer extends Thread implements AudioListener {  
    236236        double leadIn = Main.pref.getDouble("audio.leadin", 1.0 /* default, seconds */);
    237237        double calibration = Main.pref.getDouble("audio.calibration", 1.0 /* default, ratio */);
    238238        try {
    239             soundPlayer = new JavaFxMediaPlayer();
    240         } catch (NoClassDefFoundError | InterruptedException e) {
     239            Class jfxmp = Class.forName("org.openstreetmap.josm.io.audio.JavaFxMediaPlayer");
     240            soundPlayer = (SoundPlayer)jfxmp.newInstance();
     241        } catch (ClassNotFoundException e) {
     242            Logging.debug(e);
     243            Logging.warn("JOSM compiled without Java FX support. Falling back to Java Sound API");
     244        } catch (IllegalAccessException | InstantiationException | NoClassDefFoundError e) {
    241245            Logging.debug(e);
    242246            Logging.warn("Java FX is unavailable. Falling back to Java Sound API");
     247        }
     248        if (soundPlayer == null) {
    243249            soundPlayer = new JavaSoundPlayer(leadIn, calibration);
    244250        }
    245251        soundPlayer.addAudioListener(this);