GameSentenceMiner 2.8.18__tar.gz → 2.8.20__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.
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/config_gui.py +19 -16
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/configuration.py +1 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/PKG-INFO +1 -1
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/pyproject.toml +1 -1
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ai/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ai/ai_prompting.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/anki.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/communication/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/communication/send.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/communication/websocket.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/Untitled_json.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/download_tools.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/oneocr_dl.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/electron_config.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ffmpeg.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/gametext.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/gsm.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/model.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/notification.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/obs.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/config.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/run.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/package.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/text_log.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/util.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/vad/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/vad/silero_trim.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/vad/vosk_helper.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/vad/whisper_helper.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/favicon.ico +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/favicon.svg +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/site.webmanifest +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/style.css +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/templates/__init__.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/templates/utility.html +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/texthooking_page.py +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/requires.txt +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/top_level.txt +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/LICENSE +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/README.md +0 -0
- {gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/setup.cfg +0 -0
@@ -166,7 +166,7 @@ class ConfigApp:
|
|
166
166
|
extension=self.audio_extension.get(),
|
167
167
|
beginning_offset=float(self.beginning_offset.get()),
|
168
168
|
end_offset=float(self.end_offset.get()),
|
169
|
-
ffmpeg_reencode_options=self.
|
169
|
+
ffmpeg_reencode_options=self.audio_ffmpeg_reencode_options.get(),
|
170
170
|
external_tool = self.external_tool.get(),
|
171
171
|
anki_media_collection=self.anki_media_collection.get(),
|
172
172
|
external_tool_enabled=self.external_tool_enabled.get(),
|
@@ -221,6 +221,9 @@ class ConfigApp:
|
|
221
221
|
)
|
222
222
|
)
|
223
223
|
|
224
|
+
if self.ffmpeg_audio_preset_options.get() == "Custom":
|
225
|
+
config.audio.custom_encode_settings = self.audio_ffmpeg_reencode_options.get()
|
226
|
+
|
224
227
|
if config.features.backfill_audio and config.features.full_auto:
|
225
228
|
messagebox.showerror("Configuration Error", "Cannot have Full Auto and Backfill mode on at the same time! Note: Backfill is a very niche workflow.")
|
226
229
|
return
|
@@ -315,7 +318,7 @@ class ConfigApp:
|
|
315
318
|
self.add_label_and_increment_row(general_frame, "Enable to allow GSM to see clipboard for text and line timing.",
|
316
319
|
row=self.current_row, column=2)
|
317
320
|
|
318
|
-
ttk.Label(general_frame, text="Allow Both:").grid(row=self.current_row, column=0, sticky='W')
|
321
|
+
ttk.Label(general_frame, text="Allow Both Simultaneously:").grid(row=self.current_row, column=0, sticky='W')
|
319
322
|
self.use_both_clipboard_and_websocket = tk.BooleanVar(value=self.settings.general.use_both_clipboard_and_websocket)
|
320
323
|
ttk.Checkbutton(general_frame, variable=self.use_both_clipboard_and_websocket).grid(row=self.current_row, column=1,
|
321
324
|
sticky='W')
|
@@ -789,13 +792,13 @@ class ConfigApp:
|
|
789
792
|
#
|
790
793
|
|
791
794
|
def update_audio_ffmpeg_settings(self, event):
|
792
|
-
selected_option = self.
|
793
|
-
if selected_option in self.
|
794
|
-
self.
|
795
|
-
self.
|
795
|
+
selected_option = self.ffmpeg_audio_preset_options.get()
|
796
|
+
if selected_option in self.ffmpeg_audio_preset_options_map:
|
797
|
+
self.audio_ffmpeg_reencode_options.delete(0, tk.END)
|
798
|
+
self.audio_ffmpeg_reencode_options.insert(0, self.ffmpeg_audio_preset_options_map[selected_option])
|
796
799
|
else:
|
797
|
-
self.
|
798
|
-
self.
|
800
|
+
self.audio_ffmpeg_reencode_options.delete(0, tk.END)
|
801
|
+
self.audio_ffmpeg_reencode_options.insert(0, "")
|
799
802
|
|
800
803
|
@new_tab
|
801
804
|
def create_audio_tab(self):
|
@@ -830,29 +833,29 @@ class ConfigApp:
|
|
830
833
|
ttk.Label(audio_frame, text="FFmpeg Preset Options:").grid(row=self.current_row, column=0, sticky='W')
|
831
834
|
|
832
835
|
# Define display names and their corresponding values
|
833
|
-
self.
|
836
|
+
self.ffmpeg_audio_preset_options_map = {
|
834
837
|
"No Re-encode" : "",
|
835
838
|
"Simple loudness normalization (Simplest, Start Here)": "-c:a libopus -f opus -af \"loudnorm=I=-23:LRA=7:TP=-2\"",
|
836
839
|
"Downmix to mono with normalization (Recommended(?))": "-c:a libopus -ac 1 -f opus -application voip -apply_phase_inv 0 -af \"loudnorm=I=-23:dual_mono=true\"",
|
837
840
|
"Downmix to mono, 30kbps, normalized (Optimal(?))": "-c:a libopus -b:a 30k -ac 1 -f opus -application voip -apply_phase_inv 0 -af \"loudnorm=I=-23:dual_mono=true\"",
|
838
|
-
|
841
|
+
"Custom": get_config().audio.custom_encode_settings,
|
839
842
|
}
|
840
843
|
|
841
844
|
# Create a Combobox with display names
|
842
|
-
self.
|
845
|
+
self.ffmpeg_audio_preset_options = ttk.Combobox(audio_frame, values=list(self.ffmpeg_audio_preset_options_map.keys()), width=50)
|
843
846
|
# self.ffmpeg_preset_options.set("Downmix to mono with normalization") # Set default display name
|
844
|
-
self.
|
847
|
+
self.ffmpeg_audio_preset_options.grid(row=self.current_row, column=1)
|
845
848
|
|
846
849
|
# Bind selection to update settings
|
847
|
-
self.
|
850
|
+
self.ffmpeg_audio_preset_options.bind("<<ComboboxSelected>>", self.update_audio_ffmpeg_settings)
|
848
851
|
|
849
852
|
self.add_label_and_increment_row(audio_frame, "Select a preset FFmpeg option for re-encoding screenshots.",
|
850
853
|
row=self.current_row, column=2)
|
851
854
|
|
852
855
|
ttk.Label(audio_frame, text="FFmpeg Reencode Options:").grid(row=self.current_row, column=0, sticky='W')
|
853
|
-
self.
|
854
|
-
self.
|
855
|
-
self.
|
856
|
+
self.audio_ffmpeg_reencode_options = ttk.Entry(audio_frame, width=50)
|
857
|
+
self.audio_ffmpeg_reencode_options.insert(0, self.settings.audio.ffmpeg_reencode_options)
|
858
|
+
self.audio_ffmpeg_reencode_options.grid(row=self.current_row, column=1)
|
856
859
|
self.add_label_and_increment_row(audio_frame, "Custom FFmpeg options for re-encoding audio files.",
|
857
860
|
row=self.current_row, column=2)
|
858
861
|
|
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|
7
7
|
|
8
8
|
[project]
|
9
9
|
name = "GameSentenceMiner"
|
10
|
-
version = "2.8.
|
10
|
+
version = "2.8.20"
|
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"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/communication/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/communication/send.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/communication/websocket.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/Untitled_json.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/download_tools.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/downloader/oneocr_dl.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/gsm_ocr_config.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/ocr/owocr_area_selector.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/__main__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/owocr/owocr/config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/vad/whisper_helper.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/__init__.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/favicon-96x96.png
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/favicon.ico
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/favicon.svg
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/site.webmanifest
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/static/style.css
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/templates/__init__.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/templates/utility.html
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner/web/texthooking_page.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/entry_points.txt
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/requires.txt
RENAMED
File without changes
|
{gamesentenceminer-2.8.18 → gamesentenceminer-2.8.20}/GameSentenceMiner.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|