diff --git a/ShootingStars/lib/AudioProcessing-1.0.jar b/ShootingStars/lib/AudioProcessing-1.0.jar index 9f32196..3ade434 100644 Binary files a/ShootingStars/lib/AudioProcessing-1.0.jar and b/ShootingStars/lib/AudioProcessing-1.0.jar differ diff --git a/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioDataManager.java b/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioDataManager.java index 433d7c9..a2b4e78 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioDataManager.java +++ b/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioDataManager.java @@ -21,6 +21,8 @@ import org.wyrez.audio.decoder.DecoderFactory; import org.wyrez.audio.util.Band; import org.wyrez.audio.util.SampleBuffer; import org.wyrez.audio.util.SampleHelper; +import org.wyrez.shootingstars.game.GameSettings; +import uk.co.caprica.vlcj.player.MediaPlayer; /** * @@ -36,7 +38,14 @@ public class AudioDataManager { private AudioProcessor audioProcessorLowBand; private AudioProcessor audioProcessorMidBand; private AudioProcessor audioProcessorHighBand; - private AudioPlayer player; + private MediaPlayer player; + private int bufferSize; + private float samplingRate; + private float[] speedData; + private float[] movementData; + private float[] flashData; + private float peakAverage; + private float indexFactor; private float bpm; private float currentTime; private float lastTimeSync; @@ -44,10 +53,12 @@ public class AudioDataManager { public void AudioDataManager() { } - public boolean initialize(String file, AudioPlayer player) { + public boolean initialize(GameSettings settings, MediaPlayer player) { try { this.player = player; - SampleBuffer samples = SampleHelper.createSampleBuffer(DecoderFactory.create(file)); + SampleBuffer samples = SampleHelper.createSampleBuffer( + DecoderFactory.create(settings.getAudioFile())); + this.samplingRate = samples.samplingRate; this.audioProcessorLowBand = new AudioProcessor(samples, LOW_BAND); this.audioProcessorMidBand = new AudioProcessor(samples, MID_BAND); this.audioProcessorHighBand = new AudioProcessor(samples, HIGH_BAND); @@ -58,42 +69,104 @@ public class AudioDataManager { } public void update(float tpf) { - if (lastTimeSync != player.getElapsedTime()) { - currentTime = player.getElapsedTime(); + if (lastTimeSync != player.getTime()) { + currentTime = player.getTime(); lastTimeSync = currentTime; } else { - currentTime += tpf; + currentTime += tpf * 1000f; } } public void analyseLowBand() { audioProcessorLowBand.calculate(); + bufferSize = audioProcessorLowBand.getBufferSize(); + indexFactor = (samplingRate / bufferSize) / 1000f; + + speedData = calcWave(audioProcessorLowBand.getSpectrum(), 4, 24, 3); + SampleHelper.normalize(speedData, 0f, 1f); + movementData = calcWave(audioProcessorLowBand.getPeaks(), 2, 4, 16); + SampleHelper.normalize(movementData, 0f, 1f); + audioProcessorLowBand.cutFastPeaks(MIN_PEAK_DIFF); + + flashData = audioProcessorLowBand.getPeaks(); + peakAverage = audioProcessorLowBand.getPeakAverage(); + bpm = audioProcessorLowBand.getBpm(); while (bpm > 200f) { bpm /= 2f; } + + audioProcessorLowBand.clean(); + audioProcessorLowBand = null; } public void analyseMidBand() { audioProcessorMidBand.calculate(); audioProcessorMidBand.cutFastPeaks(MIN_PEAK_DIFF); + + audioProcessorMidBand.clean(); + audioProcessorMidBand = null; } public void analyseHighBand() { audioProcessorHighBand.calculate(); + + audioProcessorHighBand.clean(); + audioProcessorHighBand = null; + } + + private float[] calcWave(float[] data, int actualWeight, int calcSize, int smooth) { + float[] result = new float[data.length]; + float average; + int count; + for (int s = 0; s < smooth; s++) { + for (int i = 0; i < data.length; i++) { + count = actualWeight; + average = data[i] * actualWeight; + + for (int j = 0; j < calcSize; j++) { + if (i > j) { + average += data[i - j]; + count++; + } + if (i < data.length - j - 1) { + average += data[i + j]; + count++; + } + } + average /= count; + result[i] = average; + } + } + return result; } public float getBPM() { return bpm; } - public boolean isLowPeak() { - int index = (int) (currentTime * (audioProcessorLowBand.getSamplingRate() / audioProcessorLowBand.getBufferSize())); - if (index > audioProcessorLowBand.getPeaks().length) { - index = audioProcessorLowBand.getPeaks().length - 1; + private int calcIndex() { + int index = (int) (currentTime * indexFactor); + if (index > flashData.length) { + index = flashData.length - 1; } - return audioProcessorLowBand.getPeaks()[index] > audioProcessorLowBand.getPeakAverage()*0.5f; + return index; + } + + public boolean isFlash() { + return flashData[calcIndex()] > peakAverage * 0.5f; + } + + public float getMovementData() { + return 0.5f; + //TODO argf + //System.out.println(currentTime + " * " + indexFactor + " = " + calcIndex() + " --> " + movementData[calcIndex()]); + //return movementData[calcIndex()]; + } + + public float getSpeedData() { + return speedData[calcIndex()]; } public float getMidData() { diff --git a/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioPlayer.java b/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioPlayer.java deleted file mode 100644 index aafe5a0..0000000 --- a/ShootingStars/src/org/wyrez/shootingstars/audiodata/AudioPlayer.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2013 Darth Affe and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.wyrez.shootingstars.audiodata; - -import org.wyrez.audio.AudioDevice; -import org.wyrez.audio.decoder.Decoder; - -/** - * - * @author Darth Affe - */ -public abstract class AudioPlayer extends Thread { - - private static final int BUFFER_SIZE = 128; - /**/ - private Decoder decoder; - private AudioDevice device; - private float elapsedTime; - private boolean cleanup = false; - - public AudioPlayer(Decoder decoder) throws Exception { - this.decoder = decoder; - device = new AudioDevice(decoder.getSamplingRate(), decoder.getChannelCount(), - BUFFER_SIZE * decoder.getChannelCount()); - } - - @Override - public void run() { - elapsedTime = 0; - float[] samples = new float[BUFFER_SIZE * decoder.getChannelCount()]; - long startTime = System.nanoTime(); - while (decoder.readSamplesStereo(samples) > 0) { - if (cleanup) { - break; - } - device.writeSamples(samples); - elapsedTime = (System.nanoTime() - startTime) / 1000000000.0f; - } - finished(cleanup); - } - - public float getElapsedTime() { - return elapsedTime; - } - - public void cleanup() { - this.cleanup = true; - } - - public abstract void finished(boolean cleanup); -} diff --git a/ShootingStars/src/org/wyrez/shootingstars/controls/GroundGlowControl.java b/ShootingStars/src/org/wyrez/shootingstars/controls/GroundGlowControl.java index 92b1ddf..04a0acb 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/controls/GroundGlowControl.java +++ b/ShootingStars/src/org/wyrez/shootingstars/controls/GroundGlowControl.java @@ -48,7 +48,7 @@ public class GroundGlowControl extends BaseControl { @Override public void update(float tpf) { - if (audioDataManager.isLowPeak()) { + if (audioDataManager.isFlash()) { glowTimer = GLOW_DURATION; } diff --git a/ShootingStars/src/org/wyrez/shootingstars/controls/PlayerMoveControl.java b/ShootingStars/src/org/wyrez/shootingstars/controls/PlayerMoveControl.java index 7012b21..c7945be 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/controls/PlayerMoveControl.java +++ b/ShootingStars/src/org/wyrez/shootingstars/controls/PlayerMoveControl.java @@ -30,15 +30,11 @@ import org.wyrez.shootingstars.helper.UserDataKeys; public class PlayerMoveControl extends BaseControl { private static final float BPM_TO_SPEED_FACTOR = 1f / 8f; - //private static final float DASH_MULTIPLIER = 4f; - //private static final float DASH_DURATION = 0.25f; /**/ private AudioDataManager audioDataManager; private float radius = 666f; private float angle = 0f; private float speed; - //TODO dashing isn't as nice at it should be -.- is it needed? -// private float dashTimer = 0f; public PlayerMoveControl(AudioDataManager audioDataManager) { this.audioDataManager = audioDataManager; @@ -61,20 +57,9 @@ public class PlayerMoveControl extends BaseControl { angle -= FastMath.TWO_PI; } -// if (audioDataManager.isLowPeak() && dashTimer <= 0f) { -// dashTimer = DASH_DURATION; -// System.out.println((System.nanoTime() - lastDash) / 1000000000.0); -// lastDash = System.nanoTime(); -// } - - spatial.setLocalTranslation(MathHelper.calcPointOnCircle(angle, radius, 250f)); //TODO set y-Position -// if (dashTimer > 0f) { -// angle += MathHelper.degreeToRadian(speed * (DASH_MULTIPLIER -// * (dashTimer / DASH_DURATION)) * tpf); -// dashTimer -= tpf; -// } else { - angle += MathHelper.degreeToRadian(speed * tpf); -// } + spatial.setLocalTranslation(MathHelper.calcPointOnCircle(angle, radius, + 200f + (600f * audioDataManager.getMovementData()))); + angle += MathHelper.degreeToRadian((speed / 2f + (speed * audioDataManager.getSpeedData())) * tpf); } } diff --git a/ShootingStars/src/org/wyrez/shootingstars/game/Cinema.java b/ShootingStars/src/org/wyrez/shootingstars/game/Cinema.java index 99c5eec..1d5f7e3 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/game/Cinema.java +++ b/ShootingStars/src/org/wyrez/shootingstars/game/Cinema.java @@ -19,7 +19,6 @@ package org.wyrez.shootingstars.game; import com.jme3.material.Material; import com.jme3.math.FastMath; import com.jme3.math.Vector3f; -import com.jme3.renderer.RenderManager; import com.jme3.scene.Geometry; import com.jme3.texture.Image; import com.jme3.texture.Texture2D; @@ -27,7 +26,6 @@ import com.sun.jna.Memory; import java.nio.ByteBuffer; import org.wyrez.shootingstars.factories.Materials; import org.wyrez.shootingstars.mesh.CinemaHex; -import uk.co.caprica.vlcj.player.MediaPlayerFactory; import uk.co.caprica.vlcj.player.direct.BufferFormat; import uk.co.caprica.vlcj.player.direct.DirectMediaPlayer; import uk.co.caprica.vlcj.player.direct.RenderCallback; @@ -38,58 +36,30 @@ import uk.co.caprica.vlcj.player.direct.RenderCallback; */ public class Cinema extends Geometry implements RenderCallback { - private static final int WIDTH = 1280; - private static final int HEIGHT = 720; - private static final int DEPTH = 4; - private static final String VIDEO_FORMAT = "RGBA"; - private static final Image.Format TEXTURE_FORMAT = Image.Format.RGBA8; - private final MediaPlayerFactory mediaPlayerFactory; - private final DirectMediaPlayer mediaPlayer; private final Image videoImage; private final Texture2D videoTexture; private final Object bufferLock = new Object(); private ByteBuffer buffer; + private int videoBufferSize; - public Cinema(String file) { - this(file, 1000f); + public Cinema(GameSettings settings) { + this(settings, 1000f); } - public Cinema(String file, float radius) { - this(file, radius, Vector3f.ZERO); + public Cinema(GameSettings settings, float radius) { + this(settings, radius, Vector3f.ZERO); } - public Cinema(String file, float radius, Vector3f pos) { - super("Cinema: " + file, new CinemaHex(pos, radius, - radius * ((float) HEIGHT / (float) WIDTH))); - mediaPlayerFactory = new MediaPlayerFactory("--no-video-title-show", "--quiet"); - mediaPlayer = mediaPlayerFactory.newDirectMediaPlayer(VIDEO_FORMAT, WIDTH, HEIGHT, WIDTH * DEPTH, this); - videoImage = new Image(TEXTURE_FORMAT, WIDTH, HEIGHT, null); + public Cinema(GameSettings settings, float radius, Vector3f pos) { + super("Cinema: " + settings.getVideoFile(), new CinemaHex(pos, radius, + radius * ((float) settings.getVideoHeight() / (float) settings.getVideoWidth()))); + videoImage = new Image(settings.GetTextureFormat(), settings.getVideoWidth(), settings.getVideoHeight(), null); videoTexture = new Texture2D(videoImage); - + videoBufferSize = settings.getVideoWidth() * settings.getVideoHeight() * settings.getVideoDepth(); Material mat = Materials.UNSHADED.create(); mat.setTexture("ColorMap", videoTexture); this.setMaterial(mat); this.rotate(0f, FastMath.PI / 6f, 0f); - - mediaPlayer.prepareMedia(file); - } - - public void play() { - mediaPlayer.play(); - } - - public void pause() { - mediaPlayer.pause(); - } - - public void stop() { - mediaPlayer.stop(); - } - - public void cleanup() { - stop(); - mediaPlayer.release(); - mediaPlayerFactory.release(); } public void render() { @@ -101,7 +71,7 @@ public class Cinema extends Geometry implements RenderCallback { @Override public void display(DirectMediaPlayer mediaPlayer, Memory[] nativeBuffers, BufferFormat bufferFormat) { synchronized (bufferLock) { - buffer = nativeBuffers[0].getByteBuffer(0, WIDTH * HEIGHT * DEPTH); + buffer = nativeBuffers[0].getByteBuffer(0, videoBufferSize); } } } diff --git a/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java b/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java new file mode 100644 index 0000000..15b6aee --- /dev/null +++ b/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2013 Darth Affe and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.wyrez.shootingstars.game; + +import com.jme3.texture.Image; + +/** + * + * @author Darth Affe + */ +public class GameSettings { + + private static final int WIDTH = 1280; + private static final int HEIGHT = 720; + private static final int DEPTH = 4; + private static final String VIDEO_FORMAT = "RGBA"; + private static final Image.Format TEXTURE_FORMAT = Image.Format.RGBA8; + /**/ + private String audioFile; + private String videoFile; + private boolean useVideo; + + public GameSettings(String audioFile, String videoFile) { + this.audioFile = audioFile; + if (videoFile == null) { + videoFile = audioFile; + useVideo = false; + } else { + this.videoFile = videoFile; + useVideo = true; + } + } + + public String getAudioFile() { + return audioFile; + } + + public String getVideoFile() { + return videoFile; + } + + public boolean useVideo(){ + return useVideo; + } + + public int getVideoWidth() { + return WIDTH; + } + + public int getVideoHeight() { + return HEIGHT; + } + + public int getVideoDepth() { + return DEPTH; + } + + public String getVideoFormat() { + return VIDEO_FORMAT; + } + + public Image.Format GetTextureFormat() { + return TEXTURE_FORMAT; + } +} diff --git a/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java b/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java index 5a96946..80bbf40 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java +++ b/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java @@ -30,9 +30,9 @@ import com.jme3.scene.Geometry; import com.jme3.scene.Node; import com.jme3.scene.Spatial; import com.jme3.scene.shape.Box; +import com.jme3.texture.Image; import org.wyrez.audio.decoder.DecoderFactory; import org.wyrez.shootingstars.audiodata.AudioDataManager; -import org.wyrez.shootingstars.audiodata.AudioPlayer; import org.wyrez.shootingstars.controls.GroundGlowControl; import org.wyrez.shootingstars.controls.PlayerCamControl; import org.wyrez.shootingstars.controls.PlayerMouseControl; @@ -40,32 +40,37 @@ import org.wyrez.shootingstars.controls.PlayerMoveControl; import org.wyrez.shootingstars.controls.PlayerShootControl; import org.wyrez.shootingstars.factories.Materials; import org.wyrez.shootingstars.game.Cinema; +import org.wyrez.shootingstars.game.GameSettings; import org.wyrez.shootingstars.game.Ground; import org.wyrez.shootingstars.gui.GameGUI; import org.wyrez.shootingstars.gui.listener.GameListener; import org.wyrez.shootingstars.helper.UserDataKeys; import tonegod.gui.core.Screen; +import uk.co.caprica.vlcj.player.MediaPlayerFactory; +import uk.co.caprica.vlcj.player.direct.DirectMediaPlayer; /** * * @author Darth Affe */ public class GameState extends AbstractAppState implements GameListener { - + private StateManager stateManager; private AssetManager assetManager; private InputManager inputManager; private ViewPort viewPort; private Camera camera; + private GameSettings settings; private AudioDataManager audioDataManager; - private AudioPlayer audioPlayer; + private final MediaPlayerFactory mediaPlayerFactory; + private DirectMediaPlayer mediaPlayer; private Node rootNode; private GameGUI gui; private Cinema cinema; private Ground ground; private Spatial player; private boolean isRunning = false; - + public GameState(Node rootNode, Screen screen, StateManager stateManager, AssetManager assetManager, ViewPort viewPort, InputManager inputManager, Camera camera, AudioDataManager audioDataManager) { @@ -77,39 +82,45 @@ public class GameState extends AbstractAppState implements GameListener { this.audioDataManager = audioDataManager; this.assetManager = assetManager; this.viewPort = viewPort; + + mediaPlayerFactory = new MediaPlayerFactory("--no-video-title-show", "--quiet"); + + this.settings = new GameSettings("Shades of AMV.mp3", "Shades of AMV.webm"); } - + + public void setSettings(GameSettings settings) { + this.settings = settings; + } + public void loadGround() { ground = new Ground(); - - for (Spatial s : ground.getChildren()) { - s.addControl(new GroundGlowControl(audioDataManager)); - } - + +// for (Spatial s : ground.getChildren()) { +// s.addControl(new GroundGlowControl(audioDataManager)); +// } + FilterPostProcessor fpp = new FilterPostProcessor(assetManager); fpp.addFilter(new BloomFilter(BloomFilter.GlowMode.Objects)); viewPort.addProcessor(fpp); } - - public boolean initAudioPlayer() { + + public boolean initMediaPlayer() { try { - this.audioPlayer = new AudioPlayer(DecoderFactory.create("Lost One no Goukoku.mp3")) {//TODO path - @Override - public void finished(boolean cleanup) { - System.out.println(">>> FINISHED!"); - } - }; + mediaPlayer = mediaPlayerFactory.newDirectMediaPlayer(settings.getVideoFormat(), + settings.getVideoWidth(), settings.getVideoHeight(), + settings.getVideoWidth() * settings.getVideoDepth(), cinema); + mediaPlayer.prepareMedia(settings.getVideoFile()); return true; } catch (Exception ex) { return false; } } - + public void loadCinema() { - cinema = new Cinema("Broken.mp4"); //TODO settings? + cinema = new Cinema(settings); cinema.move(0f, 160f, 0f); } - + public void loadPlayer() { player = new Geometry("player", new Box(Vector3f.ZERO, 1f, 1f, 1f)); //TODO start location? player.setMaterial(Materials.UNSHADED.create()); @@ -119,16 +130,15 @@ public class GameState extends AbstractAppState implements GameListener { player.addControl(new PlayerShootControl(inputManager)); player.addControl(new PlayerCamControl(camera)); } - + public void start() { gui.setStart(); inputManager.setCursorVisible(false); player.setUserData(UserDataKeys.RUNNING, true); - cinema.play(); - audioPlayer.start(); + mediaPlayer.play(); isRunning = true; } - + @Override public void stateAttached(AppStateManager stateManager) { // stateManager.attach(new FlyCamAppState()); //TODO debug @@ -138,7 +148,7 @@ public class GameState extends AbstractAppState implements GameListener { gui.setWait(); gui.attach(); } - + @Override public void stateDetached(AppStateManager stateManager) { // stateManager.detach(new FlyCamAppState()); //TODO debug @@ -146,28 +156,33 @@ public class GameState extends AbstractAppState implements GameListener { rootNode.detachChild(player); rootNode.detachChild(ground); rootNode.detachChild(cinema); - cinema.cleanup(); + mediaPlayer.release(); + mediaPlayerFactory.release(); inputManager.setCursorVisible(true); } - + @Override public void render(RenderManager rm) { cinema.render(); } - + @Override public void update(float tpf) { audioDataManager.update(tpf); } - + @Override public void cleanup() { super.cleanup(); - cinema.cleanup(); - audioPlayer.cleanup(); + mediaPlayer.release(); + mediaPlayerFactory.release(); } - - public AudioPlayer getAudioPlayer() { - return audioPlayer; + + public GameSettings getSettings() { + return settings; + } + + public DirectMediaPlayer getMediaPlayer() { + return mediaPlayer; } } diff --git a/ShootingStars/src/org/wyrez/shootingstars/states/LoadingState.java b/ShootingStars/src/org/wyrez/shootingstars/states/LoadingState.java index 62674a2..270023b 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/states/LoadingState.java +++ b/ShootingStars/src/org/wyrez/shootingstars/states/LoadingState.java @@ -56,6 +56,10 @@ public class LoadingState extends AbstractAppState { public void update(float tpf) { switch (currentProgress) { case START: + currentProgress = LoadingProgress.LOADING_CINEMA; + break; + case LOADING_CINEMA: + loadingCinema(); currentProgress = LoadingProgress.INIT_AUDIO_PLAYER; break; case INIT_AUDIO_PLAYER: @@ -76,10 +80,6 @@ public class LoadingState extends AbstractAppState { break; case ANALYSE_HIGH_BAND: analyseHighBand(); - currentProgress = LoadingProgress.LOADING_CINEMA; - break; - case LOADING_CINEMA: - loadingCinema(); currentProgress = LoadingProgress.GENERATING_SCENE; break; case GENERATING_SCENE: @@ -99,7 +99,7 @@ public class LoadingState extends AbstractAppState { private void initAudioAnalysis() { GameState gs = stateManager.getState(State.GAME); - audioDataManager.initialize("Lost One no Goukoku.mp3", gs.getAudioPlayer()); //TODO path + audioDataManager.initialize(gs.getSettings(), gs.getMediaPlayer()); //TODO path } private void analyseLowBand() { @@ -116,7 +116,7 @@ public class LoadingState extends AbstractAppState { private void initAudioPlayer() { GameState gs = stateManager.getState(State.GAME); - gs.initAudioPlayer(); + gs.initMediaPlayer(); } private void loadingCinema() { diff --git a/ShootingStars/src/org/wyrez/shootingstars/states/util/LoadingProgress.java b/ShootingStars/src/org/wyrez/shootingstars/states/util/LoadingProgress.java index 34597f3..549b273 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/states/util/LoadingProgress.java +++ b/ShootingStars/src/org/wyrez/shootingstars/states/util/LoadingProgress.java @@ -23,12 +23,12 @@ package org.wyrez.shootingstars.states.util; public enum LoadingProgress { START("Loading...", 0), - INIT_AUDIO_PLAYER("Loading Audio-Player...", 1), - INIT_AUDIO_ANALYSIS("Creating Samples...", 2), - ANALYSE_LOW_BAND("Analyse Low-Band...", 3), - ANALYSE_MID_BAND("Analyse Mid-Band...", 4), - ANALYSE_HIGH_BAND("Analyse High-Band...", 5), - LOADING_CINEMA("Loading Cinema", 6), + LOADING_CINEMA("Loading Cinema", 1), + INIT_AUDIO_PLAYER("Loading Audio-Player...", 2), + INIT_AUDIO_ANALYSIS("Creating Samples...", 3), + ANALYSE_LOW_BAND("Analyse Low-Band...", 4), + ANALYSE_MID_BAND("Analyse Mid-Band...", 5), + ANALYSE_HIGH_BAND("Analyse High-Band...", 6), GENERATING_SCENE("Generating Scene...", 7), LOADING_PLAYER("Loading Player...", 8), DONE("Done!", 8);