Sign In To Proceed 2z1z44

Don't have an ? 5p1p6t

osu! to create your own !
forum

AIBat v3.1 - v10 Compatibility 1z4n3p

posted
Total Posts
327
show more
Probably you should include a link to the beatmap/osz in question so he can work it out and see what's the problem so he can fix it
From what I in earlier testing, you can't check mapsets which have empty maps. So for example, if you have a normal diff which is completely empty without a note, you won't be able to open the mapset at all. I haven't tested the latest version yet though.
Topic Starter

Pereira006 wrote: 2g4d8

Hello

I have question here

I just feeling problem aibat or i wrong

Aibat is working my pc ok but sometime i click folder will not show nothing
I just test aibat and i click folder from my map but still not show and i remove diff insane, normal now Aibat is working and show all. So i put again normal and insane and remove hard now aibat is not working again

I just test another folder map is same problem

I can't understand very well what problem Aibat...
Sometime Aibat is not working somehere diff...
or I wrong? :(

i use Windows XP SP3

and sorry my bad english

Sakura Hana wrote: 706h5

Probably you should include a link to the beatmap/osz in question so he can work it out and see what's the problem so he can fix it
Yes, that would be very helpful, since it sounds like AIBat is only breaking on certain maps, not everything (Like it does for CnF)

I also quickly looked through your pending maps, but none of them were Normal/Hard/Insane, so I didn't try and all of them. "Call Girl" worked fine, though.

lolcubes wrote: 331p4a

From what I in earlier testing, you can't check mapsets which have empty maps. So for example, if you have a normal diff which is completely empty without a note, you won't be able to open the mapset at all. I haven't tested the latest version yet though.
That's true, and hasn't really been fixed yet, so it's possibly the cause. I should probably make AIBat throw out a notice about that if it ever happens.
Feature Request xD:
Check to make sure there are no timing sections at the same point in time, unless the timing section is there to change the slider speed. (If you are lazy, you can just check to see if there are timing sections with the same offset xD)

blissfulyoshi wrote: 23664h

Feature Request xD:
Check to make sure there are no timing sections at the same point in time, unless the timing section is there to change the slider speed. (If you are lazy, you can just check to see if there are timing sections with the same offset xD)
Im pretty much guessing Bliss mean inherited time and unherited time on the same spot. It is rarely oocurs, if it only 1 offset maybe it easier to check without this app, but what if it got like 20 redlines? A good features I say

Equivalent wrote: 3d4j18

blissfulyoshi wrote: 23664h

Feature Request xD:
Check to make sure there are no timing sections at the same point in time, unless the timing section is there to change the slider speed. (If you are lazy, you can just check to see if there are timing sections with the same offset xD)
Im pretty much guessing Bliss mean inherited time and unherited time on the same spot. It is rarely oocurs, if it only 1 offset maybe it easier to check without this app, but what if it got like 20 redlines? A good features I say
Well sometimes ppl put 2 uninherited sections at the same time (usually by accident....), so I want to avoid that from happening. Besides, of couse I want to prevent silly things like 2 inherited sections at the same time too.
Zhanger_old
just wondering-- could you release the source for beatmap url formatter and the osudistancechecker as well? Just curious P:

also --
This would allow you to read the page source for your beatmap url formatter therefore speeding up the process :3

package javaapplication4;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;


/**
*
* @author Alex
*/
public class WebRetrieve {
public static void main(String[] args) {
try {
URL url = new URL("http://osu-ppy-sh.tvgratuite.org/p/beatmaplist");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openConnection().getInputStream()));
String thisline = "";
while((thisline = br.readLine()) != null) {
System.out.println(thisline);
}
br.close();
} catch (Exception ex) {
System.err.println(ex);
}
}

}
a few suggestions:

I'm starting to include an AIBat post in my mods. If possible could you do this stuff:

Put the version number of AIBat in the first line (ie generated by AIBat 0.6b)
Also include an explanation at the top of what the program does. "This program generates warnings based on the current ranking guidelines and rules. Things like breaks and spinners can be usually ignored, but just know that it's generally a bad practice."
Breakless songs are all over the place and get ranked just fine, and someone who doesn't know what AIBat is may get the wrong message. Perhaps change the wording?
The spinners are okay (it's good to know how long they actually are), but perhaps an explanation of "if this spinner doesn't get 2000 on auto, it is too short"
If no problems found or not implemented yet, don't copy to clipboard.
only put two line breaks maximum next to each other. (so there's only 1 empty line)
Just put a mention saying: "Combo colors are inconsistent. Please double check your combo colors or run AIBat yourself to see."
Could do background color too, but I don't think anyone sees that anymore.

And as for coding this in java, I don't think there's a problem I rather like having separate programs from osu since you can't have 2 osu windows open.
This is becoming a quite helpful tool, it helps me save a lot of time, keep it up!
Topic Starter

blissfulyoshi wrote: 23664h

Equivalent wrote: 3d4j18

Im pretty much guessing Bliss mean inherited time and unherited time on the same spot. It is rarely oocurs, if it only 1 offset maybe it easier to check without this app, but what if it got like 20 redlines? A good features I say
Well sometimes ppl put 2 uninherited sections at the same time (usually by accident....), so I want to avoid that from happening. Besides, of couse I want to prevent silly things like 2 inherited sections at the same time too.
It'd probably be relatively easy to configure this as checking for any two sections that are within, say, 5 ms of each other. Good idea, I'll work on it!

Zhanger wrote: 211r36

just wondering-- could you release the source for beatmap url formatter and the osudistancechecker as well? Just curious P:

also --
This would allow you to read the page source for your beatmap url formatter therefore speeding up the process :3
Released, and thanks for this code! (I had no idea reading online stuff was that easy o.O) Don't know if I'll update beatmap url formatter yet, since I think AIBat has a lot more utility and potential as of right now. Also, if someone can find something really useful to do by reading the source code of osu! pages, I'd be glad to try and implement it.

ziin wrote: 134x2n

a few suggestions:

I'm starting to include an AIBat post in my mods. If possible could you do this stuff:

*Stuff*

And as for coding this in java, I don't think there's a problem I rather like having separate programs from osu since you can't have 2 osu windows open.
Thanks! These are good suggestions, and I really appreciate about the layout and how to improve usage- I find that I spend as much time on that as getting the program to work in the first place.

And about java- perhaps, one day, should the program be deemed helpful enough, coding it in C# might have it merit integration with osu! editor, kind of like AIMod currently. /endpipedream

Sakura Hana wrote: 706h5

This is becoming a quite helpful tool, it helps me save a lot of time, keep it up!
Glad it's being used! Development is slowing down since it's implemented most of the interesting-to-code features I wanted (e.g. searching), and putting in checks isn't as fun, not to mention working full-time hours for the first time ever :o . Hearing that it helps people keeps me working at it, though, so thank you for the encouragement!
Just wondering, why are the missing skinned files posted in some random order?
Example: (you should probably make all comboburst-# not come up in the search)
[Storyboard]
Unused Image Files:
comboburst-1.png
comboburst-5.png
comboburst-3.png
comboburst-0.png
comboburst-2.png
comboburst-4.png
It would be nice if you put them in alphabetical/numerical order.
If you feel like doing me a huge favor (and I'll mod as many maps as you want me to)

Make a program which exports hitsounds to bookmark format, one set for whistles, one for finishes, etc...

I requested it here but there's probably no reason it can't be done with ease in a separate utility.
Zhanger_old
next feature request - custom scripts :D
utilizing the mozilla rhino javascript engine already pre-packaged with JDK, it'd probably be easy to implement
Here's from one afternoon of experimenting --
package javaapplication4;

import javax.script.*;
import java.io.*;

/**
*
* @author Alex
*/
public class scripttest {

static ScriptEngineManager mgr = new ScriptEngineManager();
public static void main(String[] args) {
try {
scriptexec();
} catch (ScriptException ex) {
ex.printStackTrace();
}
}
static void scriptexec() throws ScriptException {
ScriptEngine se = mgr.getEngineByName("javascript");
se.eval("println('hello world');");
}
}


Actually the recommended size is 800x600 and the maximum rankable size is 1024x768
Wow the thread has been inactive.
A few more feature request: Warn if a note is before the initial offset
Warn if a there is an inherited timing section right after a red section without any notes inbetween them
Another nice addition would be if it warned about kiai start not being snapped to a long white tick.

Also some spelling correction "A sideboard has been detected" -> "A Storyboard has been detected"
Inconsistency in Tags:
- [Easy Style] : r300k TOMIX Android Gamevil Natteke
- [Hard Style] : r300k Android TOMIX Gamevil Natteke
- [Natteke Style] : r300k Android TOMIX Gamevil Natteke
- [Normal Style] : r300k TOMIX Android Gamevil Natteke

Maybe you can address out this issue above, I mean like as long they are the same thing, it doesnt need to be pointed out. It quite small issue actually.
Topic Starter

Sakura Hana wrote: 706h5

Also some spelling correction "A sideboard has been detected" -> "A Storyboard has been detected"
Lol. That's what I always think "SB" stands for. I guess I play too much Magic: the Gathering...

Thanks to everyone else for continuing to post suggestions and bugs here! After this internship wraps up this week (and I get back from a 3-day vacation immediately after), I'll have time to code up a lot of these features in AIBat. Also, with the next release will come an "Export hitsound" function that was requested by ziin. I guess I'll post a link here for that modification since I've already coded it-

AIBat v0.6.1
that made my life so much easier for all of my beatmaps. I should probably double check blythe with it...
Just here to say that i would like a Refresh feature if possible, so when for example rechecking the same map on AIBat i can just for example hit F5 and it rechecks it, another thing, put a warning when you're trying to exit, there's been plenty of times when i accidentally close AIBat after checking something like i close the AIMod window after checking it ._.

Edit: Also make it start at the top of the page, not the bottom ._.
Topic Starter
Finally updated after a month or so. I'm still looking for new directions to take this, so as always appreciated.

Also, if you have suggestions I'd love to hear them, and please rank them in order of importance so I know what people want the most :D .
Highlight slider ends and circles which have a y<16 or y>368.

When points are above or below this, they run a high risk of being underneath the HP bar or off the screen, especially on easy/hard mod.

This number changes based on circle size, but as the majority of mapping uses circle size 4 it doesn't matter too much.

Acutally the numbers should be customizable. I can try to find out the exact limits if you want.

Examples:
Too low, off screen on easy mod
Fine with easy mod off
I love how AIBat is starting to gain official recognition now like here and here keep up the good work Akrolsmir!!!
Nice app!
One minor thing I noticed though, when checking my combo colours against a guest difficulty it listed them like this:
SPOILER
(AIBat) - (Osu! Editor)
Combo 1 - Combo 2
Combo 2 - Combo 3
Combo 3 - Combo 4
Combo 4 - Combo 1
Topic Starter

Lucy-Kaede wrote: 5b5w

Nice app!
One minor thing I noticed though, when checking my combo colours against a guest difficulty it listed them like this:
SPOILER
(AIBat) - (Osu! Editor)
Combo 1 - Combo 2
Combo 2 - Combo 3
Combo 3 - Combo 4
Combo 4 - Combo 1
Thanks for the !
My hunch is that this is caused by the configuration of the .osu file. If you open that up, you'll see AIBat's listing is identical to how it is put in the actual .osu file, which can be different from what osu! Editor uses. As long as the actual colors are the same, the order shouldn't matter in of getting your map ranked, though.
Since you managed to get hitsounds out of a map easily, would it be that difficult to put them back in? As in copy hitsounds in [insane] to [hard].
Topic Starter

ziin wrote: 134x2n

Since you managed to get hitsounds out of a map easily, would it be that difficult to put them back in? As in copy hitsounds in [insane] to [hard].
Reading files is easier than writing them, and both are easier than editing them. That said, I do like a challenge, so I'll consider it. Though, regarding its functionality: Mapping the hitsounds of circles, the ends/repeats of sliders, and the ends of spinners to a counterpart at a same time in a different diff is intuitive. If the hitobject has no counterpart I guess I'll just leave out the sound. What do I do with hitsounds for the entire slider, though?
------------------

On a non-AIBat related note, I've been thinking about a "Modding Companion", of sorts. The goal is to streamline the modding process. My idea was that you'd run the program for a beatmap you wanted to mod, and then proceed to make changes on that beatmap in osu! Editor. The program compares your modified .osu file to the original and displays any changes in a forum-friendly manner, giving a readout like:


[Hard]

01:21:456 - Add a circle
01:23:456 (7) - Add a whistle
01:24:456 (9) - Remove the circle
01:32:456 to 01:34:456 - Add a slider

And so on, only basic edits that are interpretable. The display is done in an editable window so you can also put in additional notes, other mods etc. When you're done, the program copies everything onto your clipboard so you can paste it in a forum, and also zips the edited osu files along with a second program that displays the entirety of the mod post as well as hyperlink-to-clipboard (like AIBat) for faster access to the notes. The idea here is that they can import your edited files into the beatmap directly in the Editor in parallel to the originals, and copy+paste the patterns they approve onto their file.

Is this something worth attempting? Would people use it?

akrolsmir wrote: o6u2z

Is this something worth attempting? Would people use it?
Yes, and yes. Do it.
Actually peppy already made this program:

http://pe.ppy.sh/2009/06/265/


As far as hitsounds go:
when there is a hitsound on a slider, if threre is the 0|0|0|0|2 at the end, that means there is no hitsound except for a whistle on the last part of the repeat. The slider track may still have a hitsound where it is for regular circles, but the first four notes don't have any hitsound.

If there is a slider which starts on the same beat, you can copy the sliderslide hitsound, but if not, don't copy the hitsound and instead rely on the numbers at the end. If the slider has no numbers at the end and has a sliderslide hitsound, put that hitsound on each beat.

It's pretty confusing but I think you did a really good job with reading them.
i've just tried this and i say thanks for first (cause AudioLeadIn inconsistency)..
(AIBat v0.7b)

but i've some thing that makes me feels strange..
1. Timing point offset should rounded?
AIBat
Timing Sections Inconsistency in uninherited (red) timing sections:
- [Easy] Red timing sections at: 00:01:602, BPM of 182.000
- [Final-Dream] Red timing sections at: 00:01:601, BPM of 182.371
Notepad
Final Dream: 1601.58650029137,329.67032967033,...
Easy: 1602,329.67032967033,...
same second per beat (329.6ms)[or beat per minute 182] and 1601.58 in osu! detected as 1602ms..

2. Storyboard File Case Sensitive?
Unused Image Files
SB\From_TouhouWiki_Untranslated\marisa_4.png
SB\marisakirisame_sweat_dialog4.png (this one is unused, i'll remove it later, thanks.)
SB\From_TouhouWiki_Untranslated\marisa_1.png
SB\From_TouhouWiki_Untranslated\reimu_5.png
comboburst-1.png
SB\From_TouhouWiki_Untranslated\reimu_3.png
SB\From_TouhouWiki_Untranslated\marisa_2.png
SB\From_TouhouWiki_Untranslated\marisa_6.png
comboburst-0.png
SB\From_TouhouWiki_Untranslated\reimu_4.png
SB\From_TouhouWiki_Untranslated\reimu_2.png
comboburst-2.png
comboburst-3.png
SB\From_TouhouWiki_Untranslated\marisa_3.png
SB\From_TouhouWiki_Untranslated\marisa_5.png
SB\From_TouhouWiki_Untranslated\reimu_1.png
Missing SB Elements
SB\From_TouhouWiki_UnTranslated\reimu_3.png
SB\From_TouhouWiki_UnTranslated\marisa_4.png
SB\From_TouhouWiki_UnTranslated\marisa_6.png
SB\From_TouhouWiki_UnTranslated\marisa_2.png
SB\From_TouhouWiki_UnTranslated\marisa_5.png
SB\From_TouhouWiki_UnTranslated\reimu_1.png
SB\From_TouhouWiki_UnTranslated\reimu_5.png
SB\From_TouhouWiki_UnTranslated\reimu_2.png
SB\From_TouhouWiki_UnTranslated\reimu_4.png
SB\From_TouhouWiki_UnTranslated\marisa_1.png
SB\From_TouhouWiki_UnTranslated\marisa_3.png
- should i replace the .osb file with case change?
- the skin file (comboburst-X.png) is used.

i'm sorry if i didn't read the previous page.
Topic Starter
@Ekaru- Good to know there's a demand, thanks.

@ziin- Peppy's program doesn't seem tailored to modding, though. I'll think about what else I can do to make mine more distinguished from that, though.

And about hitsounds- I pretty much understand how hitsounds are assigned, I was just wondering about the best way to translate them between difficulties. What you suggested makes sense, I think. Also, should I clear existing hitsounds from the map first? Because adding the new hitsounds atop old ones seems like it would sound cacophonous.

@Rei_Fan49

Actually, as far as I can tell, osu! truncates those values instead of rounding them, so I choose to do the same in my program. Either way, I think that for your beatmap it'd be wisest just to set the offsets to 1602 exactly. Moreover, there's a difference in the BPM that should probably be addressed- set both values to 182.000?

About storyboarding- no, you probably don't need to fix anything if the osu! (or windows or whatever) file system ignores case when it comes to file names. Rather, I'll probably want to fix that in AIBat. Thanks for the report!

And the comboburst thing is a known issue based on the fact that I'm still trying to figure out what to do about file-1.png, file-2.png and so forth where AIBat just expects file.png.
lol they are 182..
and also about the offset round or floor or truncate
osu! did both of them..
Wow, I haven't replied in this thread for a while. Lets see what I can find now xD

Adding [Colours] after [Colours] is already staated once (I know you didn't fix this, but I wanted to recheck this): If my code is like
[Colours][Colours]
then I get
 - [Easy] :
olours]
, but if my code is like
[Colours]
[Colours]
then I get
 - [Easy] :
[Colours]

just found that interesting. Not in the mood to check the source code to find out why, but there is no need for you to fix it.

Timing sections check is not implemented yet (see viewtopic.php?p=922062#p922062 if you forgot) (not on your list of todo, so just reminding you)

Another stupid bugs that I doubt will come up:
If the timing sections are like this:
56713,-100,4,1,1,75,0,1

83947,-100,4,1,1,75,0,0
then the it will be read as
Kiai #1: Starts on 00:56:713, until the end

Feature Request:
Warn if 2 notes are at the same point in time (Forgot if this was mentioned before)
Check for unused custom hitsounds (including bogus names) (was this supposed to be already implemented in 0.7? because it doesn't seem to work for me.)
Warn about sbed hitsounds (I know some s dislike them, so I a notficiation about them would be nice)

All the new features I tried seemed to work, so great job with 0.7. I wish you the best of luck as you move onward (and a modding companion would be nice)

Edit: I thought about the comboburst thing, and I think the code should probably go something like this.(going to be typing in visual basic style since I have been using that a lot lately)
If it ends in ".png" then
If the first few characters are "comboburst-" then
read the characters after the "comburst-" until you find '.'
if characters inbetween those 2 points are not numbers then
trigger error
end if 'else ignore
end if
end if

so confusing without tabs, but I think you get the general idea
AIBat doesn't work D:
make sure it's not in a folder with a ! in it.
But it's not the point.
It works with all folders, but not with folders with osu! beatmaps. Even if you are outside osu! songs folder.
In these situations it's best to describe the problem fully.

You said AIBat doesn't work, now you're saying it works with all folders?

What happens when you open a folder?
is it like this?
(wrong file lol, yeah because i tried it rushly, but it may applies to all JAR..)
if so, then evacuate move it from UNICODE based name folder... (CMIIW, win7 too?) to non UNICODE based folder, (like base drive "C:\" etc.)

ziin wrote: 134x2n

In these situations it's best to describe the problem fully.

You said AIBat doesn't work, now you're saying it works with all folders?

What happens when you open a folder?
When i open folder with map, nothing happens.

When i open any folder:
try moving everything to the root of the drive.
root?
c:\ or d:\ or e:\
still same
Topic Starter
It's good that at least AIBat opens up, unlike for CnF... The message when you try to open up any non-beatmap folder is expected, and it sounds like an exception is thrown on all folders with .osu files in them, which would prevent the program from opening anything as you described.

Try unzipping this test folder and putting it on the root drive, and trying to open that with AIBat.
Still nope
It runs only from root folder.
After start, it opens songs' folders but doesn't show any files inside of 'em. They are kind of.. empty, though I know it's wrong. Well, it shows subfolders only.

Windows 7 x86, Java v6 upd27. Tried AIBat v0.7b and 0.6.1b
you're supposed to open a folder, not a file, so the folders will be empty. Just open the folder.
You're supposed to find the path to where the .osu files are supposed to be (a.k.a the song folder) after that just hit the enter button (or press the enter key)
AIBat is really awesome 8-)

Sakura Hana wrote: 706h5

You're supposed to find the path to where the .osu files are supposed to be (a.k.a the song folder) after that just hit the enter button (or press the enter key)

ziin wrote: 134x2n

you're supposed to open a folder, not a file, so the folders will be empty. Just open the folder.
Hm. I tried it, but nothing happened. Now I try to open some songs' folders, and it works.
Some folders don't open:
Topic Starter
Glad to find it's working, at least partway.

About those beatmaps that don't open, though- I can't seem to replicate the error for the first two.


For the last one, though- that's a problem with the age of the beatmap. It's file format is v5, and contains formatting that breaks AIBat. I never implemented backwards compatibility since maps that old either are ranked or graveyarded, so you shouldn't need to use it for those anyways.
When popping http://osu-ppy-sh.tvgratuite.org/s/31343 into AIBat, I got a whole bunch of snapping errors as the output, but I didn't actually find snapping errors in the map. Will try to out reason later when I am not as sleepy.
Think you can add 0.5 tick rate warning?

blissfulyoshi wrote: 23664h

When popping http://osu-ppy-sh.tvgratuite.org/s/31343 into AIBat, I got a whole bunch of snapping errors as the output, but I didn't actually find snapping errors in the map. Will try to out reason later when I am not as sleepy.
It's because the offset has a decimal on it:

571.114342485549,342.857142857143,4,1,0,60,1,0

571.114342485549 should be just 571, and the errors go away.
Thanks ziin, changing the offset worked, now I just need to know what caused it (I think I can guess though)

blissfulyoshi wrote: 23664h

Thanks ziin, changing the offset worked, now I just need to know what caused it (I think I can guess though)
well as I said, it's the decimal on the offset. AIBat is trying to say that 2135.114342485549 is the right snap, but osu can't do that.

This is both a problem with the map (offset shouldn't be a decimal) and with AIBat (it shouldn't display these errors, and instead say the offset has a decimal)

Also, the map in question got fixed, but AIBat doesn't recognize 2 different BPMs as being different BPMs:

285.7142857143 is identical to 285.714286, but if you order the maps according to BPM, the difficulties will be separated. Note that the first and last notes should be the same unless it's a REALLY long song.
May I have a tiny request, that is add a 0% volume timing section check function ;)
Also forgot if i already asked for this but, it would be nice if you added a check for spinners and post-spinner notes to check and warn if they dont have a new combo marker
Topic Starter
Currently I've got a lot of work in the form of college applications, so apologies if updates are delayed.

Breeze wrote: 2w5d1h

May I have a tiny request, that is add a 0% volume timing section check function ;)
This shouldn't come up very often now that the editor imposes a limit, but I'll try to put in a check for it.

Sakura Hana wrote: 706h5

Also forgot if i already asked for this but, it would be nice if you added a check for spinners and post-spinner notes to check and warn if they dont have a new combo marker
Should be doable, and it seems like maps get unranked for this kind of stuff so it's probably important.

Also, I've improved the search function so that it's instantaneous- like google search or osu's own music search function.
A bug report maybe
When I check this map via AIBat
it said there are many unsnap notes and slider start, end in this map, but it seems all these hit objecks are snapped well
Topic Starter
Thanks, Breeze! That was an oversight on my part, it's been fixed for the next release.

boring technical details
The osu file format allows for offsets that are decimals- for this specific map, 7995.87234042553. I don't know why this is... but anyways, I wrote in an exception that would truncate decimals. The exception also accidentally truncated the BPM as well, which made the snap checker mess up.

akrolsmir wrote: o6u2z

Thanks, Breeze! That was an oversight on my part, it's been fixed for the next release.
And when is that coming out?

On another note:

Background's max size is 1024x768, recommended 800x600, also should be 4:3 to avoid thumbnail issues.
It isn't checking mp3 bitrate anymore?
Add reversearrow.png to hitcircle set as in the FAQ http://osu-ppy-sh.tvgratuite.org/p/faq > Map design issues > Missing/Unnecessary files in the package

You should probably check this as well for any extra stuff that might be worth including.
should detect if it's lower than 16:10.
bitrate is only reported if out of bounds.

can you ignore case when checking filenames? Also ignore any -0 or -1 at the end of each filename so it doesn't report sliderfollowcircle-12 as an unused extra file.
Topic Starter
Again, things will unfortunately be slower while I'm working college apps, which go on until the end of the year. I should be able to push through minor updates or bugfixes, but nothing that requires too much thinking.

For the backgrounds- what's the approximate acceptable range? Between 1.6x to 1.7x?

@Sakura- I'll put reversearrow in, thanks for the catch. I presumed it's supposed to be 128x128. And as ziin said, I elected to omit the bitrate whenever it is within 128 to 192 kbps- should I report it regardless?

@ziin- Ignoring case should be simple, and I'm still working on a good approach for the "-#" issue.
1.33-1.6

If you get too widescreen, you'll be out of the grid. Anything lower than 1.33 will be cropped.

Here's 16:10. Notice how the bottom is slightly out of the grid. Now if the beatmap is made well, there should be little outside the grid, so everything will be on the background. If it's not made well, they probably need a 4:3 background.

Of course videos have no problem being 16:9, but that's because of the fact that it's so hard to change a video.
I just trying AIBat and it doesn't working. First i open the jar file, it's working and open a new window. Then i choose File>Open Beatmap Folder and select one of my beatmap folder in osu song directory. Then, AIBat doesn't show anything.
I have put AIBat into osu folder. And i'm using windows 7 64bit. Is AIBat not work on Windows 64bit?
I hope you can help me with these >.<
Topic Starter
I use 64-bit Win7 myself, so that shouldn't be the issue. Hm... I'm guessing that it's a beatmap-specific problem. Can you tell me which maps you've tried so far that don't work?

For the meantime, try opening other maps. Or try unzipping this test folder and putting it on your desktop, and opening that in AIBat.
All of them, beatmap folder that has not been ranked, or ranked one. Even your test folder (I have place it on desktop btw). It still didn't show anything, like nothing happen.. >.<
Topic Starter
How about if AIBat isn't placed within the osu! folder? I recall an issue when AIBat was placed in any folder ending in '!'.

Also, what version of Java do you have?
my osu folder is 'osu' , see for yourself
My java is latest, i just update it today, and it still doesn't work.
Oh yes, i have try to open some folder, almost 90% can't open, and 10% is open. Example when i try to open : E:\osu\Songs\17447 Girls Dead Monster - Ichiban no Takaramono (Yui Ver), AI bat can detect it. But like i said, almost other than that, AI bat can't detect it.
What's the problem?
Topic Starter
Hm... poking around, I found out that AIBat stops working if settings.txt is not in the same folder that it is in. But I doubt that's the problem for your case.

I've still got a few more guesses...Can you tell me what you see in the text box in the Startup tab, right after you open up AIBat?

(for example, for me it's
)

Is this the folder that "AIBat v0.7.jar" is located in?

---

Also, does going to Help>Show Changelog bring up the changelog?
Setting.txt is in the same folder.

Text box in startup :

yes, the address in the startup is where AIbat.jar is located.

Yes, also help > changelog bring up the changelog.
Topic Starter
Let's see... I've added in a function that will hopefully at least catch the problem. If all goes well, when you try to open a file and it doesn't work, you'll get an error report that might look something like this:

You can get AIBat v0.7.1b here. Just put it in the same folder that v0.7 is in.
I try to open 5 map with AIBat. Here's the result :

1st try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\34645 ave;new feat Sakura Saori - Mugendai LOVERS (Short Ver)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.getEffectiveBeatSpace(Timing.java:279)
at OsuFileParser.processHitObjects(OsuFileParser.java:113)
at OsuFileParser.<init>(OsuFileParser.java:75)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:228)
at AIBatMenu$FileAction.actionPerformed(AIBatMenu.java:178)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.moeleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

2nd try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\SEAMO - Mother
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.getEffectiveBeatSpace(Timing.java:279)
at OsuFileParser.processHitObjects(OsuFileParser.java:113)
at OsuFileParser.<init>(OsuFileParser.java:75)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:228)
at AIBatMenu$FileAction.actionPerformed(AIBatMenu.java:178)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.moeleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

3rd try :
SPOILER
Success :

4th try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\39520 Marie - Rocket Love Panic! (Short Ver)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.getEffectiveBeatSpace(Timing.java:279)
at OsuFileParser.processHitObjects(OsuFileParser.java:113)
at OsuFileParser.<init>(OsuFileParser.java:75)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:228)
at AIBatMenu$FileAction.actionPerformed(AIBatMenu.java:178)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.moeleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

5th try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\38573 RYTHEM - Houki Gumo (TV size)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.getEffectiveBeatSpace(Timing.java:279)
at OsuFileParser.processHitObjects(OsuFileParser.java:113)
at OsuFileParser.<init>(OsuFileParser.java:75)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:228)
at AIBatMenu$FileAction.actionPerformed(AIBatMenu.java:178)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMoeleased(Unknown Source)
at javax.swing.JMenuItem.fireMenuDragMoeleased(Unknown Source)
at javax.swing.JMenuItem.processMenuDragMouseEvent(Unknown Source)
at javax.swing.JMenuItem.processMouseEvent(Unknown Source)
at javax.swing.MenuSelectionManager.processMouseEvent(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.moeleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

1 success, 4 fail = 90% fail, 10% success >.<
Oh yes, i feel anoyed when i open beatmap folder, the dialog keep revert to default state. I like detailed view, but the AI Bat open beatmap folder dialog always revert my change to normal state. Could you fix this?
oh hi akrolsmir, may I ask for a function added?
How about add a function that display the difficulty set of all difficulties (HP, note size, AR, OD, SV)
So that I think it's useful to compare the difficulties spread intuitively
Topic Starter
Looking at those maps and those errors, I'm thinking it might have to do with the presence of a decimal in the BPMish number in the file. (Those maps all work fine for me btw.) To test that, try opening this updated test file in 0.7.1b: http://puu.sh/aeoW

After that, try opening various files in 0.7.2b. Chances are my edits haven't fixed it, but the bug report system should have been slightly improved. Hopefully.

Miya wrote: 4g494n

Oh yes, i feel anoyed when i open beatmap folder, the dialog keep revert to default state. I like detailed view, but the AI Bat open beatmap folder dialog always revert my change to normal state. Could you fix this?
I'll look into it, but in any case, I'd recommend using the search function instead (shortcut is ctrl+f) to quickly locate and open beatmaps without having to navigate through the folder dialog.

Thanks for helping me locate the bugs!

Breeze wrote: 2w5d1h

oh hi akrolsmir, may I ask for a function added?
How about add a function that display the difficulty set of all difficulties (HP, note size, AR, OD, SV)
So that I think it's useful to compare the difficulties spread intuitively
That's a great suggestion! Do you have any ideas on how it ought to look?

akrolsmir wrote: o6u2z

That's a great suggestion! Do you have any ideas on how it ought to look?
Maybe like a from
display all difficulty set like

          HP drain rate         circle size          OA            OD               SV
Easy x x x x x
Normal x x x x x
Hard x x x x x
Insan x x x x x

^
This, and maybe slidertick rate could added into that, too

akrolsmir wrote: o6u2z

Looking at those maps and those errors, I'm thinking it might have to do with the presence of a decimal in the BPMish number in the file. (Those maps all work fine for me btw.) To test that, try opening this updated test file in 0.7.1b: http://puu.sh/aeoW
Those test folder is success when i try to open that in AIbat. Oh yes. you're welcome. I'm happy to help :3

Ok, i've try 5 map again with AIbat v0.7.2. Here's the result :

1st try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\33678 Kuroki Meisa - Wired Life (TV Size)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.isSnapped(Timing.java:79)
at Timing.isAlmostSnapped(Timing.java:102)
at OsuFileChecker.checkHitObj(OsuFileChecker.java:57)
at OsuFileChecker.<init>(OsuFileChecker.java:40)
at OsuFileParser.<init>(OsuFileParser.java:78)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at AIBatMenu$FileAction.actionPerformed(AIBatMenu.java:179)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.moeleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 202,468.676769254804,4,2,0,60,1,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

2nd try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\23416 DJ YOSHITAKA - ALBIDA
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.isSnapped(Timing.java:79)
at Timing.isAlmostSnapped(Timing.java:102)
at OsuFileChecker.checkHitObj(OsuFileChecker.java:57)
at OsuFileChecker.<init>(OsuFileChecker.java:40)
at OsuFileParser.<init>(OsuFileParser.java:78)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at AIBatMenu$FileAction.actionPerformed(AIBatMenu.java:179)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMoeleased(Unknown Source)
at javax.swing.JMenuItem.fireMenuDragMoeleased(Unknown Source)
at javax.swing.JMenuItem.processMenuDragMouseEvent(Unknown Source)
at javax.swing.JMenuItem.processMouseEvent(Unknown Source)
at javax.swing.MenuSelectionManager.processMouseEvent(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.moeleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 86249,-66.6666666666667,4,2,1,58,0,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 51222,-76.9230769230769,4,2,1,100,0,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 50574,-83.3333333333333,4,2,1,100,0,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 49925,-90.9090909090909,4,2,1,100,0,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 1277,324.324324324324,4,2,1,100,1,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

3rd try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\40246 Mami Kawada - All In Good Time
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.isSnapped(Timing.java:79)
at Timing.isAlmostSnapped(Timing.java:102)
at OsuFileChecker.checkHitObj(OsuFileChecker.java:57)
at OsuFileChecker.<init>(OsuFileChecker.java:40)
at OsuFileParser.<init>(OsuFileParser.java:78)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 270,384.615384615385,4,2,0,20,1,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

4th try
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\36979 Rainie Yang - Happy Omen
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.isSnapped(Timing.java:79)
at Timing.isAlmostSnapped(Timing.java:102)
at OsuFileChecker.checkHitObj(OsuFileChecker.java:57)
at OsuFileChecker.<init>(OsuFileChecker.java:40)
at OsuFileParser.<init>(OsuFileParser.java:78)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 2646,517.242215135322,4,2,1,35,1,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

5th try :
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\26966 Touyama Nao - Happy Crescent
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at Timing.getPreviousRed(Timing.java:242)
at Timing.isSnapped(Timing.java:79)
at Timing.isAlmostSnapped(Timing.java:102)
at OsuFileChecker.checkHitObj(OsuFileChecker.java:57)
at OsuFileChecker.<init>(OsuFileChecker.java:40)
at OsuFileParser.<init>(OsuFileParser.java:78)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Please report this error along with the map that caused it:

Failed TimingPoint: 530,370.37037037037,4,1,0,60,1,0
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at obj.TimingPoint.<init>(TimingPoint.java:40)
at Timing.<init>(Timing.java:34)
at OsuFileParser.<init>(OsuFileParser.java:74)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:229)
at Searcher2$listAction.keyPressed(Searcher2.java:176)
at java.awt.AWTEventMulticaster.keyPressed(Unknown Source)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

None of them success my AIbat trial ;_;
Topic Starter
Ok, it's almost certainly based on a broken interpretation of the decimal. Not sure why, but (keep your fingers crossed) I think I've fixed it here:

v0.7.3
Allright, i will test again new version of AIbat again. Here's my result :

1st try : Success

2nd try :Success

3rd try : Success

4th try : Success

5th try : Failed ;_; >> This is XL Project - Dream, not sure why the folder name became japanese.
SPOILER
Please report this error along with the map that caused it:

E:\osu\Songs\01 ハルモニア
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at OsuFileParser.processHitObjects(OsuFileParser.java:125)
at OsuFileParser.<init>(OsuFileParser.java:75)
at Consolidator.<init>(Consolidator.java:48)
at AIBatWindow.switchTo(AIBatWindow.java:214)
at Searcher2.goToEntered(Searcher2.java:137)
at Searcher2.access$0(Searcher2.java:132)
at Searcher2$searchAction.keyReleased(Searcher2.java:197)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Wow, it seems most of the bug has been fixed. Great job :D
Topic Starter
Glad to see it mostly works!

For that last file, is that ed somewhere I can take a look at? Or is that a map of your own?
This Dream..., or another one? There shouldn't be this particular problem with a ranked beatmap.
At least, I think it's the error that occurs when you try to open a .osu file without any hitobjects in it.
Maybe. :D But most of the map is work now. Like before 90% work 10% no. Put the AIbat 0.7.3 link at the first page please. :) I will post error report again if i found some error in Aibat. :D

Nice app, btw i really love this. It really help me when i mod a map :D
Topic Starter
After much wailing and gnashing of teeth, I've managed to deal with the comboburst-#.png and similar animations. With that, the other bugfixes, and the new search, I'm going to feel comfortable announcing AIBat as past the beta stage. (By no means does this imply that I'm going to stop ing it, btw. Just that it's reached a certain level of competence in my eyes.)

Thanks for everyone who has helped out thus far, pointing out problems or making requests!
Especially ziin, lolcubes, Sakura Hana, BlissfulYoshi, Ayeen, Zhanger, Breeze, and Miya- you guys are the best.
skin stuffs:
jpg files are recognized now as skins, so pause-overlay.jpg will work (AIBat reports it as unused image)
when checking for skins with frames (glad you fixed that) check for a non-numbered version of it, as that image is unused.

akrolsmir wrote: o6u2z

and the new search
:3 Was looking forward to this!
Good work, ima have to go try it out ^^
In fact, I don't know how to use search until now :roll:

Breeze wrote: 2w5d1h

In fact, I don't know how to use search until now :roll:
Using search for searching a map?

It's quite easy , right? o.o
I always open the song's folder in editor and copy path into AIBat :S
it's easy Breeze >.<

Open the search engine. In AIbat v1.0 the search feature is already open automatically (Alternatively, you can press ctrl+f to open it).
Then type some information (like tittle name or artist) into search field.
Choose song that you want to mod. Press enter to select it (Really you must press enter to select it, you can't choose it by double clicking >.<)

Done, voila, AI bat will mention some problem in the map. :D
:O I'm already get used to copy path into AIBat now lol
that's what I used to do too, but now you can just type the name and press enter.

I would have suggested having an "open box" always available at the bottom or something, but with this you just press ctrl F.

That being said, how about a toolbar?
a toolbar wouldn't bad. Agree with ziin, a toolbar can increase productivity of AIbat. :)
Yes, I've tired searching, it's convenient
Topic Starter
d'aww... creating new menus is somewhere within my top 3 most disliked tasks. Guess I'll play around with JToolBar when I get time after finals/college apps, though.
Don't push yourself akrolsmir. It's not urgent, and we can wait for it. :)

akrolsmir wrote: o6u2z

d'aww... creating new menus is somewhere within my top 3 most disliked tasks. Guess I'll play around with JToolBar when I get time after finals/college apps, though.
I was wondering why you hadn't put in a toolbar.
So I started playing around with this. It's real nice-like. I noticed that it isn't catching missing preview points though. If you add this, try to have a check for inconsistent preview times too (sometimes they're moved around due to offset changes from initial difficulty, etc.)

Good work on this. :D

Garven wrote: 3w455y

So I started playing around with this. It's real nice-like. I noticed that it isn't catching missing preview points though. If you add this, try to have a check for inconsistent preview times too (sometimes they're moved around due to offset changes from initial difficulty, etc.)

Good work on this. :D
Those are easy to find, it's just when preview time == -1 @akrolsmir
So are unsnapped notes. May as well have all the tools in the same package though.
Topic Starter
Inconsistent preview times should be checked for already: (under General and Metadata in the "All .osu Files" tab)



and I'll make sure to check for missing previews in the next release, thanks for the heads up!
show more
Please sign in to reply.

New reply 3p1g1j