Yes, some maps don't contain certain map data so it returns nothing, at some point I was going to make it possible to output text within a command so that the text itself doesn't output if the command returns nothing.
Eg. "np: [np]{ | Mapset: [mid]}" would return "np: Artist - Title | MapID: #" if there is an ID found and "np: Artist - Title" if there isn't.
I did get this working at some point but I had a slight issue with it at the time which I was too tired to fix lol, will get it working again soon, it's not difficult~
The problem with the client hanging is that I didn't bother using threading to begin with because at first it wasn't necessary >-<
I never bothered addressing it because assuming you're currently playing Osu!, you don't need to interact with osu!np while it's processing everything (and it should only hang at the start of a map).
Efficiency is something I'll get around to though, there's just a lot of things that need to be changed ;--;!
Eg. "np: [np]{ | Mapset: [mid]}" would return "np: Artist - Title | MapID: #" if there is an ID found and "np: Artist - Title" if there isn't.
I did get this working at some point but I had a slight issue with it at the time which I was too tired to fix lol, will get it working again soon, it's not difficult~
The problem with the client hanging is that I didn't bother using threading to begin with because at first it wasn't necessary >-<
I never bothered addressing it because assuming you're currently playing Osu!, you don't need to interact with osu!np while it's processing everything (and it should only hang at the start of a map).
Efficiency is something I'll get around to though, there's just a lot of things that need to be changed ;--;!