RegulatedNoise - trade tool with zxctypo's best-in-class OCR (EliteOCRReader as-was)

Crikey, you sure don't hang about, I had just managed to get to point 3.!!! :D

If it helps any, if pointing to Product folder, quitting and restarting it seems to be staying open through alt-tabs.

Fixed! :p

Do me a favour and start up the existing version. It should check, and automatically tell you about the new version 1.71...?

Thanks for the catch, it would have failed for everyone I think, and it's a nice easy fix.
 
Cool. Am downloading now, got a window up on startup directing me to github to download the new version, very nice.! :)
That seems to have got it, behaving as normal again now. If you keep up this workrate Mr Braben will be offering you a job.!! :)
 
I just ran into an odd bug with 1.7: One of those missing digits cropped up again (gold sell price on Fairbairn in LHS 3447), but that was after I already had the correct data, so I don't see how it could have been an OCR error. I noticed it after updating to 1.7, so maybe something got corrupted in the update or some old data got reimported somehow, I'm not sure. I also found an entry for rutile at Russell Ring, which neither buys nor sells it; I even checked the screenshot it linked to and it wasn't there. In any event, I deleted the errant rutile row and re-OCR'd the next time I docked at Fairbairn, and it seems to have sorted it out.

EDIT: Not sure where the false rutile price came from, but I just noticed I still had an old CSV file saved that had the wrong gold price in it; I thought I'd deleted it but apparently not. That might be where it got it. I might export my current data and reimport it into a clean unzip of 1.71.

Thanks for this saving me much clicking and typing.
I do find I spend a lot of time correcting OCR mistakes, usually the same ones. What would really help is a drop-down of common corrections I have entered before, for commodities.
Right - back to the cobra....
;)

I was actually going to suggest the ability to press 'enter' after typing in a correction, instead of having to click continue. Having to move my hand between keyboard and mouse was getting tiresome. :)
 
Last edited:
Houston, we have a problem :(
When I run the program, I get an error

2015.01.11 11:00:23: ERROR: Error in program.cs:2015.01.11 11:00:23: ERROR: System.ArgumentNullException: Значение не может быть неопределенным.
Имя параметра: path
в System.IO.Directory.GetDirectories(String path)
в RegulatedNoise.Form1.<getProductPathAutomatically>b__5(String directory) в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в System.Linq.Enumerable.<SelectManyIterator>d__31`3.MoveNext()
в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
в RegulatedNoise.Form1.getProductPathAutomatically() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в RegulatedNoise.Form1.SetProductPath() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 365
в RegulatedNoise.Form1..ctor() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 52
в RegulatedNoise.Program.Main() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Program.cs:строка 242015.01.11 11:00:23: ERROR: Значение не может быть неопределенным.
Имя параметра: path2015.01.11 11:00:23: ERROR: в System.IO.Directory.GetDirectories(String path)
в RegulatedNoise.Form1.<getProductPathAutomatically>b__5(String directory) в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в System.Linq.Enumerable.<SelectManyIterator>d__31`3.MoveNext()
в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
в RegulatedNoise.Form1.getProductPathAutomatically() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в RegulatedNoise.Form1.SetProductPath() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 365
в RegulatedNoise.Form1..ctor() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 52
в RegulatedNoise.Program.Main() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Program.cs:строка 24

Version 1.41 works fine.
 
Houston, we have a problem :(
When I run the program, I get an error

2015.01.11 11:00:23: ERROR: Error in program.cs:2015.01.11 11:00:23: ERROR: System.ArgumentNullException: Значение не может быть неопределенным.
Имя параметра: path
в System.IO.Directory.GetDirectories(String path)
в RegulatedNoise.Form1.<getProductPathAutomatically>b__5(String directory) в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в System.Linq.Enumerable.<SelectManyIterator>d__31`3.MoveNext()
в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
в RegulatedNoise.Form1.getProductPathAutomatically() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в RegulatedNoise.Form1.SetProductPath() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 365
в RegulatedNoise.Form1..ctor() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 52
в RegulatedNoise.Program.Main() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Program.cs:строка 242015.01.11 11:00:23: ERROR: Значение не может быть неопределенным.
Имя параметра: path2015.01.11 11:00:23: ERROR: в System.IO.Directory.GetDirectories(String path)
в RegulatedNoise.Form1.<getProductPathAutomatically>b__5(String directory) в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в System.Linq.Enumerable.<SelectManyIterator>d__31`3.MoveNext()
в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
в System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
в RegulatedNoise.Form1.getProductPathAutomatically() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 327
в RegulatedNoise.Form1.SetProductPath() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 365
в RegulatedNoise.Form1..ctor() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:строка 52
в RegulatedNoise.Program.Main() в d:\git\RN3\RegulatedNoise\RegulatedNoise\Program.cs:строка 24

Version 1.41 works fine.

Looks like its the automatic routine to find the Frontier Product folder, I think its because you have a russian? computer.
it should be easy to fix, in order to point me in the right direction, could you send me the path for your Frontier/Product directory?
 
Yes, i have a russian.
Program path C:\Users\FPS\Desktop\ELITE\RegulatedNoise171
Frontier/Product path - D:\Program Files\Frontier\EDLaunch\Products\FORC-FDEV-D-1010
 
Yes, i have a russian.
Program path C:\Users\FPS\Desktop\ELITE\RegulatedNoise171
Frontier/Product path - D:\Program Files\Frontier\EDLaunch\Products\FORC-FDEV-D-1010

Thanks, I think i've figured it out.
I'm not sure how maxh2003 does the releases so if you don't want to wait for him to wake up, you can download my testversion (its experimental) and test
https://github.com/MRmP/RegulatedNoise

EDIT: Oh, seems I have no idea what im doing, not sure how i can get the exe file there, we have to wait for maxh2003. Sorry :/
Edit2: i added my exe files to dropbox, if you want to try and give me feedback if it works, you can grab it here: https://www.dropbox.com/s/5635mka0mv2k0jt/Debug.rar?dl=0
just unzip and open RegulatedNoise.exe, you need to update the ocr calibration (or try the new automatic calibration thing I just wrote, just push the automatic calibration button and test if it works in the commodity market :D)
Edit3: Automatic ocr calibration might not work if you have another resolution than 1920x1080 (ive made the fix but not in the rar file)
 
Last edited:
MRmP, Thanks.
Im run program and see window - Automatic discovery of Frontier directory failed, please point me to your Frontier 'Products' directory.

Now I have another error
f8d121af14106caca05d26a380730d38.jpg

But now this error applies only to me. I playing ED on home computer and now try to run a program on my work computer. ED was installed on this computer, but does not start because there is no support DX11. I have no path c:\users\fps\appdata\local\.........\Options\Graphics and e.g. This path is created at the start ED for the first time. :(

PS. Excuse me for bad English
 
MRmP, Thanks.
Im run program and see window - Automatic discovery of Frontier directory failed, please point me to your Frontier 'Products' directory.

Now I have another error
View attachment 7925

But now this error applies only to me. I playing ED on home computer and now try to run a program on my work computer. ED was installed on this computer, but does not start because there is no support DX11. I have no path c:\users\fps\appdata\local\.........\Options\Graphics and e.g. This path is created at the start ED for the first time. :(

PS. Excuse me for bad English

Let me see if i understand you correctly.
You tried to open the application on your work computer? and it doesnt work?
On your home computer (where ED works) the application works?

Its trying to read the DisplaySettings.xml file, but I guess that doesn't exist because ED never started.
 
Let me see if i understand you correctly.
You tried to open the application on your work computer? and it doesnt work?
Its trying to read the DisplaySettings.xml file, but I guess that doesn't exist because ED never started.
Yes. I tried to open the application on my work computer. And it doesnt work. But works version 1.41 :)
Yes, file DisplaySettings.xml doesn't exist because ED never started.

On your home computer (where ED works) the application works?
I dont know :( I checked it only in the evening
 
Yes. I tried to open the application on my work computer. And it doesnt work. But works version 1.41 :)
Yes, file DisplaySettings.xml doesn't exist because ED never started.


I dont know :( I checked it only in the evening

Okay, then we know why it isnt working :) ill create a fix.
Fixed. I hope most of the fixes will be in the new version of RN.
 
Last edited:
I hope in the future, in order to start the RN will not need to install ED. I use this application for planning trade routes and want to do it everywhere. In the subway train, in the car, at work with my laptop or any other computer. Thank U ;)
 
Last edited:
Hi, thanks for the tool it's really great.
I've been getting a crash in v1.71 whether or not ED is running or any screenshots have been imported.
It only happens if you listen to the EDDN, sometimes straight away sometimes after a few minutes.
The raw output window still updates after the exception.
This is on a clean install of 1.71 with just the calibration I had been using from 1.2-1.5 which had no crashes like this.

************** Exception Text **************
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.Substring(Int32 startIndex, Int32 length)
at RegulatedNoise.Form1.OutputEddnRawData(Object text) in d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:line 2602


Thanks for all the hard work.
 
After moving from 1.6 to 1.71, the OCR got a whole lot less accurate. It can no longer tell the difference between D and O, and Y and V, among other things.
Also, when editing the ocred valued using the edit results button, i've noticed that everything is duplicated at least twice, often as many as 5 times.

I also get that Length cannot be less than zero. error when listening to EDDN
 
Last edited:
After moving from 1.6 to 1.71, the OCR got a whole lot less accurate. It can no longer tell the difference between D and O, and Y and V, among other things.
Also, when editing the ocred valued using the edit results button, i've noticed that everything is duplicated at least twice, often as many as 5 times.

I am getting this too.
 
Updated with MRmP's experimental auto-calibration and bugfixes and stuff...

- - - - - Additional Content Posted / Auto Merge - - - - -

Fixed. I hope most of the fixes will be in the new version of RN.

Should all be present in 1.72. FPS, please retest :)

- - - - - Additional Content Posted / Auto Merge - - - - -

System.ArgumentOutOfRangeException: Length cannot be less than zero.
at RegulatedNoise.Form1.OutputEddnRawData(Object text) in d:\git\RN3\RegulatedNoise\RegulatedNoise\Form1.cs:line 2602

I couldn't replicate this, it seems like corrupted or unexpected data has been received from EDDN.

If it does it again with v1.72, it should generate a RegulatedNoiseDump.dmp file - this will be ENORMOUSLY useful in debugging the problem...

- - - - - Additional Content Posted / Auto Merge - - - - -

After moving from 1.6 to 1.71, the OCR got a whole lot less accurate. It can no longer tell the difference between D and O, and Y and V, among other things.
Also, when editing the ocred valued using the edit results button, i've noticed that everything is duplicated at least twice, often as many as 5 times.

I also get that Length cannot be less than zero. error when listening to EDDN

Hm. The OCR itself hasn't changed since v1.6, strangely (check GitHub if you don't believe me! :)). You could try MRmP's new auto-calibrate and see if it helps. Or it could be that before, you were at systems and stations it recognised (and auto-corrected) but are now at stations it doesn't know about and can't auto-correct. Less likely though.

The duplication thing is odd, there is code to prevent that but it's not working I think. Fancy raising a GitHub issue for it please?

Again, with the "less than zero" error, please try to recreate it in v1.72 and pass the dump file across.
 
Last edited:
Some feedback.
Very grateful as always for this open-source tool. I only ever code python for fun nowadays or I might be drawn in... ;)
I tested the automatic OCR calibration. It gets the screen resolution ok, but on importing it never manages to get the station name. That field is always blank. Also it still makes the same mistakes as before, mistaking Y for v and M for in and don't even ask what it does with fruit and resonating separators... *shudder*

Manual calibration is same as before.

Edit oh, and since about 1.71 it always misses the space if there is one in the station name. I have to put it in manually.
 
Last edited:
I tested the automatic OCR calibration. It gets the screen resolution ok, but on importing it never manages to get the station name. That field is always blank. Also it still makes the same mistakes as before, mistaking Y for v and M for in and don't even ask what it does with fruit and resonating separators... *shudder*

Manual calibration is same as before.

Edit oh, and since about 1.71 it always misses the space if there is one in the station name. I have to put it in manually.

...fixed!
 
Last edited:
Updated to v1.73 with an important bug fix in the name-matching algorithm, plus updates to station and system reference data...
 
Thanks again.
It still misses the space in the station name. Also it now sometimes asks to verify matches that it gets right, an example it now asks to verify Hydrogen Fuel. The OCR is much better, it does fail a bit in different ways but less than before.
:)
 
Back
Top Bottom