will not reload everytime minimized; minor visualizer tweaks; fixed non shuffle out of bounds issue; progress on analysis page

This commit is contained in:
Harrison Deng 2018-01-15 15:55:51 -06:00
parent 36eb547943
commit da76c05435
5 changed files with 30 additions and 14 deletions

View File

@ -40,7 +40,7 @@ import zero1hd.rhythmbullet.util.AdvancedResizeScreen;
public class RhythmBullet extends Game { public class RhythmBullet extends Game {
private boolean initComplete = false; private boolean initComplete = false;
private boolean resizing; private boolean resizing;
private int screenWidth, screenHeight;
public static final int GAME_AREA_WIDTH = 64; public static final int GAME_AREA_WIDTH = 64;
public static final int GAME_AREA_HEIGHT = 48; public static final int GAME_AREA_HEIGHT = 48;
public static final String VERSION = "(0.1)R1-PreAlpha"; public static final String VERSION = "(0.1)R1-PreAlpha";
@ -98,6 +98,8 @@ public class RhythmBullet extends Game {
queueAssets(); queueAssets();
setScreen(initialScreen); setScreen(initialScreen);
screenWidth = Gdx.graphics.getWidth();
screenHeight = Gdx.graphics.getHeight();
} }
public void checkAssetQueue() { public void checkAssetQueue() {
if (!initComplete) { if (!initComplete) {
@ -159,16 +161,18 @@ public class RhythmBullet extends Game {
@Override @Override
public void resize(int width, int height) { public void resize(int width, int height) {
if (initComplete) { if (width != screenWidth || height != screenHeight) {
Gdx.app.debug("Resize", "Pre-transition is happening. Using resolution " + width + "x" + height); if (initComplete) {
rRHandler.setResolution(width, height); Gdx.app.debug("Resize", "Pre-transition is happening. Using resolution " + width + "x" + height);
((AdvancedResizeScreen) getScreen()).preAssetLoad(); rRHandler.setResolution(width, height);
assetManager.clear(); ((AdvancedResizeScreen) getScreen()).preAssetLoad();
prefs.putInteger("screen-width", width); assetManager.clear();
prefs.putInteger("screen-height", height); prefs.putInteger("screen-width", width);
prefs.flush(); prefs.putInteger("screen-height", height);
resizing = true; prefs.flush();
queueAssets(); resizing = true;
queueAssets();
}
} }
super.resize(width, height); super.resize(width, height);
} }

View File

@ -38,7 +38,7 @@ public class BasicVisualizer extends VisualizerCore {
pixmap.setColor(Color.WHITE); pixmap.setColor(Color.WHITE);
pixmap.fill(); pixmap.fill();
barCount = 70; barCount = 70;
smoothRange = 3; smoothRange = 2;
angleRot = new Vector2(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation)); angleRot = new Vector2(MathUtils.cosDeg(rotation), MathUtils.sinDeg(rotation));
bars = new Sprite[barCount]; bars = new Sprite[barCount];
barHeights = new float[barCount]; barHeights = new float[barCount];

View File

@ -68,8 +68,6 @@ public class Mp3Manager implements MusicManager {
channels = mp3File.getAudioHeader().getChannels().equals("Mono") ? 1:2; channels = mp3File.getAudioHeader().getChannels().equals("Mono") ? 1:2;
sampleCount = MathUtils.round(Float.valueOf((float) (sampleRate*durationInSeconds))) * channels; sampleCount = MathUtils.round(Float.valueOf((float) (sampleRate*durationInSeconds))) * channels;
//Rounding error probably?
sampleCount += readWindowSize*2;
} catch (IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { } catch (IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -75,6 +75,12 @@ public class MusicListController extends Observable implements OnCompletionListe
} else { } else {
currentPlaybackID++; currentPlaybackID++;
} }
if (currentPlaybackID >= musicList.getTotal()) {
currentPlaybackID = 0;
} else if (currentPlaybackID < 0) {
currentPlaybackID = musicList.getTotal()-1;
}
loadMusic(); loadMusic();
play(); play();
} }

View File

@ -22,6 +22,7 @@ public class AnalysisPage extends Page {
private Label diffModPercentLabel, heltModPercentLabel, speeModPercentLabel; private Label diffModPercentLabel, heltModPercentLabel, speeModPercentLabel;
private Label progressLabel; private Label progressLabel;
private TextButton confirmButton; private TextButton confirmButton;
public AnalysisPage(Skin skin, AssetManager assets) { public AnalysisPage(Skin skin, AssetManager assets) {
setTextureBackground(assets.get("gradients.atlas", TextureAtlas.class).findRegion("red-round")); setTextureBackground(assets.get("gradients.atlas", TextureAtlas.class).findRegion("red-round"));
table = new Table(); table = new Table();
@ -75,6 +76,9 @@ public class AnalysisPage extends Page {
public void changed(ChangeEvent event, Actor actor) { public void changed(ChangeEvent event, Actor actor) {
confirmed = true; confirmed = true;
confirmButton.setDisabled(true); confirmButton.setDisabled(true);
speedModifierSlider.setDisabled(true);
healthModifierSlider.setDisabled(true);
difficultyModifierSlider.setDisabled(true);
} }
}); });
@ -85,6 +89,10 @@ public class AnalysisPage extends Page {
} }
public void processSong(MusicManager mm) { public void processSong(MusicManager mm) {
confirmButton.setDisabled(false);
speedModifierSlider.setDisabled(false);
healthModifierSlider.setDisabled(false);
difficultyModifierSlider.setDisabled(false);
aa = new AudioAnalyzer(mm); aa = new AudioAnalyzer(mm);
aa.start(); aa.start();
} }