music refresh works; minor visualizer logic change;

This commit is contained in:
2018-08-24 01:29:10 -05:00
parent a6dc7c2559
commit b0b7be9141
7 changed files with 61 additions and 30 deletions

View File

@@ -28,7 +28,7 @@ import zero1hd.rhythmbullet.util.ScreenConfiguration;
public class MainPage extends Page implements Observer {
private MusicController mc;
private AudioMetadataController mmc;
private AudioMetadataController amc;
private Label versionLabel;
private Image title;
@@ -47,8 +47,8 @@ public class MainPage extends Page implements Observer {
super(0, 0);
this.mc = musicController;
this.mc.addObserver(this);
this.mmc = mmc;
this.mmc.addObserver(this);
this.amc = mmc;
this.amc.addObserver(this);
dhv = new DoubleHorizontalVisualizer((int) getWidth(), (int) 0, getHeight(), 0, screenConfiguration.getTargetFramesPerSecond(), mc, new PCMObtainer(mc));
dhv.setPosition(0, (int) ((getHeight() - dhv.getHeight())/2f));
@@ -122,13 +122,15 @@ public class MainPage extends Page implements Observer {
@Override
public void update(Observable o, Object arg) {
if (o == mc) {
if (mmc.isSameSizeMusicList()) {
scrollText.setText("Currently playing: " + mmc.getAudioMetadata(mc.getCurrentMusicFileHandle()).getTitle(), null);
if (amc.isSameSizeMusicList()) {
scrollText.setText("Currently playing: " + amc.getAudioMetadata(mc.getCurrentMusicFileHandle()).getTitle(), null);
} else {
scrollText.setText("Currently playing: " + mc.getCurrentMusicFileHandle().nameWithoutExtension().replace('_', ' '), null);
}
} else if (o == mmc) {
scrollText.setText("Currently playing: " + mmc.getAudioMetadata(mc.getCurrentMusicFileHandle()).getTitle(), null);
} else if (o == amc) {
if (amc.size() != 0) {
scrollText.setText("Currently playing: " + amc.getAudioMetadata(mc.getCurrentMusicFileHandle()).getTitle(), null);
}
}
}
}

View File

@@ -230,8 +230,9 @@ public class MusicSelectionPage extends Page implements Observer {
if (o == mmc) {
selectionLoaderThread.start();
} else if (o == mc) {
if (mc.getMusicList().getTotal() == selectables.size() && mc.getCurrentMusicFileHandle() != selectables.getChecked().getMetadata().getFileHandle()) {
if (selectables.getChecked() != null && mc.getMusicList().getTotal() == selectables.size() && mc.getCurrentMusicFileHandle() != selectables.getChecked().getMetadata().getFileHandle()) {
selectables.setChecked(mc.getCurrentMusicFileHandle());
scrollPane.scrollTo(selectables.getChecked().getX(), selectables.getChecked().getY(), selectables.getChecked().getWidth(), selectables.getChecked().getHeight());
}
} else if (o == mc.getMusicList()) {
if (arg == mc.getMusicList().states.LOADING) {