talks-reducer 0.6.1__tar.gz → 0.7.0__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 (44) hide show
  1. {talks_reducer-0.6.1/talks_reducer.egg-info → talks_reducer-0.7.0}/PKG-INFO +23 -13
  2. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/README.md +22 -12
  3. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/__about__.py +1 -1
  4. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/cli.py +9 -3
  5. talks_reducer-0.6.1/talks_reducer/gui.py → talks_reducer-0.7.0/talks_reducer/gui/__init__.py +384 -1216
  6. talks_reducer-0.7.0/talks_reducer/gui/__main__.py +8 -0
  7. talks_reducer-0.7.0/talks_reducer/gui/discovery.py +126 -0
  8. talks_reducer-0.7.0/talks_reducer/gui/layout.py +526 -0
  9. talks_reducer-0.7.0/talks_reducer/gui/preferences.py +113 -0
  10. talks_reducer-0.7.0/talks_reducer/gui/remote.py +356 -0
  11. talks_reducer-0.7.0/talks_reducer/gui/theme.py +269 -0
  12. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/models.py +1 -1
  13. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/pipeline.py +142 -92
  14. talks_reducer-0.7.0/talks_reducer/resources/__init__.py +0 -0
  15. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/server.py +60 -6
  16. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/server_tray.py +4 -6
  17. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/service_client.py +56 -4
  18. {talks_reducer-0.6.1 → talks_reducer-0.7.0/talks_reducer.egg-info}/PKG-INFO +23 -13
  19. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer.egg-info/SOURCES.txt +11 -1
  20. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_cli.py +6 -3
  21. talks_reducer-0.7.0/tests/test_gui_preferences.py +69 -0
  22. talks_reducer-0.7.0/tests/test_gui_remote.py +171 -0
  23. talks_reducer-0.7.0/tests/test_gui_theme.py +100 -0
  24. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_service_client.py +35 -0
  25. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/LICENSE +0 -0
  26. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/pyproject.toml +0 -0
  27. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/setup.cfg +0 -0
  28. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/__init__.py +0 -0
  29. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/__main__.py +0 -0
  30. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/audio.py +0 -0
  31. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/chunks.py +0 -0
  32. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/discovery.py +0 -0
  33. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/ffmpeg.py +0 -0
  34. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/progress.py +0 -0
  35. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer/version_utils.py +0 -0
  36. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer.egg-info/dependency_links.txt +0 -0
  37. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer.egg-info/entry_points.txt +0 -0
  38. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer.egg-info/requires.txt +0 -0
  39. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/talks_reducer.egg-info/top_level.txt +0 -0
  40. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_audio.py +0 -0
  41. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_discovery.py +0 -0
  42. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_gui_summary_parsing.py +0 -0
  43. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_pipeline_service.py +0 -0
  44. {talks_reducer-0.6.1 → talks_reducer-0.7.0}/tests/test_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: talks-reducer
3
- Version: 0.6.1
3
+ Version: 0.7.0
4
4
  Summary: CLI for speeding up long-form talks by removing silence
5
5
  Author: Talks Reducer Maintainers
6
6
  License-Expression: MIT
@@ -26,7 +26,8 @@ Requires-Dist: bump-my-version>=0.5.0; extra == "dev"
26
26
  Requires-Dist: pyinstaller>=6.4.0; extra == "dev"
27
27
  Dynamic: license-file
28
28
 
29
- # Talks Reducer
29
+ # Talks Reducer
30
+
30
31
  Talks Reducer shortens long-form presentations by removing silent gaps and optionally re-encoding them to smaller files. The
31
32
  project was renamed from **jumpcutter** to emphasize its focus on conference talks and screencasts.
32
33
 
@@ -47,10 +48,10 @@ Go to the [releases page](https://github.com/popstas/talks-reducer/releases) and
47
48
  - **Windows** — `talks-reducer-windows-0.4.0.zip`
48
49
  - **macOS** — `talks-reducer.app.zip`
49
50
 
50
- > **Troubleshooting:** If launching the bundle (or running `python talks_reducer/gui.py`) prints `macOS 26 (2600) or later required, have instead 16 (1600)!`, make sure you're using a Python build that ships a modern Tk. The stock [python.org 3.13.5 installer](https://www.python.org/downloads/release/python-3135/) includes Tk 8.6 and has been verified to work.
51
+ > **Troubleshooting:** If launching the bundle (or running `python -m talks_reducer.gui`) prints `macOS 26 (2600) or later required, have instead 16 (1600)!`, make sure you're using a Python build that ships a modern Tk. The stock [python.org 3.13.5 installer](https://www.python.org/downloads/release/python-3135/) includes Tk 8.6 and has been verified to work.
51
52
 
52
- When extracted on Windows the bundled `talks-reducer.exe` behaves like the
53
- `python talks_reducer/gui.py` entry point: double-clicking it launches the GUI
53
+ When extracted on Windows the bundled `talks-reducer.exe` behaves like running
54
+ `python -m talks_reducer.gui`: double-clicking it launches the GUI
54
55
  and passing a video file path (for example via *Open with…* or drag-and-drop
55
56
  onto the executable) automatically queues that recording for processing.
56
57
 
@@ -80,6 +81,10 @@ talks-reducer --url http://localhost:9005 demo.mp4
80
81
  talks-reducer --host 192.168.1.42 demo.mp4
81
82
  ```
82
83
 
84
+ Remote jobs respect the same timing controls as the local CLI. Provide
85
+ `--silent-threshold`, `--sounded-speed`, or `--silent-speed` to tweak how the
86
+ server trims and accelerates segments without falling back to local mode.
87
+
83
88
  Want to see progress as the remote server works? Add `--server-stream` so the
84
89
  CLI prints live progress bars and log lines while you wait for the download.
85
90
 
@@ -98,6 +103,10 @@ Prefer a lightweight browser interface? Launch the Gradio-powered simple mode wi
98
103
  talks-reducer server
99
104
  ```
100
105
 
106
+ The browser UI mirrors the CLI timing controls with sliders for the silent
107
+ threshold and playback speeds, so you can tune exports without leaving the
108
+ remote workflow.
109
+
101
110
  Want the server to live in your system tray instead of a terminal window? Use:
102
111
 
103
112
  ```sh
@@ -116,14 +125,15 @@ running Talks Reducer version and includes an **Open GUI**
116
125
  item (also triggered by double-clicking the icon) that launches the desktop
117
126
  Talks Reducer interface alongside an **Open WebUI** entry that opens the Gradio
118
127
  page in your browser. Close the GUI window to return to the tray without
119
- stopping the server. Launching the GUI directly now starts the tray-backed
120
- server in the background before the window appears so the icon stays available
121
- after you close it; add `--no-tray` when running `python -m talks_reducer.gui`
122
- if you prefer to skip the background server entirely. The tray command itself
123
- never launches the GUI automatically, so use the menu item (or rerun the GUI
124
- with `--no-tray`) whenever you want to reopen it. The tray no longer opens a
125
- browser automatically—pass `--open-browser` if you prefer the web page to
126
- launch as soon as the server is ready.
128
+ stopping the server. Launch the tray explicitly whenever you need it—either run
129
+ `talks-reducer server-tray` directly or start the GUI with
130
+ `python -m talks_reducer.gui --server` to boot the tray-managed server instead
131
+ of the desktop window. The GUI now runs standalone and no longer spawns the tray
132
+ automatically; the deprecated `--no-tray` flag is ignored for compatibility.
133
+ The tray command itself never launches the GUI automatically, so use the menu
134
+ item (or relaunch the GUI separately) whenever you want to reopen it. The tray
135
+ no longer opens a browser automatically—pass `--open-browser` if you prefer the
136
+ web page to launch as soon as the server is ready.
127
137
 
128
138
  This opens a local web page featuring a drag-and-drop upload zone, a **Small video** checkbox that mirrors the CLI preset, a live
129
139
  progress indicator, and automatic previews of the processed output. The page header and browser tab title include the current
@@ -1,4 +1,5 @@
1
- # Talks Reducer
1
+ # Talks Reducer
2
+
2
3
  Talks Reducer shortens long-form presentations by removing silent gaps and optionally re-encoding them to smaller files. The
3
4
  project was renamed from **jumpcutter** to emphasize its focus on conference talks and screencasts.
4
5
 
@@ -19,10 +20,10 @@ Go to the [releases page](https://github.com/popstas/talks-reducer/releases) and
19
20
  - **Windows** — `talks-reducer-windows-0.4.0.zip`
20
21
  - **macOS** — `talks-reducer.app.zip`
21
22
 
22
- > **Troubleshooting:** If launching the bundle (or running `python talks_reducer/gui.py`) prints `macOS 26 (2600) or later required, have instead 16 (1600)!`, make sure you're using a Python build that ships a modern Tk. The stock [python.org 3.13.5 installer](https://www.python.org/downloads/release/python-3135/) includes Tk 8.6 and has been verified to work.
23
+ > **Troubleshooting:** If launching the bundle (or running `python -m talks_reducer.gui`) prints `macOS 26 (2600) or later required, have instead 16 (1600)!`, make sure you're using a Python build that ships a modern Tk. The stock [python.org 3.13.5 installer](https://www.python.org/downloads/release/python-3135/) includes Tk 8.6 and has been verified to work.
23
24
 
24
- When extracted on Windows the bundled `talks-reducer.exe` behaves like the
25
- `python talks_reducer/gui.py` entry point: double-clicking it launches the GUI
25
+ When extracted on Windows the bundled `talks-reducer.exe` behaves like running
26
+ `python -m talks_reducer.gui`: double-clicking it launches the GUI
26
27
  and passing a video file path (for example via *Open with…* or drag-and-drop
27
28
  onto the executable) automatically queues that recording for processing.
28
29
 
@@ -52,6 +53,10 @@ talks-reducer --url http://localhost:9005 demo.mp4
52
53
  talks-reducer --host 192.168.1.42 demo.mp4
53
54
  ```
54
55
 
56
+ Remote jobs respect the same timing controls as the local CLI. Provide
57
+ `--silent-threshold`, `--sounded-speed`, or `--silent-speed` to tweak how the
58
+ server trims and accelerates segments without falling back to local mode.
59
+
55
60
  Want to see progress as the remote server works? Add `--server-stream` so the
56
61
  CLI prints live progress bars and log lines while you wait for the download.
57
62
 
@@ -70,6 +75,10 @@ Prefer a lightweight browser interface? Launch the Gradio-powered simple mode wi
70
75
  talks-reducer server
71
76
  ```
72
77
 
78
+ The browser UI mirrors the CLI timing controls with sliders for the silent
79
+ threshold and playback speeds, so you can tune exports without leaving the
80
+ remote workflow.
81
+
73
82
  Want the server to live in your system tray instead of a terminal window? Use:
74
83
 
75
84
  ```sh
@@ -88,14 +97,15 @@ running Talks Reducer version and includes an **Open GUI**
88
97
  item (also triggered by double-clicking the icon) that launches the desktop
89
98
  Talks Reducer interface alongside an **Open WebUI** entry that opens the Gradio
90
99
  page in your browser. Close the GUI window to return to the tray without
91
- stopping the server. Launching the GUI directly now starts the tray-backed
92
- server in the background before the window appears so the icon stays available
93
- after you close it; add `--no-tray` when running `python -m talks_reducer.gui`
94
- if you prefer to skip the background server entirely. The tray command itself
95
- never launches the GUI automatically, so use the menu item (or rerun the GUI
96
- with `--no-tray`) whenever you want to reopen it. The tray no longer opens a
97
- browser automatically—pass `--open-browser` if you prefer the web page to
98
- launch as soon as the server is ready.
100
+ stopping the server. Launch the tray explicitly whenever you need it—either run
101
+ `talks-reducer server-tray` directly or start the GUI with
102
+ `python -m talks_reducer.gui --server` to boot the tray-managed server instead
103
+ of the desktop window. The GUI now runs standalone and no longer spawns the tray
104
+ automatically; the deprecated `--no-tray` flag is ignored for compatibility.
105
+ The tray command itself never launches the GUI automatically, so use the menu
106
+ item (or relaunch the GUI separately) whenever you want to reopen it. The tray
107
+ no longer opens a browser automatically—pass `--open-browser` if you prefer the
108
+ web page to launch as soon as the server is ready.
99
109
 
100
110
  This opens a local web page featuring a drag-and-drop upload zone, a **Small video** checkbox that mirrors the CLI preset, a live
101
111
  progress indicator, and automatic previews of the processed output. The page header and browser tab title include the current
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.6.1"
5
+ __version__ = "0.7.0"
@@ -169,11 +169,16 @@ def _process_via_server(
169
169
  file=sys.stderr,
170
170
  )
171
171
 
172
+ remote_option_values: Dict[str, float] = {}
173
+ if parsed_args.silent_threshold is not None:
174
+ remote_option_values["silent_threshold"] = float(parsed_args.silent_threshold)
175
+ if parsed_args.silent_speed is not None:
176
+ remote_option_values["silent_speed"] = float(parsed_args.silent_speed)
177
+ if parsed_args.sounded_speed is not None:
178
+ remote_option_values["sounded_speed"] = float(parsed_args.sounded_speed)
179
+
172
180
  unsupported_options = []
173
181
  for name in (
174
- "silent_threshold",
175
- "silent_speed",
176
- "sounded_speed",
177
182
  "frame_spreadage",
178
183
  "sample_rate",
179
184
  "temp_folder",
@@ -231,6 +236,7 @@ def _process_via_server(
231
236
  output_path=output_override,
232
237
  server_url=server_url,
233
238
  small=bool(parsed_args.small),
239
+ **remote_option_values,
234
240
  log_callback=_stream_server_log,
235
241
  stream_updates=stream_updates,
236
242
  progress_callback=_stream_progress if stream_updates else None,