From e1d185dbe912632110dad27f036558f54a9089ba Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 20 Nov 2017 13:14:31 +0100 Subject: [PATCH] Fixes, fixes, fixes --- src/io/github/norbipeti/audiospectrum/Analyzer.java | 9 +++------ src/io/github/norbipeti/audiospectrum/BarsRenderer.java | 2 +- .../github/norbipeti/audiospectrum/BarsRendererBase.java | 2 +- src/io/github/norbipeti/audiospectrum/PluginMain.java | 5 +---- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/io/github/norbipeti/audiospectrum/Analyzer.java b/src/io/github/norbipeti/audiospectrum/Analyzer.java index 169e409..3c729dd 100644 --- a/src/io/github/norbipeti/audiospectrum/Analyzer.java +++ b/src/io/github/norbipeti/audiospectrum/Analyzer.java @@ -75,7 +75,7 @@ public class Analyzer //Based on NativeBass example 'Spectrum' return floats; } - private ByteBuffer buffer; + private volatile ByteBuffer buffer; private TimerTask tt; public boolean run(CommandSender sender) @@ -104,13 +104,10 @@ public class Analyzer //Based on NativeBass example 'Spectrum' public boolean start(CommandSender sender, String file) { + if (playing) + tt.cancel(); if (!playFile(sender, file)) - { - // start a file playing - BASS_Free(); - stop(); return false; - } // setup update timer (50hz) timer.scheduleAtFixedRate(tt = new TimerTask() { diff --git a/src/io/github/norbipeti/audiospectrum/BarsRenderer.java b/src/io/github/norbipeti/audiospectrum/BarsRenderer.java index 5bfa85d..287aea5 100644 --- a/src/io/github/norbipeti/audiospectrum/BarsRenderer.java +++ b/src/io/github/norbipeti/audiospectrum/BarsRenderer.java @@ -41,7 +41,7 @@ public class BarsRenderer extends BarsRendererBase for (int j = 0; j < 128; j++) for (int k = 0; k < 8; k++) mc.setPixel(i * 16 + k, 128 - j, - j < Math.sqrt(an.playing() ? bars.get((offsetx + i) * 64) : 0) * 1280 + offsety + j < Math.sqrt(an.playing() ? bars.get((offsetx + i) * 64) : 0) * 2560 + offsety ? MapPalette.matchColor(j - offsety, 255 - j + offsety, 0) : MapPalette.matchColor(Color.BLACK)); } diff --git a/src/io/github/norbipeti/audiospectrum/BarsRendererBase.java b/src/io/github/norbipeti/audiospectrum/BarsRendererBase.java index b84a9ab..44efdba 100644 --- a/src/io/github/norbipeti/audiospectrum/BarsRendererBase.java +++ b/src/io/github/norbipeti/audiospectrum/BarsRendererBase.java @@ -6,7 +6,7 @@ import org.bukkit.map.MapRenderer; public abstract class BarsRendererBase extends MapRenderer { - protected FloatBuffer bars; + protected volatile FloatBuffer bars; protected byte firstrender = 0; protected byte count = 16; diff --git a/src/io/github/norbipeti/audiospectrum/PluginMain.java b/src/io/github/norbipeti/audiospectrum/PluginMain.java index f196e06..41ee96f 100644 --- a/src/io/github/norbipeti/audiospectrum/PluginMain.java +++ b/src/io/github/norbipeti/audiospectrum/PluginMain.java @@ -5,7 +5,6 @@ import java.io.InputStream; import java.lang.reflect.Field; import java.net.URL; import java.net.URLDecoder; -import java.nio.FloatBuffer; import java.nio.file.Files; import java.util.Arrays; import java.util.Enumeration; @@ -21,8 +20,6 @@ import org.bukkit.plugin.java.JavaPlugin; public class PluginMain extends JavaPlugin { - @SuppressWarnings("unused") //Assignment in method call isn't counted as use - private volatile FloatBuffer bars; private BarsRenderer br; private Analyzer an; @@ -56,7 +53,7 @@ public class PluginMain extends JavaPlugin jar.close(); for (File f : getDataFolder().listFiles()) addLibraryPath(f.getAbsolutePath()); - br = new BarsRenderer(bars = an.init(), an); + br = new BarsRenderer(an.init(), an); for (short i = 0; i < 4; i++) { MapView map = Bukkit.getMap(i);