Skip to content

Commit c31409f

Browse files
author
chaosfox
committed
gui fixes and performance improvements
1 parent 7486602 commit c31409f

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

base/src/org/open2jam/gui/Interface.java

+21-4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.io.FileInputStream;
1818
import java.io.IOException;
1919
import java.io.ObjectInputStream;
20+
import java.text.DecimalFormat;
2021
import java.util.Arrays;
2122
import java.util.List;
2223
import java.util.ArrayList;
@@ -75,9 +76,12 @@ public Interface() {
7576
table_sorter = new TableRowSorter<ChartListTableModel>(model_songlist);
7677
table_songlist.setRowSorter(table_sorter);
7778
txt_filter.getDocument().addDocumentListener(new DocumentListener() {
79+
@Override
7880
public void insertUpdate(DocumentEvent e) {updateFilter();}
81+
@Override
7982
public void removeUpdate(DocumentEvent e) {updateFilter();}
80-
public void changedUpdate(DocumentEvent e) {updateFilter();}
83+
@Override
84+
public void changedUpdate(DocumentEvent e) {}
8185
});
8286

8387
loadDirlist();
@@ -99,13 +103,15 @@ public void windowClosed(WindowEvent arg0) {
99103
col.setPreferredWidth(80);
100104

101105
table_chartlist.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
106+
@Override
102107
public void valueChanged(ListSelectionEvent e)
103108
{
104109
if (e.getValueIsAdjusting()) return;
105110
javax.swing.ListSelectionModel lsm = (javax.swing.ListSelectionModel)e.getSource();
106111
if(lsm.isSelectionEmpty()) return;
107112
int selectedRow = lsm.getMinSelectionIndex();
108113
if(selectedRow < 0) return;
114+
if(selected_chart.get(selectedRow) == selected_header)return;
109115
selected_header = selected_chart.get(selectedRow);
110116
if(selectedRow != rank)
111117
{
@@ -917,6 +923,7 @@ private void initLogic() {
917923
List<DisplayMode> list = Arrays.asList(Display.getAvailableDisplayModes());
918924

919925
Collections.sort(list, new Comparator<DisplayMode>() {
926+
@Override
920927
public int compare(DisplayMode dm1, DisplayMode dm2) {
921928

922929
if(dm1.getBitsPerPixel() == dm2.getBitsPerPixel())
@@ -1012,6 +1019,7 @@ private void loadDirlist()
10121019
}
10131020
}
10141021

1022+
@Override
10151023
public void propertyChange(PropertyChangeEvent evt) {
10161024
if("progress".equals(evt.getPropertyName()))
10171025
{
@@ -1037,6 +1045,7 @@ void updateFilter() {
10371045
}
10381046
}
10391047

1048+
@Override
10401049
public void valueChanged(ListSelectionEvent e) {
10411050
int i = table_songlist.getSelectedRow();
10421051
if(i < 0 && last_model_idx >= 0){
@@ -1047,6 +1056,7 @@ public void valueChanged(ListSelectionEvent e) {
10471056
}else{
10481057
i = table_songlist.convertRowIndexToModel(i);
10491058
}
1059+
if(model_songlist.getRow(i) == selected_chart)return;
10501060
selected_chart = model_songlist.getRow(i);
10511061
if(selected_chart.size() > rank)selected_header = selected_chart.get(rank);
10521062
if(selected_chart != model_chartlist.getChartList()){
@@ -1057,9 +1067,11 @@ public void valueChanged(ListSelectionEvent e) {
10571067
table_chartlist.getSelectionModel().setSelectionInterval(0, 0);
10581068
else
10591069
table_chartlist.getSelectionModel().setSelectionInterval(0, rank);
1070+
10601071
updateInfo();
10611072
}
10621073

1074+
private DecimalFormat bpm_format = new DecimalFormat(".##");
10631075
private void updateInfo()
10641076
{
10651077
if(selected_header == null)return;
@@ -1069,11 +1081,10 @@ private void updateInfo()
10691081
lbl_filename.setText(resizeString(selected_header.getSource().getName(), 30));
10701082
lbl_genre.setText(resizeString(selected_header.getGenre(), 30));
10711083
lbl_level.setText(selected_header.getLevel()+"");
1072-
lbl_bpm.setText(Float.toString((float)selected_header.getBPM()*100/100));
1084+
lbl_bpm.setText(bpm_format.format(selected_header.getBPM()));
10731085
lbl_notes.setText(selected_header.getNoteCount()+"");
10741086
lbl_keys.setText(selected_header.getKeys()+"");
1075-
int d = selected_header.getDuration();
1076-
lbl_time.setText((d/60)+":"+(d%60 < 10 ? "0"+(d%60) : (d%60)));
1087+
lbl_time.setText(time2Text(selected_header.getDuration()));
10771088

10781089
BufferedImage i = selected_header.getCover();
10791090

@@ -1086,6 +1097,12 @@ private void updateInfo()
10861097
else
10871098
lbl_cover.setIcon(null);
10881099
}
1100+
1101+
private String time2Text(int secs) {
1102+
int h = secs / 60;
1103+
int m = secs % 60;
1104+
return m < 10 ? h+":0"+m : h+":"+m;
1105+
}
10891106

10901107
private String resizeString(String string, int size)
10911108
{

base/src/org/open2jam/parser/OJNChart.java

-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ public BufferedImage getCover()
6464
try{
6565
RandomAccessFile f = new RandomAccessFile(source, "r");
6666
ByteBuffer buffer = f.getChannel().map(FileChannel.MapMode.READ_ONLY, cover_offset, cover_size);
67-
buffer.order(java.nio.ByteOrder.LITTLE_ENDIAN);
6867
ByteBufferInputStream bis = new ByteBufferInputStream(buffer);
6968
f.close();
7069
return ImageIO.read(bis);

base/src/org/open2jam/render/Render.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ public void initialise()
391391
visibility_entity = new CompositeEntity();
392392
if(visibilityModifier != 0) visibility(visibilityModifier);
393393

394-
judgment_line = (Entity) skin.getEntityMap().get("JUDGMENT_LINE");
394+
judgment_line = skin.getEntityMap().get("JUDGMENT_LINE");
395395
entities_matrix.add(judgment_line);
396396

397397
for(Event.Channel c : keyboard_map.keySet())

0 commit comments

Comments
 (0)