GameSentenceMiner 2.12.5__tar.gz → 2.12.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ocr/owocr_helper.py +7 -4
  2. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/run.py +1 -1
  3. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/wip/get_overlay_coords.py +1 -1
  4. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
  5. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/PKG-INFO +1 -1
  6. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/pyproject.toml +1 -1
  7. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/__init__.py +0 -0
  8. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ai/__init__.py +0 -0
  9. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ai/ai_prompting.py +0 -0
  10. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/anki.py +0 -0
  11. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/__init__.py +0 -0
  12. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/icon.png +0 -0
  13. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/icon128.png +0 -0
  14. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/icon256.png +0 -0
  15. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/icon32.png +0 -0
  16. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/icon512.png +0 -0
  17. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/icon64.png +0 -0
  18. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/assets/pickaxe.png +0 -0
  19. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/config_gui.py +0 -0
  20. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/gametext.py +0 -0
  21. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/gsm.py +0 -0
  22. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/obs.py +0 -0
  23. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ocr/__init__.py +0 -0
  24. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
  25. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
  26. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
  27. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/ocr/ss_picker.py +0 -0
  28. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
  29. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
  30. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/config.py +0 -0
  31. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
  32. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
  33. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
  34. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/__init__.py +0 -0
  35. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/audio_offset_selector.py +0 -0
  36. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/communication/__init__.py +0 -0
  37. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/communication/send.py +0 -0
  38. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/communication/websocket.py +0 -0
  39. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/configuration.py +0 -0
  40. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/downloader/Untitled_json.py +0 -0
  41. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/downloader/__init__.py +0 -0
  42. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/downloader/download_tools.py +0 -0
  43. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/downloader/oneocr_dl.py +0 -0
  44. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/electron_config.py +0 -0
  45. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/ffmpeg.py +0 -0
  46. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/gsm_utils.py +0 -0
  47. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/model.py +0 -0
  48. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/notification.py +0 -0
  49. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/package.py +0 -0
  50. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/ss_selector.py +0 -0
  51. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/text_log.py +0 -0
  52. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/util/window_transparency.py +0 -0
  53. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/vad.py +0 -0
  54. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/__init__.py +0 -0
  55. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/service.py +0 -0
  56. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/__init__.py +0 -0
  57. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
  58. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
  59. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/favicon.ico +0 -0
  60. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/favicon.svg +0 -0
  61. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/site.webmanifest +0 -0
  62. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/style.css +0 -0
  63. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
  64. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
  65. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/templates/__init__.py +0 -0
  66. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/templates/index.html +0 -0
  67. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
  68. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/templates/utility.html +0 -0
  69. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner/web/texthooking_page.py +0 -0
  70. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
  71. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
  72. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
  73. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner.egg-info/requires.txt +0 -0
  74. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/GameSentenceMiner.egg-info/top_level.txt +0 -0
  75. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/LICENSE +0 -0
  76. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/README.md +0 -0
  77. {gamesentenceminer-2.12.5 → gamesentenceminer-2.12.6}/setup.cfg +0 -0
@@ -194,19 +194,21 @@ def compare_ocr_results(prev_text, new_text, threshold=90):
194
194
  all_cords = None
195
195
  rectangles = None
196
196
  last_ocr2_result = []
197
+ last_sent_result = ""
197
198
 
198
199
  def do_second_ocr(ocr1_text, time, img, filtering, pre_crop_image=None, ignore_furigana_filter=False, ignore_previous_result=False):
199
- global twopassocr, ocr2, last_ocr2_result
200
+ global twopassocr, ocr2, last_ocr2_result, last_sent_result
200
201
  try:
201
202
  orig_text, text = run.process_and_write_results(img, None, last_ocr2_result if not ignore_previous_result else None, filtering, None,
202
203
  engine=get_ocr_ocr2(), furigana_filter_sensitivity=furigana_filter_sensitivity if not ignore_furigana_filter else 0)
203
204
 
204
- if compare_ocr_results(last_ocr2_result, orig_text, threshold=99):
205
+ if compare_ocr_results(last_sent_result, text, threshold=80):
205
206
  if text:
206
207
  logger.info("Seems like Text we already sent, not doing anything.")
207
208
  return
208
209
  save_result_image(img, pre_crop_image=pre_crop_image)
209
210
  last_ocr2_result = orig_text
211
+ last_sent_result = text
210
212
  asyncio.run(send_result(text, time))
211
213
  except json.JSONDecodeError:
212
214
  print("Invalid JSON received.")
@@ -291,7 +293,7 @@ def reset_callback_vars():
291
293
  run.set_last_image(None)
292
294
 
293
295
  def text_callback(text, orig_text, time, img=None, came_from_ss=False, filtering=None, crop_coords=None):
294
- global twopassocr, ocr2, previous_text, last_oneocr_time, text_stable_start_time, previous_orig_text, previous_img, force_stable, previous_ocr1_result, previous_text_list
296
+ global twopassocr, ocr2, previous_text, last_oneocr_time, text_stable_start_time, previous_orig_text, previous_img, force_stable, previous_ocr1_result, previous_text_list, last_sent_result
295
297
  orig_text_string = ''.join([item for item in orig_text if item is not None]) if orig_text else ""
296
298
  if came_from_ss:
297
299
  save_result_image(img)
@@ -304,12 +306,13 @@ def text_callback(text, orig_text, time, img=None, came_from_ss=False, filtering
304
306
  line_start_time = time if time else datetime.now()
305
307
 
306
308
  if manual or not get_ocr_two_pass_ocr():
307
- if compare_ocr_results(previous_orig_text, orig_text_string):
309
+ if compare_ocr_results(last_sent_result, text, 80):
308
310
  if text:
309
311
  logger.info("Seems like Text we already sent, not doing anything.")
310
312
  return
311
313
  save_result_image(img)
312
314
  asyncio.run(send_result(text, line_start_time))
315
+ last_sent_result = text
313
316
  previous_orig_text = orig_text_string
314
317
  previous_text = None
315
318
  previous_img = None
@@ -900,7 +900,7 @@ class OBSScreenshotThread(threading.Thread):
900
900
  logger.error("No active source found in the current scene.")
901
901
  time.sleep(1)
902
902
  continue
903
- img = obs.get_screenshot_PIL(source_name=self.current_source_name, width=self.width, height=self.height, img_format='jpg', compression=90)
903
+ img = obs.get_screenshot_PIL(source_name=self.current_source_name, width=self.width, height=self.height, img_format='png', compression=80)
904
904
 
905
905
  if img is not None:
906
906
  if not img.getbbox():
@@ -314,7 +314,7 @@ async def get_full_screenshot() -> Image.Image | None:
314
314
  else:
315
315
  monitors = [monitors[0]]
316
316
  monitor = monitors[get_config().wip.monitor_to_capture]
317
- img = get_screenshot_PIL(compression=100, img_format='jpg')
317
+ img = get_screenshot_PIL(compression=90, img_format='jpg')
318
318
  # Put the image over a transparent background without stretching
319
319
  new_img = Image.new("RGBA", (monitor['width'], monitor['height']), (0, 0, 0, 0))
320
320
  # Calculate coordinates to center img horizontally and vertically
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.12.5
3
+ Version: 2.12.6
4
4
  Summary: A tool for mining sentences from games. Update: Overlay?
5
5
  Author-email: Beangate <bpwhelan95@gmail.com>
6
6
  License: MIT License
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.12.5
3
+ Version: 2.12.6
4
4
  Summary: A tool for mining sentences from games. Update: Overlay?
5
5
  Author-email: Beangate <bpwhelan95@gmail.com>
6
6
  License: MIT License
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "GameSentenceMiner"
10
- version = "2.12.5"
10
+ version = "2.12.6"
11
11
  description = "A tool for mining sentences from games. Update: Overlay?"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"