GameSentenceMiner 2.8.15__tar.gz → 2.8.17__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 (64) hide show
  1. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/config_gui.py +2 -0
  2. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/downloader/download_tools.py +2 -2
  3. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ocr/owocr_area_selector.py +4 -0
  4. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ocr/owocr_helper.py +1 -1
  5. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
  6. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/PKG-INFO +1 -1
  7. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/pyproject.toml +1 -1
  8. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/__init__.py +0 -0
  9. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ai/__init__.py +0 -0
  10. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ai/ai_prompting.py +0 -0
  11. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/anki.py +0 -0
  12. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/communication/__init__.py +0 -0
  13. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/communication/send.py +0 -0
  14. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/communication/websocket.py +0 -0
  15. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/configuration.py +0 -0
  16. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/downloader/Untitled_json.py +0 -0
  17. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/downloader/__init__.py +0 -0
  18. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/downloader/oneocr_dl.py +0 -0
  19. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/electron_config.py +0 -0
  20. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ffmpeg.py +0 -0
  21. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/gametext.py +0 -0
  22. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/gsm.py +0 -0
  23. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/model.py +0 -0
  24. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/notification.py +0 -0
  25. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/obs.py +0 -0
  26. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ocr/__init__.py +0 -0
  27. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
  28. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
  29. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
  30. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
  31. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/config.py +0 -0
  32. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
  33. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
  34. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/run.py +0 -0
  35. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
  36. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/package.py +0 -0
  37. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/text_log.py +0 -0
  38. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/util.py +0 -0
  39. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/vad/__init__.py +0 -0
  40. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/vad/silero_trim.py +0 -0
  41. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/vad/vosk_helper.py +0 -0
  42. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/vad/whisper_helper.py +0 -0
  43. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/__init__.py +0 -0
  44. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/__init__.py +0 -0
  45. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
  46. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
  47. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/favicon.ico +0 -0
  48. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/favicon.svg +0 -0
  49. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/site.webmanifest +0 -0
  50. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/style.css +0 -0
  51. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
  52. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
  53. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/templates/__init__.py +0 -0
  54. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
  55. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/templates/utility.html +0 -0
  56. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner/web/texthooking_page.py +0 -0
  57. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
  58. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
  59. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
  60. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner.egg-info/requires.txt +0 -0
  61. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/GameSentenceMiner.egg-info/top_level.txt +0 -0
  62. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/LICENSE +0 -0
  63. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/README.md +0 -0
  64. {gamesentenceminer-2.8.15 → gamesentenceminer-2.8.17}/setup.cfg +0 -0
@@ -1171,6 +1171,8 @@ class ConfigApp:
1171
1171
  def download_and_install_ocen(self):
1172
1172
  confirm = messagebox.askyesno("Download OcenAudio?", "Would you like to download and install OcenAudio? It is a free audio editing software that works extremely well with GSM.")
1173
1173
  if confirm:
1174
+ self.external_tool.delete(0, tk.END)
1175
+ self.external_tool.insert(0, "Downloading OcenAudio...")
1174
1176
  exe_path = download_ocenaudio_if_needed()
1175
1177
  messagebox.showinfo("OcenAudio Downloaded", f"OcenAudio has been downloaded and installed. You can find it at {exe_path}.")
1176
1178
  self.external_tool.delete(0, tk.END)
@@ -151,7 +151,7 @@ def download_ffmpeg_if_needed():
151
151
  logger.info(f"FFmpeg extracted to {ffmpeg_dir}.")
152
152
 
153
153
  def download_ocenaudio_if_needed():
154
- ocenaudio_dir = os.path.join(get_app_directory(), 'ocenaudio', 'ocenaudio')
154
+ ocenaudio_dir = os.path.join(get_app_directory(), 'ocenaudio')
155
155
  ocenaudio_exe_path = os.path.join(ocenaudio_dir, 'ocenaudio.exe')
156
156
  if os.path.exists(ocenaudio_dir) and os.path.exists(ocenaudio_exe_path):
157
157
  logger.info(f"Ocenaudio already installed at {ocenaudio_dir}.")
@@ -173,7 +173,7 @@ def download_ocenaudio_if_needed():
173
173
 
174
174
  os.makedirs(ocenaudio_dir, exist_ok=True)
175
175
  with zipfile.ZipFile(ocenaudio_archive, 'r') as zip_ref:
176
- zip_ref.extractall(ocenaudio_dir)
176
+ zip_ref.extractall(get_app_directory())
177
177
 
178
178
  logger.info(f"Ocenaudio extracted to {ocenaudio_dir}.")
179
179
  return ocenaudio_exe_path
@@ -713,6 +713,10 @@ class ScreenSelector:
713
713
  canvas.bind('<B1-Motion>', on_drag) # Left drag
714
714
  canvas.bind('<ButtonRelease-1>', on_release) # Left click release
715
715
  canvas.bind('<Button-3>', on_right_click) # Right click delete
716
+ canvas.bind('<Control-s>', self.save_rects) # Save
717
+ canvas.bind('<Control-z>', self.undo_last_rect) # Undo
718
+ canvas.bind('<Control-y>', self.redo_last_rect) # Redo
719
+
716
720
 
717
721
  # --- Bind Global Actions to the window (apply to all windows) ---
718
722
  # Use lambdas to ensure the correct toggle function is called if needed,
@@ -209,7 +209,7 @@ def do_second_ocr(ocr1_text, rectangle_index, time, img):
209
209
  global twopassocr, ocr2, last_ocr1_results, last_ocr2_results
210
210
  last_result = ([], -1)
211
211
  try:
212
- orig_text, text = run.process_and_write_results(img, None, None, last_result, TextFiltering(),
212
+ orig_text, text = run.process_and_write_results(img, None, None, None, None,
213
213
  engine=ocr2)
214
214
  previous_ocr2_text = last_ocr2_results[rectangle_index]
215
215
  if fuzz.ratio(previous_ocr2_text, text) >= 80:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.8.15
3
+ Version: 2.8.17
4
4
  Summary: A tool for mining sentences from games. Update: Multi-Line Mining! Fixed!
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.8.15
3
+ Version: 2.8.17
4
4
  Summary: A tool for mining sentences from games. Update: Multi-Line Mining! Fixed!
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.8.15"
10
+ version = "2.8.17"
11
11
  description = "A tool for mining sentences from games. Update: Multi-Line Mining! Fixed!"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"