Tyrrrz / OsuHelper

Beatmap suggester for osu!
Other
105 stars 7 forks source link

Get the currently playing beatmap and set the BeatmapID to that for quick analysis in calculator #9

Closed Tyrrrz closed 8 years ago

Tyrrrz commented 8 years ago

I see 2 options implementing that, both problematic

  1. Get the osu! window title which contains the current song's full title.

    Pros:

    • Easy to implement

    Cons:

    • Only works when the user actually plays something, so doesn't work in menu or song select
    • Have to extract the beatmap's data and then search for it somehow, but the API doesn't allow searching by beatmap's name.
  2. Use the msn live thingy

    Pros:

    • Works anywhere
    • I assume it exposes more information about beatmap, so no search required

    Cons:

    • I have no idea how it works
    • The user needs to set a checkbox in the options
    • May become obsolete and get removed at any point because nobody uses msn anymore
Piotrekol commented 8 years ago

msn live thingy

It doesn't expose any more information than you are able to see in osu! window title while playing, so you still would need to do some sort of search to identify a specific map

Tyrrrz commented 8 years ago

@Piotrekol not even the beatmap ID?

Piotrekol commented 8 years ago

[status] [artist] - [title] [difficulty] so no.

Tyrrrz commented 8 years ago

Ugh, I see.

In your application, did you search through the API somehow or did you scan the user's song folder?

Piotrekol commented 8 years ago

I don't like calling online sources for every little thing, so in my application I depend on 2 ways to get map data:

  1. get mapID from osu! internal memory and use (2) using only mapid as search criteria(this part of the code isn't public)
  2. search database using raw string given from osu! database I'm searching in is generated using already existing osu!.db in osu! folder
Tyrrrz commented 8 years ago

Looking at osu!.db, it seems to also contain the hash strings of the beatmaps. Do you know what database format is it in?

Piotrekol commented 8 years ago

it is documented there(but I'm unsure if it's current schema) https://osu.ppy.sh/wiki/Db_(file_format) or you can try poking around in that file