forum

osu!np v2.4: Output /np info + Beatmap Downloader etc

posted
Total Posts
170
show more
TakuMii

Piotrekol wrote:

/snip
are these working?(not that it matters for me- I have my prog for it ;w; )
because I tried using map/mapset ID's and it didn't work (v1.5)
As far as I'm aware, you need to properly set your osu! directory in the config for the map info and IDs to function.
Piotrekol
I did set osu! path.
Got it kinda...working
It seems that this "id searching" is sometimes taking way too long- I thought it was just crashing or sth. and i was force-closing it(took about 30seconds before app got responsive again) and sometimes it doesn't show ID at all
2 examples of maps that don't give me any id(can easily give more if needed)
https://osu.ppy.sh/s/5139
https://osu.ppy.sh/s/3000
old maps *.osu's doesn't contain any misc info and that's what is causing that...(at least i think that's the reason)
Topic Starter
Primula_old
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 ;--;!
321jurgen
Thanks alot. Works great!
TakuMii
Gah, I have a feature request that I don't know if you can fulfill >//<
The recent changes made to osu!test were to encourage bugtesters+etc to switch to osu!test permanently... however osu!np doesn't work with it (osu!np gets stuck at "Attempting to find osu!") so I'm forced to move back to the public build every time I want to livestream. Since collections don't carry over between the public and test builds, it makes it somewhat more difficult to switch back and forth. If osu!np had support for the test build, this would be a non-issue.
But since you no longer have supporter, I don't know if this would be possible. Hopefully this is an easy change (the osu!test window title is "osu!test bYYYYMMDD" with the current date, instead of just "osu!"). If there's any way that I could help, I'd be glad to :)
Topic Starter
Primula_old
Not an issue.
I just need to additionally check for 'osu!test' process and check window title as 'osu!test b########' if osu!test is running.

I may instead (or additionally) just allow user to add an additional window title to check for in case the title format changes in future.
(So if it can't find the normal osu!, it'll check for what the user defines)

Edit: Probably should be working in the next version, not entirely sure on the format of the title when a song is playing though so I've assumed it's similar to the regular osu, minus the "!test" and version.

I've also made improvements to efficiency of obtaining song data in the next version (less hanging), and added support for only outputting text if a command returns a value (Example Format: "{prefix [a] suffix} {prefix [t] suffix}" = "prefix Artist suffix prefix Title suffix" ).

Will possibly make a few more changes before uploading the new version~
TakuMii
Also, I'm having issues with the Export function creating an empty config file (which is then auto-imported when osu!np next starts up and causes the config to be blank).

Here is the log:
osu!np - Config
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidCastException: Conversion from string "setIdle:Idle
setNP:
setIdle1:I" to type 'Double' is not valid. ---> System.FormatException: Input string was not in a correct format.
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Double.Parse(String s, NumberStyles style, IFormatProvider provider)
at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
at Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
--- End of inner exception stack trace ---
at Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
at #U.#ke.#ie(Boolean )
at #U.#ke.#fe(Object , EventArgs )
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18051 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
osu!np
Assembly Version: 1.5.0.0
Win32 Version: 1.5.0.0
CodeBase: file:///C:/Users/BlooMassacre/Documents/osu!np/osu!np.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18046 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18022 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18045 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 11.0.50709.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
{4a614a8b-eb94-4c04-9fa5-f132a25e32d4}
Assembly Version: 0.0.0.0
Win32 Version: 1.5.0.0
CodeBase: file:///C:/Users/BlooMassacre/Documents/osu!np/osu!np.exe
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18053 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18053 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Thanks for the frequent updates, btw :) You're doing an awesome job!
Topic Starter
Primula_old
Thank you, YayMii~ :3

v1.6 is released with the following changes~ ^-^
  • ★ Improved efficiency with several features of osu!np (like querying map data, and downloading maps/osu!np updates). The UI should no longer hang for these features, still working on other improvements.
    ☆ Made changes to the command formatting, allowing for text to be grouped with a command so if the command returns nothing, the text will not output at all.
    The new format is: {Prefix[C]Suffix} (The prefix/suffix are optional text)
    Example: {np: [np]} {[diff]} Commands without optional text will still require the {} braces for now, eg: {[np]}
    ★ Support for downloading maps is back using Hexide's mirror, maps will now be correctly named and can easily be installed to Osu!
    ☆ Implemented support for osu!test client.
    ★ Fixed casting error when exporting config.
    ☆ Fixed unhandled exception when attempting to import when no config is found.
    ★ May have potentially fixed the problem which was making few users unable to start osu!np.
Note: You'll have to add {} to all your commands for now even for ones that do not use optional text.
So, for example:
Playing: [np] [diff] - ID: [mid]
Becomes:
Playing: {[np]} {[diff]} - ID: {[mid]} = "Playing: Artist - Title [Difficulty] - ID: #"
Or if you want the text to only output if the commands are not empty:
{np: [np]} {[diff]}{ - ID: [mid]} = "Playing: Artist - Title [Difficulty]" (If [mid] was returned empty)


I'm not entirely sure if the support for osu!test will definitely work, I can't test it myself. >-<
If it doesn't work, can you show me an example of what the osu!test title looks like when playing a map? >-<!


Edit: Updated to v1.7 to add auto-updating and add user-agent to header when downloading.
TakuMii
Wooo, it's working so smoothly now :D

The o!test support is still not working though. I've taken a screenshot of what my titlebar looks like when playing a song:
Topic Starter
Primula_old
Should hopefully be working in v1.8~! ^-^
Additionally added the following:
  • ★ Added ability to optionally downloading maps without video.
    ☆ Added recent updates display to client.
Three updates in one day.. Sorry >-<!!
givenameplz
Hello again, thanks for the updates.
I am having lots of fun with it up until now, hehe.

As I am using the FTP feature alot, I want to point out a few things I found and also a few ideas I had and would really like to see:

  1. Exception while connecting to FTP
    It seems that if you enter invalid information and press the "Start" button of osu!np the FTP function returns an exception. Its not a big deal, but it would be nice if you could catch that.
  2. Primary output is overwritten
    If you choose to upload /np to FTP, the primary output (np.txt) is overwritten by default with the same file thats uploaded to the FTP-Server. Thats a bit annyoing, but minor as I did not need the primary output anyways. (As its not using the primary pattern as told in my next point)
  3. Customize FTP output
    It would be nice to be able to customize the output thats send to the FTP-Server. Up until now its only the mapset and the Online or Offline status. I'd really like to use the placeholders for diff and so on aswell. (As you overwrite the primary output with this anyways, you could use the pattern for it)
  4. Add an "Start osu!" button
    I think this would be handy, as I would only need to run osu!np without any Batch files and the likes, as you already ask the user for the osu! Folder, there shouldn't be a problem finding the osu!.exe. (*´ω`*)
  5. POST requests
    I know you already plan an alternative, but I wanted to throw my idea here anyways, it would be neat if there was an possibility for sending POST requests to web pages.
    With that it would be much easier and much more handy for website users to POST their status to some .php page and save it to a database or output on a website.
    Of course, for savety reasons you should include a field for a "key" that the users defines thats send with the post data, so the user can check it on his backend.
  6. Edit:Upload to FTP does not correctly "go offline"
    Another thing I almost forgot to address, I'll explain: If you push the "Start" button nothing happens, this is fine, osu!np will only upload if you actually run osu!, but the thing bothering me is that its only sending an "Offline" message when you close osu!np, its not sending the message if you press "Stop" or if you quit osu!. I would recommend, for consistency, that its also sending the "Offline" message when you quit osu!.
So far thats everything, looking forward for more, keep going~
Topic Starter
Primula_old
Auuu.. So much stuffs ;--;
I've kinda been ignoring the FTP side of things lately, but I will start working on it again. >-<!

The thing about the output was planned a while ago.. I'm still wondering on how I should go about implementing it.
The easiest but more restrictive way would be to put 'Key' and 'Value' in a php file like: $key = value;
So you can just include that php file into any other php file to use those keys as variables.
But I'm not sure if this would be nice for people who use mIRC scripting or other such things. >-<
Will find a way which fits both~

Exception while connecting to FTP
Easy fix.
Primary output is overwritten
Something I overlooked.
Add an "Start osu!" button
Nice idea, will do an 'Osu' icon styled button~
(Left-Click = osu!, Right-Click = osu!test
POST requests
Pretty simple to do >-<
I'll make 2 fields in the config, one for the url. Eg. http://host.com/np.php
Another for requests requiring key, then optionally commands. Eg. key=gf4gh874hg&np=np&diff=diff (where keys = user defined post variables, values = commands)
Edit: Scratch that, instead of doing commands separated, I just put the different outputs instead in the string (status=&primary=&secondary=&previous=)
Upload to FTP does not correctly "go offline"
I thought I fixed this >-< Will check it.

Oh, I also will be fixing hanging issues on the FTP side of things.


Edit: I'm finished with changes today (17th), will upload v1.9 when I wake up.
Topic Starter
Primula_old
Decided to upload now. >-<
Following changes in v1.9:
  • ★ Added button to allow user to launch osu!/osu!test (left/right click).
    ☆ Made several changes to make osu!np more efficient.
    ★ Fixed issue causing update setting to be ignored.
    ☆ Addressed exception when attempt to connect to FTP fails.
    ★ Fixed issue causing FTP to overwrite primary output.
    ☆ FTP will now correctly send offline status when the osu! process is not running.
    ★ FTP now uses threading to reduce hanging, only map checking should cause hangs for now.
    ☆ Status messages of FTP will now display on osu!np title to not conflict with other status messages.
    ★ Changed FTP Upload to additionally support uploading Secondary/Previous outputs.
    ☆ Added option of whether to group outputs when uploading to FTP, more info on this in the 'FTP Grouping' section.
    ★ Implemented method for sending status and outputs to a PHP page using POST method, more info on this in the 'POST' section.
Please note: The last few updates have had changes to the settings, so exporting old settings may cause conflicts.
If you experience problems with this, you'll have delete the following folder: C:\Users\Username\AppData\Local\Primpri


I can't really make an explanation for the FTP Grouping and POST just yet, need sleep ;--;
But basically for the FTP side of things:
If you choose to output with FTP Group on, then instead of having Primary/Secondary/Previous output to separate files, they'll output to the same group file specified.
Status will always output to its own file.
The 'Key' and 'Value' input fields determine the format of the output to the group file. (Where '[Key]' is 'Primary'/'Secondary'/'Previous' and '[Value]' is the output of the Key)
Text within double braces {{ }} in the Key field will only display before the first Key.
Text within double braces {{ }} in the Value field will only display after the last Value.
[nl] will create a new line.

If you were to output to a basic Key:Value .ini file, you could do this:
Set Key field to: '[key]:'
Set Value field to: '[val][nl]'
The output would be:
Primary:Value
Secondary:Value
Previous:Value

If you were to output to a PHP file, you could do this:
Set Key field to: '{{<?php[nl]}}$[key] = '
Set Value field to: '"[val]";[nl]{{?>}}'
The output would be:
<?php
$Primary = "Value";
$Secondary = "Value";
$Previous = "Value";
?>

For the POST side of things:
Set the URL to the location of the page receiving the POST requests (http://host.com/np.php)
Set the Key field to a 'passphrase' of sorts which you'll be able to verify when you check for the requests in PHP.
You can then do things like: if($_POST['key'] == "blah"){ echo($_POST['status']); echo($_POST['primary']); }
All requests are: 'key', 'status', 'primary', 'secondary', 'previous'
They're not all sent with values at all times (Eg. Status updates when osu is opened, but the outputs don't), so you may want to check lengths of each request before doing anything with them.
givenameplz
Just a few things I noticed right away.

The only POST request sent is key and status, the other values are never set.
Also, after playing a map and going idle, POST is sent pretty frequent with empty values (only key set again).
I also noticed a small message Error creating file as status in the hint section of the application, this might has something to do with the fact that no other values are set.

Edit1:
It appears that the frequent POST sending is happening all the time when being idle, not only after you played.
Also, only a small thing, if you close osu!np now, its telling you that "osu!np stopped working".

I'll edit this post when I find something else.
Topic Starter
Primula_old
The 'osu!np stopped working' thing is related to the other problem.
I didn't do much testing with the post thing because I was too tired. >-<
..But it worked fine for me in the few tests I did do.. ;---;
And it worked just fine again now.. odd.

Could you send me a copy of your exported config? (with your ftp details removed ofc)
givenameplz

Primula wrote:

The 'osu!np stopped working' thing is related to the other problem.
I didn't do much testing with the post thing because I was too tired. >-<
..But it worked fine for me in the few tests I did do.. ;---;
And it worked just fine again now.. odd.

Could you send me a copy of your exported config? (with your ftp details removed ofc)
It has been send as it is right now, only the key is removed as I havn't entered the FTP in the new Version yet.
Check your PM.

Edit: I got it working now, I checked "Output Primary" and "Output Secondary" under "Output" and it worked, but there is another problem, you should escape characters like "&" or "?" this caused a few errors for me. (In song names for example)
Also, only if possible, if you use the "au" or "tu" tag, it would be neat if its the default title and aritst if there is no unicode Version of it. Right now its only blank.
Topic Starter
Primula_old
Yeah I noticed you had no outputs enabled.
POST uses the outputs you set for Primary/Secondary/Previous so you will require at least one of them to be enabled for local output in order to get anything sent to PHP.

I was thinking about having a field in the POST config where you can set things like:
var1=[np]; var2=[mid] etc..
But you can already do this using either the primary/secondary output fields

Eg. Setting the primary output to: blah{&var1=[np]}{&var2=[diff]}{&var3=[mid]}
Will output this to the file: blah&var1=np&var2=diff&var3=mid
And will output this to POST: key=aaa&primary=blah&var1=np&var2=diff&var3=mid

As for the error on close, it was due to having osu!np close after checking whether to update on close, but before checking whether to send ftp/post.. silly me ;--;

I thought I was already escaping characters, will have to check again.
Will also do the unicode thing.

I'll also be adding the capability of listening to the preview track before downloading a map.
Topic Starter
Primula_old
V2.0 is now available with the following changes~
  • ★ Changed styles to System defaults.
    ☆ Additional windows (Config/Update/Beatmaps) will now close when osu!np is minimized.
    ★ Additional windows will now retain focus of osu!np main window.
    ☆ Fixed importing exception caused by the previous update.
    ★ Partially encoded MapName when saving downloaded MapID's.
    ☆ Encoded data sent via POST.
    ★ Potentially fixed issue causing osu!np to throw an error when closing.
    ☆ Added map song previewing functionality, right-click the map download button to preview.
    ★ Added multi-line log to replace the current log output from various functions, regular info messages will be displayed on the osu!np title instead.
    ☆ Added 'Beatmaps' list to allow for Querying/Previewing/Downloading of all ranked/approved Beatmaps.
I'm planning on flagging beatmaps in the list that are already installed. (like change the row colour, or add a 'Installed' column)
I just realized I forgot to do the unicode thing ;---;!
givenameplz

Primula wrote:

[...]
I just realized I forgot to do the unicode thing ;---;!
Gah! °,..,°


Other than that, good job. Will test the update later. So far I didn't notice anything else on V1.9.

Edit:
I just noticed you are not really escaping the characters but converting them, see this example:
17:51:42|NP: Retrieving MapData of Map(Oranges & Lemons - Soramimi Cake (TV size);[Hard]).
[...]
17:51:42|POST: Encoded(key=xxx&primary=Oranges &amp; Lemons - Soramimi Cake (TV size) [Hard]&secondary= - [Hard]&)
& to &amp;.

The same goes for this example:
18:00:34|NP: Retrieving MapData of Map(Amane - Eternal Fullmoon;[Al's Insane]).
[...]
18:00:35|POST: Encoded(key=xxx&primary=Amane - Eternal Fullmoon [Al&#39;s Insane]&secondary= - [Al&#39;s Insane]&)
' to &#39;.

You should think of another way to replace those characters. As when you convert them like this there will still be a & present. Hehe.
Topic Starter
Primula_old
Yeah.. I didn't test it o.o

v2.1 has the unicode checking.
Will upload it when I add the escaping fix to it. ;---;!!!
Starz0r
pls update for bigger window, i use 1920x1080 monitor so i find the window to be 2small4me.
Topic Starter
Primula_old
pls update for bigger window, i use 1920x1080 monitor so i find the window to be 2small4me.
B..but.. If you open the Beatmaps window, it doubles in size! ;--;
I might make it a little bigger soon.. >-<

POST requests will work correctly in next update.
21:33:17|POST: Compare~
Raw(key=abc321&primary=np: SYNC.ART'S - Sins -Kokoro no Tsumi- [Nightmare]&)
Encoded(key=abc321&primary=np%3a+SYNC.ART%27S+-+Sins+-Kokoro+no+Tsumi-+%5bNightmare%5d&)
21:33:17|POST: Setting header..
21:33:17|POST: Writing request stream..
21:33:18|POST: Reading response stream..
21:33:18|POST: Response(np: SYNC.ART'S - Sins -Kokoro no Tsumi- [Nightmare])

Also fixed issues with closing when doing post/ftp or updates on close. (osu!np will minimize to tray and process everything before closing)

Think I might fix the map check hanging before posting update.. shouldn't keep procrastinating that ;---;
hitori
After update to v2.0 I get this error
View problem details
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: osu!np.exe
Problem Signature 02: 2.0.0.0
Problem Signature 03: 5211ce71
Problem Signature 04: System.Windows.Forms
Problem Signature 05: 4.0.30319.18046
Problem Signature 06: 51552cda
Problem Signature 07: c2b
Problem Signature 08: 36
Problem Signature 09: System.InvalidOperationException
OS Version: 6.2.9200.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 5861
Additional Information 2: 5861822e1919d7c014bbb064c64908b2
Additional Information 3: f3d5
Additional Information 4: f3d5be0cad2787556264647dc02181c3

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=190175

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
Topic Starter
Primula_old
When are you receiving that error, at startup?
And is there any additional information provided by it?

Only thing I can recommend at the moment is install .Net Framework 4 if you don't already have it, or repair if you do.
hitori
When are you receiving that error, at startup?
Yes, right after the start
And is there any additional information provided by it?
Logs from Event Viewer
Only thing I can recommend at the moment is install .Net Framework 4 if you don't already have it, or repair if you do.
I'm using Windows 8 Pro 64-bit, so .Net Framework 4 is already installed.
Repair didn't find anything.
Topic Starter
Primula_old
May have fixed that error in 2.1.
I've also included better unhandled exception handling to give meaningful errors. x.x!

2.1 will probably be ready to upload later today. (Just need to fix a few issues with map checking)

Edit: Found another exception which occurs if the 'config.ini' file is found in the same directory on startup.
If you wish to import settings in v2.0, rename your config file to something else before starting osu!np, then rename it back to 'config.ini' and use the Import button in the config instead.
This issue will be fixed in v2.1 >-<
hitori
Hmm. But it still occurs, even if "osu!np.exe" is the only file in folder. I hope it will be resolved in v2.1.
Topic Starter
Primula_old
I wasn't referring to the exception that you're having, found a different one.

I'm not 100% sure of the reason for the error you received, could be several reasons:
--You may not have one or more of the dependencies required. (Unlikely, because the only dependencies which are not embedded in osu!np are from .Net FW4.0)
--The only additional dependency I added in v2.0 was WMP for previewing songs, I recently learnt that there's only a x86 version of this dll and that using 'AnyCPU' as the Target CPU will cause problems with such dependencies. I switched to x86 as target in v2.1.

I tested v2.0 on both Win7 & Win8 (on 3 different computers, all on 64bit) and I can't reproduce the error so it's difficult to debug.
Though I also changed the method of how osu!np starts in v2.0 which may have caused problems, I've reverted it in v2.1 because it wasn't necessary.

I just need to reimplement FTP related stuff to make it more efficient, then then 2.1 will be ready~
TakuMii
Sorry about the late response, but it seems osu!np still doesn't work with osu!test. If there's nothing left that you can do currently to fix the issue, do you think you'd be able to find out why it isn't working if I gifted you supporter?
Topic Starter
Primula_old

YayMii wrote:

Sorry about the late response, but it seems osu!np still doesn't work with osu!test. If there's nothing left that you can do currently to fix the issue, do you think you'd be able to find out why it isn't working if I gifted you supporter?
Will check on it today. >-<
Topic Starter
Primula_old
I'm not able to test whether it works for osu!test but I changed it to check for the title as a pattern which should be able to find the map correctly no matter what.
You should get output to the log as "NP: Client(osu!test)" if it detects osu!test as running.. and that's as much as I can test myself. >-<
Dexus

hit0ri wrote:

After update to v2.0 I get this error
View problem details
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: osu!np.exe
Problem Signature 02: 2.0.0.0
Problem Signature 03: 5211ce71
Problem Signature 04: System.Windows.Forms
Problem Signature 05: 4.0.30319.18046
Problem Signature 06: 51552cda
Problem Signature 07: c2b
Problem Signature 08: 36
Problem Signature 09: System.InvalidOperationException
OS Version: 6.2.9200.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 5861
Additional Information 2: 5861822e1919d7c014bbb064c64908b2
Additional Information 3: f3d5
Additional Information 4: f3d5be0cad2787556264647dc02181c3

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=190175

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
I get this error as well and I'm on windows 7 64-bit. I repaired my .NET framework and re-installed it. I can not run osu!np at all.
Topic Starter
Primula_old
Givenameplz kindly donated me a month of Osu! Supporter, so I'll have the issues with osu!test client fixed today. ^-^

The error with System.InvalidOperationException should be fixed in v2.1 (or at least should display a more meaningful error for easier debugging), will have 2.1 ready by the end of today~!
Avail_old_1
You really should remove the new lines in the .txt files..

Also, I have made a little script in python for XChat/HexChat. Get it here
Topic Starter
Primula_old
v2.1 is now up with the following changes~ >-<
Thanks again to Givenameplz for gifting Supporter. ^-^

V2.1 - 25.08.13 - 600kb
  • ★ Make Unicode data output the Non-Unicode variant if it returns nothing.
    ☆ Beatmaps in the download list will now display a green ID if they're already installed.
    ★ Fixed escaping issue with POST requests.
    ☆ Added threading to map checking, no more hanging~!
    ★ Made map checking even more efficient by changing the method used to find and read from maps.
    ☆ Added function for removing characters from MapName before map checking to prevent no map being returned.
    ★ Removed additional blank lines from all outputs.
    ☆ Fixed yet another issue with importing configs.
    ★ Fixed issue related to osu!test (Definitely working now >-<! Thanks to Givenameplz for gifting Supporter so I could debug this)
    ☆ Redesigned MapChecking/FTP/POST functionalities to make them more efficient.
    ★ Added a notice message which outputs whether more than one result was returned when MapChecking. This is a limitation of osu!np due to the nature of how map data is obtained. osu!np does not have access to the ID of a Mapset instantly so it's unable to determine which map is truly being played if there are two or more maps with identical Name & Difficulty. I am currently attempting to figure out a solution for this.
    ☆ Added web status handling to map requests, will now return error if the MapID does not return a preview/download.
    ★ Added functionality for removing Videos (of format avi/flv/wmp/mpg) and Images (of format jpg/png). Only images below the specified Dimensions will be removed (Default: 640x480), and images of which are corrupt for whatever reason will be skipped but the directory of that image will be outputted to the log for manual deletion.
    ☆ Fixed issue which presented an error after closing osu!np while it was still processing. osu!np will now minimize to tray before closing if it still needs to finish processing whatever it's doing.
    ★ Setting osu!np to default settings will now clean up any old settings that have been removed.
    ☆ Potentially fixed error some users may have experienced when attempting to launch osu!np v2.0
    ★ Added better error checking, with more useful output. (If you receive errors, PM them to me)
Avail_old_1
No extra lines with this last update? Neato.Created a new version of my python script -> http://pastebin.com/RFzdNaKd
Topic Starter
Primula_old
Cause for System.InvalidOperationException found, current version of osu!np requires WMP to be installed.
(Control Panel > Programs & Features > 'Turn Windows features on or off' > Media Features > Windows Media Player)

This is something I'm using for just previewing of maps >-< Will consider replacing in future
TakuMii
Alright, it works on the test build now :D

I have 3 more feature requests:
1. It'd be nice to have the option to make the 'previous' output get its info from the secondary output rather than the primary output. I'm getting around this by using the primary as a secondary, but this will make things slightly more convenient.
2. I'd like the option to minimize it to the taskbar rather than to the tray. Again, for convenience.
3. Currently, the 'previous' output will change upon hitting Retry or changing difficulty. This defeats the purpose of , as it'll cause it to show the same information as the other inputs. Is there a way of detecting this and preventing this from happening?

Thanks again, and sorry for the trouble.
Topic Starter
Primula_old
Current TODO for v2.2:
★ Fix unicode issue - Done
☆ Fix issue with Beatmap list being transparent. - Done
★ Add option for which output 'previous' should record from. - Done
☆ Add option for minimizing to taskbar instead of tray. - Done
★ Make previous output only update when the current map is not the same. - Done
☆ Make changes to UI layout (will make everything a bit bigger and much more pleasant) - Done
★ Add support for different localizations. - Working on
(Currently: German, Japanese & Chinese are planned, if anyone feels like helping with translations of these/other languages feel free to PM me ^-^).
Topic Starter
Primula_old
Can start adding translations for other languages here.
https://docs.google.com/spreadsheet/ccc ... full#gid=0

I haven't finished with the English locale yet as I'm re-designing the UI and some text may change/be removed.
Anyone is welcome to make changes and add new languages.
The current languages listed are ones of which are either confirmed or have potential to be added. (Need to discuss it with friends >-<)

Edit: Found the issue causing the other InvalidOperation exception, fixed in 2.2! ^-^

Edit again: v2.2 is going to take a while, probably won't be done until the weekend at the earliest.
I'm re-implementing the download function, it will support multiple downloads and aborting/pausing of downloads.
I'm also combining the Beatmaps window into the main window. (Closed | Open)

So now there won't be duplicate buttons with the same function. >-<
Will also add new methods of downloading beatmaps and will add the ability to choose how to order beatmaps in the queried index (by date/id/name etc).

Contemplating various things involving osu!np reading output from other applications.
Eg 1. A user in your twitch chat that types !play [id] could cause osu!np to download and install that map id ready for you to play.
show more
Please sign in to reply.

New reply