Processing the screenshot is now threaded to prevent holdups.
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
161a56201e
commit
54dff58f17
@ -697,49 +697,48 @@ public class ArcadeReader {
|
||||
BufferedImage img;
|
||||
try {
|
||||
img = ImageIO.read(p.toFile());
|
||||
Reader newImg = interpret(img);
|
||||
newImg.result_screenshot=p;
|
||||
//Path getGamePath = gamePath(newImg);
|
||||
newImg.interpretBoxes(p);
|
||||
HashMap<String,HashMap<String,List<String>>> DATA = sigPlace.SONG_DATABASE;
|
||||
List<String> RECENT_PLAYS = sigPlace.RECENT_PLAYS;
|
||||
List<String> RECENT_RECORDS = sigPlace.RECENT_RECORDS;
|
||||
HashMap<String,List<String>> SONG_DATA=DATA.getOrDefault(newImg.getClass().getSimpleName(),new HashMap<>());
|
||||
List<String> RECORDS = SONG_DATA.getOrDefault(convertTitle(newImg.getTitle()),new ArrayList<>());
|
||||
boolean found=false;
|
||||
for (int i=0;i<RECORDS.size();i++) {
|
||||
String s = RECORDS.get(i);
|
||||
int score = getScore(s);
|
||||
if (score<newImg.getScore()) {
|
||||
//Insert here.
|
||||
found=true;
|
||||
if (i==0) {
|
||||
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot());
|
||||
}
|
||||
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot());
|
||||
if (RECENT_PLAYS.size()>20) {
|
||||
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1);
|
||||
}
|
||||
RECORDS.add(i, newImg.toStringWithScreenshot());
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
RECORDS.add(newImg.toStringWithScreenshot());
|
||||
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot());
|
||||
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot());
|
||||
if (RECENT_PLAYS.size()>20) {
|
||||
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1);
|
||||
}
|
||||
}
|
||||
if (RECENT_RECORDS.size()>20) {
|
||||
RECENT_RECORDS.remove(RECENT_RECORDS.size()-1);
|
||||
}
|
||||
SONG_DATA.put(convertTitle(newImg.getTitle()),RECORDS);
|
||||
DATA.put(newImg.getClass().getSimpleName(),SONG_DATA);
|
||||
|
||||
new Thread(){
|
||||
final Reader newImg = interpret(img);
|
||||
Thread t = new Thread(){
|
||||
public void run() {
|
||||
newImg.result_screenshot=p;
|
||||
//Path getGamePath = gamePath(newImg);
|
||||
newImg.interpretBoxes(p);
|
||||
HashMap<String,HashMap<String,List<String>>> DATA = sigPlace.SONG_DATABASE;
|
||||
List<String> RECENT_PLAYS = sigPlace.RECENT_PLAYS;
|
||||
List<String> RECENT_RECORDS = sigPlace.RECENT_RECORDS;
|
||||
HashMap<String,List<String>> SONG_DATA=DATA.getOrDefault(newImg.getClass().getSimpleName(),new HashMap<>());
|
||||
List<String> RECORDS = SONG_DATA.getOrDefault(convertTitle(newImg.getTitle()),new ArrayList<>());
|
||||
boolean found=false;
|
||||
for (int i=0;i<RECORDS.size();i++) {
|
||||
String s = RECORDS.get(i);
|
||||
int score = getScore(s);
|
||||
if (score<newImg.getScore()) {
|
||||
//Insert here.
|
||||
found=true;
|
||||
if (i==0) {
|
||||
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot());
|
||||
}
|
||||
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot());
|
||||
if (RECENT_PLAYS.size()>20) {
|
||||
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1);
|
||||
}
|
||||
RECORDS.add(i, newImg.toStringWithScreenshot());
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
RECORDS.add(newImg.toStringWithScreenshot());
|
||||
RECENT_RECORDS.add(0,newImg.toStringWithScreenshot());
|
||||
RECENT_PLAYS.add(0,newImg.toStringWithScreenshot());
|
||||
if (RECENT_PLAYS.size()>20) {
|
||||
RECENT_PLAYS.remove(RECENT_PLAYS.size()-1);
|
||||
}
|
||||
}
|
||||
if (RECENT_RECORDS.size()>20) {
|
||||
RECENT_RECORDS.remove(RECENT_RECORDS.size()-1);
|
||||
}
|
||||
SONG_DATA.put(convertTitle(newImg.getTitle()),RECORDS);
|
||||
DATA.put(newImg.getClass().getSimpleName(),SONG_DATA);
|
||||
//Threaded database update.
|
||||
for (String reader : sigPlace.SONG_DATABASE.keySet()) {
|
||||
for (String song : sigPlace.SONG_DATABASE.get(reader).keySet()) {
|
||||
@ -765,7 +764,8 @@ public class ArcadeReader {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
};
|
||||
t.start();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user