talks-reducer 0.6.3__tar.gz → 0.7.1__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.
- {talks_reducer-0.6.3/talks_reducer.egg-info → talks_reducer-0.7.1}/PKG-INFO +14 -5
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/README.md +13 -4
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/__about__.py +1 -1
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/cli.py +9 -3
- talks_reducer-0.6.3/talks_reducer/gui.py → talks_reducer-0.7.1/talks_reducer/gui/__init__.py +375 -1192
- talks_reducer-0.7.1/talks_reducer/gui/__main__.py +8 -0
- talks_reducer-0.7.1/talks_reducer/gui/discovery.py +126 -0
- talks_reducer-0.7.1/talks_reducer/gui/layout.py +526 -0
- talks_reducer-0.7.1/talks_reducer/gui/preferences.py +113 -0
- talks_reducer-0.7.1/talks_reducer/gui/remote.py +356 -0
- talks_reducer-0.7.1/talks_reducer/gui/theme.py +269 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/models.py +1 -1
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/pipeline.py +142 -92
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/server.py +52 -4
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/service_client.py +56 -4
- {talks_reducer-0.6.3 → talks_reducer-0.7.1/talks_reducer.egg-info}/PKG-INFO +14 -5
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer.egg-info/SOURCES.txt +10 -1
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_cli.py +6 -3
- talks_reducer-0.7.1/tests/test_gui_preferences.py +69 -0
- talks_reducer-0.7.1/tests/test_gui_remote.py +171 -0
- talks_reducer-0.7.1/tests/test_gui_theme.py +100 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_service_client.py +35 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/LICENSE +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/pyproject.toml +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/setup.cfg +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/__init__.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/__main__.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/audio.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/chunks.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/discovery.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/ffmpeg.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/progress.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/resources/__init__.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/server_tray.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer/version_utils.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer.egg-info/dependency_links.txt +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer.egg-info/entry_points.txt +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer.egg-info/requires.txt +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/talks_reducer.egg-info/top_level.txt +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_audio.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_discovery.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_gui_summary_parsing.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_pipeline_service.py +0 -0
- {talks_reducer-0.6.3 → talks_reducer-0.7.1}/tests/test_server.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: talks-reducer
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.7.1
|
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
|
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
|
53
|
-
`python talks_reducer
|
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
|
@@ -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
|
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
|
25
|
-
`python talks_reducer
|
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
|
@@ -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,
|