GameSentenceMiner 2.14.3__tar.gz → 2.14.4__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 (81) hide show
  1. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ai/ai_prompting.py +5 -4
  2. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ocr/owocr_area_selector.py +17 -0
  3. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/ocr.py +1 -0
  4. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
  5. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/PKG-INFO +1 -1
  6. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/pyproject.toml +1 -1
  7. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/__init__.py +0 -0
  8. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ai/__init__.py +0 -0
  9. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/anki.py +0 -0
  10. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/__init__.py +0 -0
  11. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/icon.png +0 -0
  12. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/icon128.png +0 -0
  13. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/icon256.png +0 -0
  14. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/icon32.png +0 -0
  15. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/icon512.png +0 -0
  16. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/icon64.png +0 -0
  17. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/assets/pickaxe.png +0 -0
  18. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/config_gui.py +0 -0
  19. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/gametext.py +0 -0
  20. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/gsm.py +0 -0
  21. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/locales/en_us.json +0 -0
  22. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/locales/ja_jp.json +0 -0
  23. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/locales/zh_cn.json +0 -0
  24. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/obs.py +0 -0
  25. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ocr/__init__.py +0 -0
  26. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
  27. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
  28. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
  29. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/ocr/ss_picker.py +0 -0
  30. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
  31. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
  32. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/config.py +0 -0
  33. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
  34. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/run.py +0 -0
  35. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
  36. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/tools/__init__.py +0 -0
  37. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/tools/audio_offset_selector.py +0 -0
  38. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/tools/ss_selector.py +0 -0
  39. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/tools/window_transparency.py +0 -0
  40. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/__init__.py +0 -0
  41. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/communication/__init__.py +0 -0
  42. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/communication/send.py +0 -0
  43. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/communication/websocket.py +0 -0
  44. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/configuration.py +0 -0
  45. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/db.py +0 -0
  46. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/downloader/Untitled_json.py +0 -0
  47. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/downloader/__init__.py +0 -0
  48. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/downloader/download_tools.py +0 -0
  49. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/downloader/oneocr_dl.py +0 -0
  50. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/electron_config.py +0 -0
  51. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/ffmpeg.py +0 -0
  52. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/get_overlay_coords.py +0 -0
  53. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/gsm_utils.py +0 -0
  54. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/model.py +0 -0
  55. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/notification.py +0 -0
  56. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/util/text_log.py +0 -0
  57. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/vad.py +0 -0
  58. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/__init__.py +0 -0
  59. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/service.py +0 -0
  60. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/__init__.py +0 -0
  61. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
  62. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
  63. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/favicon.ico +0 -0
  64. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/favicon.svg +0 -0
  65. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/site.webmanifest +0 -0
  66. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/style.css +0 -0
  67. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
  68. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
  69. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/templates/__init__.py +0 -0
  70. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/templates/index.html +0 -0
  71. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
  72. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/templates/utility.html +0 -0
  73. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/web/texthooking_page.py +0 -0
  74. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner/wip/__init___.py +0 -0
  75. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
  76. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
  77. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
  78. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner.egg-info/requires.txt +0 -0
  79. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/GameSentenceMiner.egg-info/top_level.txt +0 -0
  80. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/LICENSE +0 -0
  81. {gamesentenceminer-2.14.3 → gamesentenceminer-2.14.4}/setup.cfg +0 -0
@@ -29,7 +29,8 @@ Translate ONLY the single line of game dialogue specified below into natural-sou
29
29
  **Output Requirements:**
30
30
  - Provide only the single, best {get_config().general.get_native_language_name()} translation.
31
31
  - Use expletives if they are natural for the context and enhance the translation's impact, but do not over-exaggerate.
32
- - Preserve all HTML tags present in the original text on their corresponding words in the translation.
32
+ - Carryover all HTML tags present in the original text to HTML tags surrounding their corresponding words in the translation. DO NOT CONVERT TO MARKDOWN.
33
+ - Maintain New Line Characters.
33
34
  - Do not include notes, alternatives, explanations, or any other surrounding text. Absolutely nothing but the translated line.
34
35
 
35
36
  **Line to Translate:**
@@ -166,7 +167,7 @@ class OpenAIManager(AIManager):
166
167
  ],
167
168
  temperature=0.3,
168
169
  max_tokens=4096,
169
- top_p=1,
170
+ top_p=0.9,
170
171
  n=1,
171
172
  stop=None,
172
173
  )
@@ -196,7 +197,7 @@ class GeminiAI(AIManager):
196
197
  self.generation_config = types.GenerateContentConfig(
197
198
  temperature=0.5,
198
199
  max_output_tokens=1024,
199
- top_p=1,
200
+ top_p=0.9,
200
201
  stop_sequences=None,
201
202
  safety_settings=[
202
203
  types.SafetySetting(category=types.HarmCategory.HARM_CATEGORY_HARASSMENT, threshold=types.HarmBlockThreshold.BLOCK_NONE),
@@ -297,7 +298,7 @@ ai_managers: dict[str, AIManager] = {}
297
298
  ai_manager: AIManager | None = None
298
299
  current_ai_config: Ai | None = None
299
300
 
300
- def get_ai_prompt_result(lines: List[GameLine], sentence: str, current_line: GameLine, game_title: str = "", force_refresh: bool = False) -> str:
301
+ def get_ai_prompt_result(lines: List[GameLine], sentence: str, current_line: GameLine, game_title: str = "", force_refresh: bool = False, start_index = -1, end_index = -1) -> str:
301
302
  global ai_manager, current_ai_config
302
303
  try:
303
304
  is_local_provider = get_config().ai.provider == AIType.OPENAI.value
@@ -368,6 +368,23 @@ class ScreenSelector:
368
368
  # Lower the rectangle so it's behind the text
369
369
  canvas.tag_lower(self.instructions_rect, self.instructions_overlay)
370
370
 
371
+ # Add hover effect: make rectangle transparent on mouse over
372
+ def on_motion(event):
373
+ # Check if mouse is over the rectangle
374
+ x, y = event.x, event.y
375
+ rect_bbox = canvas.bbox(self.instructions_rect)
376
+ if rect_bbox and rect_bbox[0] <= x <= rect_bbox[2] and rect_bbox[1] <= y <= y <= rect_bbox[3]:
377
+ # Set fill to more transparent using denser stipple
378
+ canvas.itemconfigure(self.instructions_rect, fill='#2B2B2B', stipple='gray12')
379
+ # Make text more transparent by changing its color to a lighter gray
380
+ canvas.itemconfigure(self.instructions_overlay, fill='#CCCCCC')
381
+ else:
382
+ # Restore solid fill and opaque text
383
+ canvas.itemconfigure(self.instructions_rect, fill='#2B2B2B', stipple='')
384
+ canvas.itemconfigure(self.instructions_overlay, fill='white')
385
+
386
+ canvas.bind('<Motion>', on_motion)
387
+
371
388
 
372
389
  def toggle_instructions(self, event=None):
373
390
  canvas = event.widget.winfo_toplevel().winfo_children()[0]
@@ -439,6 +439,7 @@ class GoogleLens:
439
439
 
440
440
  if skipped:
441
441
  logger.info(f"Skipped {len(skipped)} chars due to furigana filter sensitivity: {furigana_filter_sensitivity}")
442
+ logger.debug(f"Skipped chars: {''.join(skipped)}")
442
443
 
443
444
  # img.close()
444
445
  return x
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.14.3
3
+ Version: 2.14.4
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.14.3
3
+ Version: 2.14.4
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.14.3"
10
+ version = "2.14.4"
11
11
  description = "A tool for mining sentences from games. Update: Overlay?"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"