forum

AIBat v3.1 - v10 Compatibility

posted
Total Posts
327
show more
ziin
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
Sakura
I love how AIBat is starting to gain official recognition now like here and here keep up the good work Akrolsmir!!!
Lucy-Kaede
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
akrolsmir

Lucy-Kaede wrote:

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 feedback!
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 terms of getting your map ranked, though.
ziin
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
akrolsmir

ziin wrote:

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?
Ekaru

akrolsmir wrote:

Is this something worth attempting? Would people use it?
Yes, and yes. Do it.
ziin
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.
Rei Hakurei
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
akrolsmir
@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.
Rei Hakurei
lol they are 182..
and also about the offset round or floor or truncate
osu! did both of them..
blissfulyoshi
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 users 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
Zlew
AIBat doesn't work D:
ziin
make sure it's not in a folder with a ! in it.
Zlew
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.
ziin
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?
Rei Hakurei
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.)
Zlew

ziin wrote:

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:
ziin
try moving everything to the root of the drive.
Zlew
root?
ziin
c:\ or d:\ or e:\
Zlew
still same
Topic Starter
akrolsmir
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.
Zlew
Still nope
TicClick
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
ziin
you're supposed to open a folder, not a file, so the folders will be empty. Just open the folder.
Sakura
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)
[Au]-[Revoir]
AIBat is really awesome 8-)
TicClick

Sakura Hana wrote:

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:

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
akrolsmir
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.
blissfulyoshi
When popping http://osu.ppy.sh/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.
Raging Bull
Think you can add 0.5 tick rate warning?
ziin

blissfulyoshi wrote:

When popping http://osu.ppy.sh/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.
blissfulyoshi
Thanks ziin, changing the offset worked, now I just need to know what caused it (I think I can guess though)
ziin

blissfulyoshi wrote:

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.
Breeze
May I have a tiny request, that is add a 0% volume timing section check function ;)
Sakura
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
akrolsmir
Currently I've got a lot of work in the form of college applications, so apologies if updates are delayed.

Breeze wrote:

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:

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.
Breeze
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
akrolsmir
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.
Sakura

akrolsmir wrote:

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/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.
ziin
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
akrolsmir
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.
ziin
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.
Miya
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
akrolsmir
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.
Miya
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
akrolsmir
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?
Miya
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
akrolsmir
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?
Miya
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
akrolsmir
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.
Miya
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.mouseReleased(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.mouseReleased(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.mouseReleased(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.menuDragMouseReleased(Unknown Source)
at javax.swing.JMenuItem.fireMenuDragMouseReleased(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.mouseReleased(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?
Breeze
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
akrolsmir
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:

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:

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?
Breeze

akrolsmir wrote:

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
Miya

akrolsmir wrote:

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.mouseReleased(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.menuDragMouseReleased(Unknown Source)
at javax.swing.JMenuItem.fireMenuDragMouseReleased(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.mouseReleased(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
akrolsmir
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
Miya
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
akrolsmir
Glad to see it mostly works!

For that last file, is that uploaded 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.
Miya
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
akrolsmir
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 supporting 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.
ziin
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.
Lucy-Kaede

akrolsmir wrote:

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

Breeze wrote:

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
Breeze
I always open the song's folder in editor and copy path into AIBat :S
Miya
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
Breeze
:O I'm already get used to copy path into AIBat now lol
ziin
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?
Miya
a toolbar wouldn't bad. Agree with ziin, a toolbar can increase productivity of AIbat. :)
Breeze
Yes, I've tired searching, it's convenient
Topic Starter
akrolsmir
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.
Miya
Don't push yourself akrolsmir. It's not urgent, and we can wait for it. :)
ziin

akrolsmir wrote:

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.
Garven
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
Sakura

Garven wrote:

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
Garven
So are unsnapped notes. May as well have all the tools in the same package though.
Topic Starter
akrolsmir
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!
Breeze
D'aww, v1.0 is coming, DLing...
blissfulyoshi
Is there a way to not include a mod for certain parts of the mod like not including taiko in combo color mods since taiko is usually only done with 2 colors, so it tends to always trigger the combo color text.

FYI: AIBat works okay with the current implementation of osz2 (you need to do a few things before using the program, and you can't check the skin, sb, video, bg, and mp3) At least you can check the maps themselves.

Edit: Currently, pause-overlay.jpg is seen as an unused image, could you make that accepted?
Breeze
Is it possible to make a function that check which part was changed compare to latest version?
Since when recheck map, we had to recheck all map once just in case, if this is available, it could save much time on recheck then
ziin
I think that's quite difficult to do outside of osu. Ideally the mapper comments on what they did, but a little bit to aid you:
http://pe.ppy.sh/2009/06/265/
will find file differences, so make sure you back up the previous copy before you update.

In any case, it shouldn't speed up a recheck. It should improve the accuracy of the recheck. You should still be going through the entire song again.
Gens
The "missing/unnecessary files in the package" entry in the FAQ was updated, so you might want to update it here too. The only changes were that the Spinner Hints set was merged with the Spinner set, and fruit-ryuuta.png was deleted from the Fruits set.

Nice tool by the way, it sure helps a lot.
Topic Starter
akrolsmir

blissfulyoshi wrote:

Is there a way to not include a mod for certain parts of the mod like not including taiko in combo color mods since taiko is usually only done with 2 colors, so it tends to always trigger the combo color text.

FYI: AIBat works okay with the current implementation of osz2 (you need to do a few things before using the program, and you can't check the skin, sb, video, bg, and mp3) At least you can check the maps themselves.

Edit: Currently, pause-overlay.jpg is seen as an unused image, could you make that accepted?
Eh... selectively excluding certain parts will probably be a lot of trouble. (I see why peppy hates toggles now xD)

I probably should start testing osz2 at some point. Are modders blocked from being able to see the skin, sb, etc. in the folder? I would have thought that it was locked into osz2 only after ranking.

Oh, and I'm guessing some other files are acceptable as .jpg rather than .png. Which would they be?

Breeze wrote:

Is it possible to make a function that check which part was changed compare to latest version?
Since when recheck map, we had to recheck all map once just in case, if this is available, it could save much time on recheck then
I was thinking about something similar to track changes a modder made- modding companion or something. I'm still working on it, time will tell if it's feasible.

Gens wrote:

The "missing/unnecessary files in the package" entry in the FAQ was updated, so you might want to update it here too. The only changes were that the Spinner Hints set was merged with the Spinner set, and fruit-ryuuta.png was deleted from the Fruits set.

Nice tool by the way, it sure helps a lot.
Thanks! It'll be updated in the next release.
ziin
So I really use the export to hitsounds a lot for various reasons, including storyboarding, but I'm limited to just 3 markers. Can you add in "new combo" to the export hitsounds function? Some taikoers I know use nc as well.

Also, if possible, can there be a way to double check that all spinners are new combos, and the note directly after a spinner is a new combo? Otherwise, it may just be enough to export new combos to bookmarks.
Miya
Ah, i really want distance checker to be part of AIbat. For me, checking spacing inconsistensies is taking a lot of time. I hope, distance checker will be perfected in near time. :)
Sakura

Miya wrote:

Ah, i really want distance checker to be part of AIbat. For me, checking spacing inconsistensies is taking a lot of time. I hope, distance checker will be perfected in near time. :)
AIMod does that.

akrolsmir wrote:

I probably should start testing osz2 at some point. Are modders blocked from being able to see the skin, sb, etc. in the folder? I would have thought that it was locked into osz2 only after ranking.
Don't worry about it, you will see.
ziin
The problem with AIMod is that if the slider speed changes, the first note of the timing section uses the wrong spacing. Also, it bases any spacing errors on the distance between the first and second notes in the combo, making new combo spacing inconsistencies virtually impossible to fix with AIMod.

AIMod also does not consider 0.95x into 1.05x a spacing error, when depending on how close the hitcircles are together could easily be an error.
Topic Starter
akrolsmir
Spacing errors would be complicated (even if I managed to figure out how to correctly calculate sliders) because of the subjective nature of "how much is an error", like ziin said. I've always thought that's the kind of thing that modders just point out if they notice.

In other news, GUI builders are pretty awesome. I made this while playing around:


And with some time I might be able to figure out a toolbar for AIBat.
Miya
Distance checker that AImod have and this AIbat is different. I don't like aimod, because it just say the note has spacing issues/error. Even, the right spacing can be error spacing in AImod. It's more easier to just show the distance like this AIbat do, not mention the spacing error.
Breeze
Yay, hi again, about the difficult set comparison, I think total score is one of the considerable part
So if it's possible, show them like this seems looked nice
be clear at a glance~

          HP drain rate      circle size       OA         OD            SV         Total Score
Easy x x x x x x
Normal x x x x x x
Hard x x x x x x
Insane x x x x x x
Teru21
O YEAA :D I LOVE THIS
i can start making SB nyahaha~
thanks for making AIBAT :)
SapphireGhost
According to Gonzvlo, the FAQ has been updated and fruit-ryuuta.png is now independent of the other files and the spinner hits are now included in the spinner set, or something like that. Not sure if this is new information or not, but oh well.
ziin
already reported by gens a page ago :P
SapphireGhost
Wow I am silly
In the meantime, could you add a check if the storyboard goes waaay past the end of the .mp3 ? This can be a looping mistake and it causes it to not really end ever, making people sad.
Charles445
Hiyo, I've been messing around with the source and added a few more functions.
  1. Snapping Information: Gives information on how objects are snapped. Really helpful for finding random 1/6 and 1/8 in maps.
  2. Spinner New Combos: Searches for spinners missing new combos. Simple as that.
  3. After Spinner New Combos: Searches for objects missing new combos after spinners. A bit less simple.
  4. [Colour] misspellings: Checks if combo color information is unknown or misspelled, such as sliderborder (which is supposed to be SliderBorder), cOlor2, thisisuseless, etc.
  5. SliderBorder requirements: If the map has a custom hitcircle, it makes sure each difficulty has a SliderBorder setting.
I haven't added the whole storyboard lasts too long thing because AIBat doesn't parse that kinda SB info (and I'm far too stupid to parse it myself)


That's all I've added for now. It should be bug free (if it's not, tell me please!)

Download: AIBat v1.0 cedit_v1 jar.rar
Download: AIBat v1.0 cEdit_v1 source.rar


Snip, the beat dumper doesn't function properly and it's outdated.

Miya
akroslmir, could you add a feature that check image file size in the song folder?
sometimes there's an image of background that has large size like has 1mb size. It can consume more bandwith right?
I hope you can include it in the next release :3

Btw, when the next version will be released? (Just courious :3)
Topic Starter
akrolsmir
@Breeze- Yeah, I was planning on adding total score in the first place. Still working on a good formatting.

@Sapphire- I'm not too sure how storyboarding works in that context- how could I check that with a program?

@Charles- Nice work! The snapping information seems like a pretty cool idea in particular, mind if I adapt some of your changes?

I should probably figure out how something like github works so collaboration would be easier.

@Miya- Updates come basically whenever I feel I've made enough changes to be worth updating. So... perhaps within a week. Maybe.

As far as I know there's no official limit on image size, so as long as the entire fits the 10/20 mb limit I think there shouldn't be a problem.
Charles445

akrolsmir wrote:

@Charles- Nice work! The snapping information seems like a pretty cool idea in particular, mind if I adapt some of your changes?
Yes, do whatever you want, it's your program :D
show more
Please sign in to reply.

New reply